Custom Repositories

How to contribute to the community repository

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.
Add Private or Custom 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.

Hosting on GitHub

Github can host your custom repositories, similarly to the community repository. Use the following format for GitHub-hosted repositories:

name: [repository name]
uri: https://api.github.com/repos/<username or organization>/<repository name>/contents/

Optionally provide a weburl to have users see an info icon (i) on the repository page, linking to the browsable GitHub repository if it’s public.

weburl: https://github.com/<username or organization>/<repository name>

For branch-specific content (e.g., for testing):

branch: [branch name]

Accessing Private Repositories

  • Basic Authentication: Include username and password in the repository URL for basic auth-protected servers.
https://username:[email protected]/my/custom/repository
  • Github PAT Tokens: For GitHub repositories, use personal access tokens (PAT) for authentication. Add the token directly in the app.
github_pat_[your_token]

Note: The app currently supports basic auth and GitHub PAT tokens for private repository access.