vf-site/README.md
2023-07-05 21:00:22 +02:00

88 lines
No EOL
2.3 KiB
Markdown

# VillaFleurie rental site
[![Netlify Status](https://api.netlify.com/api/v1/badges/aa5c29ee-eced-46dd-ad53-1e0822001364/deploy-status)](https://app.netlify.com/sites/villafleurie-site/deploys)
## How to use
You can build the site using the built-in static site generator included.
The entry point is located in the [main file](./lib/main.py). It should not be modified.
### Add a page
To add a page, create a `HTML` file in the `pages` directory.
Optionally, you can inject data in the template. To do so you should create a `TOML` file with the same name as the
template.
Any fields will become available in the template.
For instance the `index.toml` for `index.html` could contain the following fields:
```toml
name = "index"
template = "index.html"
```
### Layouts
You can use template inheritance. The layouts must be in the `pages/layouts` subdirectory.
### Configuration
The configuration file ([config.toml](./config.toml)) is mandatory and should resemble:
```toml
name = "VillaFleurie"
```
## Build site
You can generate the site by running:
```shell
python -m lib.main
```
### How to run the website
It will generate the final files in the [dist](./dist) folder.
You can run the output files using a simple python server:
```shell
cd dist && python -m http.server
```
## Deployment
You can then deploy the site on any platform supporting static sites (Netlify,…) or your own VPS.
## TODO
- [X] Create a base template for the header and footer
- [X] Build index page
- [X] Build room pages
- [x] T2
- [x] T3
- [X] Build contact pages
- [X] Use netlify form for the contact form
- [x] Deploy to VillaFleurie's domain
- [ ] Find attractions for landing page
- [x] Pick real reviews from AirBnB and Booking
- [x] Optimize images
- [x] Automate the file search
- [x] Extract data out of the template
- [ ] Create a 'all' key for data available in all templates
- [ ] Create a template for the rooms
- [ ] Build script before commit
- [ ] Lit parapluie, barbecue et machine à laver
- [x] Use rich instead of logger
- [ ] Add file watching mode
## Excluded
* The language switcher
## Built with
- [Jinja](https://jinja.palletsprojects.com/en/3.1.x/) - fast, expressive, extensible templating
engine
- [Netlify](https://www.netlify.com/) - Develop and deploy websites and apps in record time