tool for generating HTML from gemtext.
Find a file
2023-09-09 23:24:18 +02:00
src/gmirator fix process_list() function 2023-09-09 23:21:43 +02:00
tests add new, more legible tests 2023-09-09 23:24:18 +02:00
config.json change constants 2023-09-09 14:06:35 +02:00
LICENSE modify project structure 2023-09-05 22:48:20 +02:00
pyproject.toml modify project structure 2023-09-05 22:48:20 +02:00
README.md update README 2023-09-09 14:08:04 +02:00

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

  • concatenate header + gmi2html + footer
  • allow some special characters to start a <p>
    • like the * for emphasis or ~~ for a strikethrough
  • write the gen_gmi function
  • make the line "---\n" of the footer only present in the code, not in the footer file
  • [-] make a config file for things like
    • certain variables should be made CONSTANT in the __init__.py
  • also update the "/gemlog/index.gmi" with the list of articles
  • write the sync features
  • test the gen gmi and gen html features
    • write tests for it
  • move config file to ~/.config with placeholder values
    • check for a config file in ~/.config
  • maybe save the old Bash script somewhere for posterity ?
  • reorganise the directory where the content is

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