gmirator/README.md
2023-09-11 22:49:00 +02:00

72 lines
2.1 KiB
Markdown

# Gmirator
This tool was made so I could write my content only in `gmi` and publish both a
gemini capsule and a website.
For now, this is very rudimentary and things are bound to change... and break from
version to version.
## Features
- generates HTML from gemtext
- can synchronise your files with your server using rsync
## Notes on usage
Good practice for gemini dictates that we don't use multiple `h1` titles in one page
and for that reason, the last (and therefore the first) `h1` title encountered will
be used as the title of the HTML page.
## TODO
- [X] concatenate header + gmi2html + footer
- [ ] allow some special characters to start a `<p>`
- like the `*` for emphasis or `~~` for a strikethrough
- [X] write the `gen_gmi` function
- [X] make the line "---\n" of the footer only present in the code, not in the footer
file
- [X] make a config file for things like
- certain variables should be made `CONSTANT` in the `__init__.py`
- [X] also update the "/gemlog/index.gmi" with the list of articles
- [X] write the sync features
- [X] test the `gen gmi` and `gen html` features
- [ ] write tests for it
- [ ] move config file to `~/.config` with placeholder values
- [X] check for a config file in `~/.config`
- [X] maybe save the old Bash script somewhere for posterity ?
- [X] reorganise the directory where the content is
- [X] replace `print`s with `logging`
- [ ] make a call graph
- [ ] rewrite `process_file` to make it easier to test
## My setup
My current folder structure for my capsule+website looks something like this:
```
myinternet
├── assets
│ ├── favicon.ico
│ └── style.css
├── content
│ ├── gemlog
│ │ └── index.gmi
│ ├── index.gmi
│ └── projects.gmi
├── gmi-helper
│ └── footer.gmi
├── html-helper
│ ├── footer-part.html
│ └── header-part.html
├── README.md
└── web
├── favicon.ico
├── gemlog
│ └── index.html
├── index.html
├── projects.html
└── style.css
```
This is only meant as a reference if my code isn't clear enough and had too much
implicits