Contributing
Flatpak runtime
To add the Flatpak repository, run:
flatpak remote-add --from eos-sdk http://endlessm.github.io/eos-knowledge-lib/eos-sdk.flatpakrepo
If you are running Endless OS 3.2 or later, you will already have the repository.
Available runtimes:
ID | Description |
---|---|
com.endlessm.apps.Platform | Runtime |
com.endlessm.apps.Platform.Locale | Runtime translations (extension) |
com.endlessm.apps.Sdk | SDK |
com.endlessm.apps.Sdk.Debug | SDK debug information (extension) |
com.endlessm.apps.Sdk.Locale | SDK translations (extension) |
The runtimes are built from definitions in the endless-sdk-flatpak Git repository.
To access nightly builds (currently only for x86-64), you can additionally add the nightly repository:
flatpak remote-add --from eos-sdk-nightly http://endlessm.github.io/eos-knowledge-lib/eos-sdk-nightly.flatpakrepo
Building
We recommend using Flapjack to build this code, especially if you are planning to make changes to it.
The example.flapjack.ini configuration file included with Flapjack is precisely made to build the eos-knowledge-lib
and other components.
Copy the example.flapjack.ini
to ~/.config/flapjack.ini
and follow the instructions for Flapjack to know how to build, test, and run apps.
If you wish to run the tests, you will also need to clone, build, and install jasmine-gjs.
Finding your way around
Here’s an overview of what’s in each directory:
data/
css/
- themes and parts of themes for UI modulesicons/
- parts of icon themes for UI modulesimages/
- miscellaneous UI assetspreset/
- pre-built YAML UI description filestemplates/
- code for rendering HTML content; more or less deprecatedwidgets/
- GtkBuilder XML files for UI modules injs/app/modules/
docs/
api/
- API reference; not useful right now, being rewrittenframework/
- reference for UI modules
ekncontent/
- library for accessing databases of offline contentdocs/
- gtk-doc documentationekncontent/
- C sourceseknvfs/
- module for resolvingekn://
URIsm4/
- Autoconf codeoverrides/
- additions for using ekncontent in Javascript codetests/
- unit and integration tests
js/
- Javascript library codeapp/
- the main UI library for creating apps- Various app library classes
interfaces/
- interfaces which some UI modules implementlibs/
- external JS code such as Mustachemodules/
- the modular UI blocks (see below)widgets/
- some GTK widgets for UI code that are not modular UI blocks
lib/
- C library codeeosknowledgeprivate/
- introspectable C wrappers forjs/app/
web-extensions/
- WebKit web extensions for use when viewing documents
m4/
- Autoconf codepo/
- internationalization (see below)tests/
- unit and integration tests- Various utility code for tests
autobahn/
- integration tests for the Autobahn YAML processorjs/app/
- unit tests for the code injs/app
test-content/
- sample content for some tests
tools/
- various testing and development tools
Translations
Please don’t do translations by directly editing the .po
files in this repository.
Instead, sign up at our Transifex project and translate there.
Release schedule and future plans
For more information, see the release schedule.