|
1 | | -# calypsonet-terminal-api-docs |
| 1 | +# Calypso Networks Association Terminal API documentation |
| 2 | + |
| 3 | +[](https://opensource.org/licenses/EPL-2.0) |
| 4 | + |
| 5 | +Central repository for design documentation of all **Calypso Terminal API** libraries, including **UML diagrams** and conception documents. |
| 6 | + |
| 7 | +## Repository Structure |
| 8 | + |
| 9 | +This repository uses two main branches: |
| 10 | +- `main`: Contains the repository configuration and workflows |
| 11 | +- `gh-pages`: Contains the actual documentation and Jekyll configuration, published at [https://docs.terminal-api.calypsonet.org/](https://docs.terminal-api.calypsonet.org/) |
| 12 | + |
| 13 | +## Managing Documentation Sources |
| 14 | + |
| 15 | +### Adding a New Library Documentation |
| 16 | + |
| 17 | +To add documentation for a new library: |
| 18 | + |
| 19 | +```bash |
| 20 | +# Switch to `doc` branch |
| 21 | +git checkout doc |
| 22 | + |
| 23 | +# Add the submodule pointing to the doc branch |
| 24 | +git submodule add -b doc https://github.com/calypsonet/[library-name].git [library-name] |
| 25 | + |
| 26 | +# Commit the changes |
| 27 | +git add . |
| 28 | +git commit -m "feat: add documentation for [library-name]" |
| 29 | +git push origin doc |
| 30 | +``` |
| 31 | + |
| 32 | +### Removing a Library Documentation |
| 33 | + |
| 34 | +To remove documentation for a library: |
| 35 | + |
| 36 | +```bash |
| 37 | +# Switch to `gh-pages` branch |
| 38 | +git checkout gh-pages |
| 39 | + |
| 40 | +# Remove the submodule |
| 41 | +git submodule deinit -f [library-name] |
| 42 | +rm -rf .git/modules/[library-name] |
| 43 | +git rm -f [library-name] |
| 44 | + |
| 45 | +# Commit the changes |
| 46 | +git commit -m "feat: remove documentation for [library-name]" |
| 47 | +git push origin gh-pages |
| 48 | +``` |
| 49 | + |
| 50 | +## Automatic Updates |
| 51 | + |
| 52 | +This repository includes a GitHub Action that automatically updates all submodules to their latest commits. The action: |
| 53 | + |
| 54 | +- Runs on manual trigger, repository dispatch event, or push to gh-pages |
| 55 | +- Updates all submodules recursively |
| 56 | +- Commits and pushes changes if updates are detected |
| 57 | +- Uses a dedicated bot account for commits |
| 58 | + |
| 59 | +You can view the action workflow in [`/.github/workflows/update-submodules.yml`](https://github.com/calypsonet/terminal-api-doc/blob/main/.github/workflows/update-submodules.yml). |
| 60 | + |
| 61 | +## Contributing |
| 62 | + |
| 63 | +Please read our [contribution guidelines](https://terminal-api.calypsonet.org/community/contributing/) before submitting any changes. |
| 64 | + |
| 65 | +## License |
| 66 | + |
| 67 | +This project is licensed under the Eclipse Public License v. 2.0. See [LICENSE](LICENSE) for details. |
0 commit comments