- Runik originally started as a webapp but I rewrote it as a desktop app for performance and hosting cost reasons. Working with the Wails framework has been great coming from a web background.
- There’s no web scraping under the hood — runik uses the wiki’s public API to fetch content.
- The biggest challenge has been parsing content itself. Content varies in quality and the markup can be inconsistent. There wasn’t really an off-the-shelf wikitext parser for Go, so I took it as a challenge to write my own (still incomplete) wikitext parser.
- Kindle support, despite requiring proprietary software (kindlegen) to compile a valid dictionary, was surprisingly easier to implement than kobo support. Kobo requires the words to be organized into a trie and encrypted. Fortunately, there's a great tool called dictutil (https://github.com/pgaskin/dictutil) that handles most of that! Kobo also doesn’t allow for custom dictionary names, hence the awkward dicthtml-[r] prefix if you use a kobo.
Over the next year I’m looking to, improve parsing, include definition formatting options, and add support for more devices.
- Runik originally started as a webapp but I rewrote it as a desktop app for performance and hosting cost reasons. Working with the Wails framework has been great coming from a web background.
- There’s no web scraping under the hood — runik uses the wiki’s public API to fetch content.
- The biggest challenge has been parsing content itself. Content varies in quality and the markup can be inconsistent. There wasn’t really an off-the-shelf wikitext parser for Go, so I took it as a challenge to write my own (still incomplete) wikitext parser.
- Kindle support, despite requiring proprietary software (kindlegen) to compile a valid dictionary, was surprisingly easier to implement than kobo support. Kobo requires the words to be organized into a trie and encrypted. Fortunately, there's a great tool called dictutil (https://github.com/pgaskin/dictutil) that handles most of that! Kobo also doesn’t allow for custom dictionary names, hence the awkward dicthtml-[r] prefix if you use a kobo.
Over the next year I’m looking to, improve parsing, include definition formatting options, and add support for more devices.