# 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 `
` - 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