{"id":18157120,"url":"https://github.com/behringer24/spell","last_synced_at":"2026-02-22T12:55:59.501Z","repository":{"id":258010072,"uuid":"873080879","full_name":"behringer24/spell","owner":"behringer24","description":"Smart Processing and Enhanced Lightweight Layout - Markdown to EPUB converter","archived":false,"fork":false,"pushed_at":"2025-04-06T10:52:39.000Z","size":278,"stargazers_count":2,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T11:29:18.271Z","etag":null,"topics":["converter","epub","epub2","epub3","markdown","markdown-to-epub"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/behringer24.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-15T15:10:02.000Z","updated_at":"2025-03-23T05:31:47.000Z","dependencies_parsed_at":"2024-10-24T23:37:23.882Z","dependency_job_id":"879aeeab-58f1-46b4-a120-d645a8a8b11c","html_url":"https://github.com/behringer24/spell","commit_stats":null,"previous_names":["behringer24/spell"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/behringer24%2Fspell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/behringer24%2Fspell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/behringer24%2Fspell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/behringer24%2Fspell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/behringer24","download_url":"https://codeload.github.com/behringer24/spell/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247583827,"owners_count":20962068,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["converter","epub","epub2","epub3","markdown","markdown-to-epub"],"created_at":"2024-11-02T06:05:23.965Z","updated_at":"2026-02-22T12:55:59.438Z","avatar_url":"https://github.com/behringer24.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# spell\nSmart Processing and Enhanced Lightweight Layout - Markdown to epub converter\n\n## Meaning:\n- Smart Processing: The project offers intelligent processing of Markdown files.\n- Processing: The conversion of Markdown to EPUB3 and the ability to use enhanced commands like includes.\n- Enhanced Layout: The generated EPUB files are well-structured and can be styled with templates.\n- Lightweight: The system's modularity and simplicity are key features.\n- Layout: The system ensures clean EPUB generation.\n\n## Why SPELL?\nSPELL evokes \"magic spells\" and therefore aligns well with the \"magical\" way your system extends Markdown files with additional commands and converts them into EPUB.\n\nIt's a short and memorable name that suggests the program is both flexible and easy to use, while offering powerful features.\n\n## Why SPELL as another tool\nI used asciidoctor, latex, Sigil and other tools to write books and ebooks. None of them really satified my needs for easy writing and nice looking results.\n\nlatex generates outstanding PDF files but is not good for generating ebooks and it is a behemoth - if I would aim for print that would still be my go-to-system.\n\nasciidoctor/asciidoc is a good system but lacks some basic features like language specific quote characters - and I am no big fan of ruby and having to install the whole setup - if I am no ruby dev it means a certain overhead to deal with this.\n\nSigil is a Windows UI WYSIWYG editor for epub files - a great tool, but not for me as an author to write longer books and where I want to focus on the contents.\n\nGo as programming language compiles to system specific binary executables and until now this means spell is only *one* file to download and run - and it is _fast_. Probably one day I will also provide msi installer packages for windows to make it even more simple to run it.\n\nAlso i want to expand the set of available commands to my (and hopefully many other) needs. And I would be glad to colaborate on this. If you find an elegant way to improve the architecture of spell (especially the parser I am unhappy with) or if you like to implement more commands, feel free to fork and send me the merge requests for your improvements.\n\n# Installation\n## Prebuild binaries\nThe project features an autobuild action for the different OS and architectures. You can download the files under [Releases](https://github.com/behringer24/spell/releases) and there under *Assets*.\n\n## Build from source\nDownload or checkout the files from the repo and build them with:\n```\ngo build .\n```\n\n# Usage\nYou find detailed documentation for the *spell* syntax in [the Github Wiki](https://github.com/behringer24/spell/wiki)\n## General usage help\nYou can get a general help by calling:\n```\n./spell.exe -h\n```\nYou will get a help overview over all command line parameters, like:\n```\nspell\nSmart Processing and Enhanced Lightweight Layout\n\nUsage: spell [-h] [-v] [-e] infile [outfile]\n\nFlags:\n-h, --help               Show this help text\n-v, --version            Show version information\n\nOptions:\n-e, --epub               Generate epub version 2 or 3 (Default: 3)\n\nPositional arguments:\ninfile                   File to read from\noutfile                  File to write to (Default: ./ebook.epub)\n```\nThe simplest way to call *spell* is to give it a Markdown file:\n```\n./spell.exe example.md\n```\nThis will make spell parse the file `example.md` and generate a file `ebook.epub` (default value for the output file) in the same folder.\n\n## Version information\nTo check for the currently installed version:\n```\n./spell.exe -v\n```\nYou will get a version number, like:\n```\nSPELL version: v0.0.2\n```\n\n## Example\nYou find an example-folder in this repo. Download all files and compile them with:\n```\n./spell.exe example\n```\nThe example shows a lot of the built in features of *spell*.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbehringer24%2Fspell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbehringer24%2Fspell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbehringer24%2Fspell/lists"}