SakeSaySo’s iOS and Android applications are designed to support custom content creation. Our content, including articles, stories, and dialogues, is structured in the SakeScript format. SakeScript bundles a manifest, a JSON file for content, and any optional assets like images into a zip archive, simplifying content portability. The app indexes the manifest, thus creating a searchable and engaging user experience.
Import Options:
- Community Repository: The simplest method to share your stories is via the community GitHub repository. This repository is pre-configured in the app, allowing your content to benefit from and contribute to the community. Merging a pull request into this repository triggers an automated GitHub action, updating the search index in the app.
- Custom Repository: Add a personal story library under
Settings -> Advanced Settings -> Add Repository. For details, visit Custom Repositories. - App Imports: In the app, navigate to the stories page, tap the
+ button at the top right, and select a SakeScript .zip file.
Export Method:
To share a story from the app, first open the story, then navigate to the story info page, and finally tap the share button.
Each SakeScript ZIP archive represents a single unit of learning content (e.g., a story, a news article, a lesson, or exercise). The archive includes:
Manifest File: A manifest.json file containing metadata about the learning content. Content Files: main.json and various files (text, images, audio) constituting the learning material. To create a SakeScript archive, you can use the zip cli. Ensure to include all necessary files (JSON files, images, etc.) in the archive. For example:
...
SakeScript flash card decks are much simpler than Anki decks. They only contain a list of vocabulary, sentences, or phrases in a plaintext format that currently require importing with or without dictionary matching as outlined in the deck import and export section. If you’re converting an Anki deck, it is recommended importing the deck into SakeSaySo initially. Following this, you can export the content to a cleaner, simplified txt file for sharing or further modifications within the app.
...
This page is dealing with the exchange of stories and articles via SakeScript .zip files.
By default, the SakeScript app accesses both the community and daily news repositories. You may configure custom http based repositories that may also be hosted on GitHub, as discussed on the custom repository page.
All online content in SakeScript, once downloaded, is available for offline use. The app ensures content integrity by verifying the sha256 hash of each download and stores the zip files in the phone’s document directory.
...
The technical aspects of this guide assume you’re familiar with Git, GitHub, and JSON text formats.
SakeSaySo’s iOS and Android apps are specifically designed to support custom content through two main repository options:
Community Repository: Contributing to the community GitHub repository is straightforward. This repository is pre-set in the app, and an automated GitHub action updates the search index upon the merging of a pull request. Custom Repository: For a personal, tailored learning experience, you may add a custom repository under Settings -> Advanced Settings -> Add Repository. Setting Up a Custom Repository The app requires custom repositories to be accessible via an HTTP server, hosting an index.json file containing manifests. The list of manifests should list story .zip files at relative paths, with valid sha256 checksums for integrity verification and updates tracking.
...
This guide demonstrates setting up custom scripts with GitHub Actions to automate tasks on a schedule.
Embracing the wave of content generation through LLMs since 2023, SakeSaySo leverages Anthropic AI in its news aggregation process. We use GitHub Actions, combined with Go-based tools and scripts that we prefer over Python, to automate such tasks. The configuration below is an example setup, including a cron schedule, showcasing how you can replicate this for your needs.
...