1 comments

  • skoutXII 12 hours ago
    Some technical details for the curious:

    - 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.