72 lines
2.1 KiB
Markdown
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
|