Skip to content
Merged
Show file tree
Hide file tree
Changes from 27 commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
aca9212
Improve aside menu
Ndpnt Dec 17, 2024
592835e
Create configOption component
Ndpnt Dec 17, 2024
4175c86
Fix content
Ndpnt Dec 17, 2024
822bf4d
Restructure content
Ndpnt Dec 17, 2024
6e68318
Update configOption component
Ndpnt Dec 17, 2024
73d395a
Update metadata reference
Ndpnt Dec 17, 2024
0305574
Improve configOption component
Ndpnt Dec 17, 2024
6fb4c1f
Improve metadata documentation
Ndpnt Dec 17, 2024
9e67532
Fix configuration documentation
Ndpnt Dec 17, 2024
5105c32
Fix environment variables
Ndpnt Dec 17, 2024
9d51f35
Improve governance
Ndpnt Dec 17, 2024
0176472
Fix filenames
Ndpnt Dec 17, 2024
bc395d1
Improve tutorials
Ndpnt Dec 17, 2024
8c24c68
Improve how to join federation
Ndpnt Dec 17, 2024
b67cddd
Ignore cache on dev mode
clementbiron Dec 17, 2024
367262f
Uninstall postcss
clementbiron Dec 17, 2024
c4b653b
Enable inlining of @import statements and simplify code
clementbiron Dec 17, 2024
3efe05e
Add aside styles
clementbiron Dec 17, 2024
1b9227b
Clears unnecessary section content
clementbiron Dec 17, 2024
19e9e9e
Add homepage link in menu
clementbiron Dec 17, 2024
6a461a0
Highlight current menu item
clementbiron Dec 17, 2024
c732595
Improve menu styles
clementbiron Dec 17, 2024
66096db
Improve menu spacing
clementbiron Dec 17, 2024
2e10e9f
Fix images path
Ndpnt Dec 17, 2024
8737196
Fix order, slug and titles
Ndpnt Dec 17, 2024
d4a00c9
Remove obsolete content
Ndpnt Dec 17, 2024
e801103
Improve homepage
Ndpnt Dec 17, 2024
0563920
Update CLI
Ndpnt Dec 18, 2024
54d4b75
Improve homepage
Ndpnt Dec 18, 2024
34592be
Improve homepage
Ndpnt Dec 18, 2024
070ed0b
Fix lint
Ndpnt Dec 18, 2024
bfa69b0
Clarify homepage
MattiSG Dec 18, 2024
cf3800e
Unify introductory text for Community section
MattiSG Dec 18, 2024
0946283
Improve terms tracking tutorial
MattiSG Dec 18, 2024
36f5000
Update vocabulary
MattiSG Dec 18, 2024
d1ad0ae
Remove irrelevant and broken link
MattiSG Dec 18, 2024
347168c
Unify vocabulary
MattiSG Dec 18, 2024
17e86f6
Improve title
MattiSG Dec 18, 2024
2c622fb
Improve minimal terminology copywriting
MattiSG Dec 18, 2024
25a7b7f
Split declarations maintenance how to
clementbiron Dec 18, 2024
66096bd
Improve Collections creation tutorial
MattiSG Dec 18, 2024
46fefe8
Improve collections how to
Ndpnt Dec 18, 2024
17dae9b
Allow markdown in aside link
Ndpnt Dec 18, 2024
632c5c9
Improve Collections Metadata how to
MattiSG Dec 18, 2024
ed5aa6b
Rollback how to join federation
Ndpnt Dec 18, 2024
de25c64
Sort pages and section by weight
clementbiron Dec 18, 2024
8b9a837
Use CLI long options
MattiSG Dec 18, 2024
cfc1d3d
Improve Node.js documentation clarity
MattiSG Dec 18, 2024
a28fa25
Move how to track new terms
Ndpnt Dec 18, 2024
490244a
Add missing aliases
clementbiron Dec 18, 2024
4c56adb
Use chevrondown icon
clementbiron Dec 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions config/_default/module.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
mounts:
- source: assets
target: assets
- source: node_modules/minireset.css/minireset.css
target: assets/css/vendor/minireset.css
480 changes: 0 additions & 480 deletions content/_index.en.md

This file was deleted.

28 changes: 28 additions & 0 deletions content/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
title: Open Terms Archive documentation
linkTitle: Homepage
weight: 1
---

# Open Terms Archive documentation

Open Terms Archive is a decentralised system that tracks collections of services' terms across multiple servers. Each collection operates its own API, and the Federation API unifies search and discovery across collections, fostering collaboration with external applications.

### Documentation structure

In this documentation you can find the following kind of content to support users at different levels:

- **Tutorials:** Step-by-step learning guides that help beginners get started with Open Terms Archive, providing foundational knowledge and hands-on experience.
- **How-to guides:** Task-focused instructions that help experienced users accomplish specific goals efficiently and effectively.
- **Reference:** Comprehensive technical documentation detailing system components, configuration options, and specifications for advanced users.

### Main contents

- **[Analysis](/analysis/):** Provides guidance on how to analyze terms changes, from navigating through the history of tracked documents to publishing memos about significant changes, along with copywriting guidelines for creating analysis content.
- **[Community](/community/):** Provides information on how to join and participate in the Open Terms Archive community.
- **[Terms](/terms/):** Provides guidance on tracking and maintaining terms declarations, reference documentation for declaration formats, and guidelines for selecting selectors and reviewing contributions.
- **[Collections](/collections/):** Provides guidance on creating and managing collections of tracked terms, creating repositories and defining metadata, and detailed reference documentation for configuration options, environment variables, governance roles, and collection metadata formats.
- **[Federation](/federation/):** Explains the benefits of joining the Open Terms Archive federation, and the criteria that collections must meet to be part of the federated ecosystem.
- **[Deployment](/deployment/):** Guides to deploy a collection.
- **[Programmatic access](/api/):** Provides documentation for programmatically interacting with Open Terms Archive.
- **[Concepts and principles](/concepts/):** Explains the main concepts and terminology of Open Terms Archive and fundamental design principles.
5 changes: 5 additions & 0 deletions content/analysis/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: "Analysis"
weight: 2
---

4 changes: 4 additions & 0 deletions content/analysis/how-to/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
title: How to
weight: 1
---
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "How to navigate history"
title: Navigate history
weight: 1
aliases: /navigate-history/
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "How to publish a memo"
title: Publish a memo
---

# How to publish a memo
Expand All @@ -10,7 +10,7 @@ No technical skills are required.

## Prerequisites

- A drafted memo compliant with the [copywriting reference]({{< relref "/memos/copywriting-reference" >}}).
- A drafted memo compliant with the [copywriting reference]({{< relref "/analysis/reference/copywriting" >}}).

## 1. Send

Expand Down
4 changes: 4 additions & 0 deletions content/analysis/reference/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
title: Reference
weight: 2
---
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "Copywriting reference"
title: Copywriting
---

# Copywriting reference
Expand Down
4 changes: 2 additions & 2 deletions content/api/_index.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
---
title: API
weight: 4
title: Programmatic access
weight: 8
---
61 changes: 61 additions & 0 deletions content/api/cli.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
title: Command line interface
weight: 1
---

# Command line interface

Once the engine module is installed as a dependency within another module, the `ota` command with the following subcommands is available.

In these commands:

- **`<service_id>`** is the case sensitive name of the service declaration file without the extension. For example, for `Twitter.json`, the service ID is `Twitter`.
- **`<terms_type>`** is the property name used under the `documents` property in the declaration to declare a terms. For example, in the getting started declaration, the terms type declared is `Privacy Policy`.

#### Tracking

{{< configOption name="ota track" type="command" description="Track the current terms of services according to provided declarations. The declarations, snapshots and versions paths are defined in the configuration." example="npx ota track" >}}

> Note that the snapshots and versions will be recorded at the moment the command is executed, on top of the existing local history. If a shared history already exists and the goal is to add on top of it, that history has to be downloaded before executing that command.

{{< configOption name="ota track --help" type="command" description="Show help and available options for track command" example="npx ota track --help" >}}

{{< configOption name="ota track --services" type="command" description="Track terms of specific services only" example="npx ota track --services \"<service_id>\" [\"<service_id>\"...]" >}}

{{< configOption name="ota track --services --types" type="command" description="Track specific terms types of specific services only" example="npx ota track --services \"<service_id>\" [\"<service_id>\"...] --types \"<terms_type>\" [\"<terms_type>\"...]" >}}

{{< configOption name="ota track --schedule" type="command" description="Track terms on a schedule (four times daily)" example="npx ota track --schedule" >}}

#### Validating

{{< configOption name="ota validate" type="command" description="Check that all declarations allow recording a snapshot and a version properly. If service IDs are provided, check only those services." example="npx ota validate [--services <service_id>...] [--types <terms_type>...]" >}}

{{< configOption name="ota validate --schema-only" type="command" description="Check that all declarations are readable by the engine. Allows for a much faster check of declarations, but does not check that the terms are actually accessible." example="npx ota validate --schema-only [--services <service_id>...] [--types <terms_type>...]" >}}

{{< configOption name="ota validate --modified" type="command" description="Run ota validate only on files that have been modified in Git" example="npx ota validate --modified" >}}

#### Linting

{{< configOption name="ota lint" type="command" description="Test the format of declarations' normalisation. Use --fix to automatically correct formatting mistakes and ensure that all declarations are standardised." example="npx ota lint [--services <service_id>...] [--fix] [--modified]" >}}

#### Dataset publishing

{{< configOption name="ota dataset" type="command" description="Export the versions dataset into a ZIP file and publish it to GitHub releases. The dataset title and the URL of the versions repository are defined in the configuration." example="npx ota dataset [--file <filename>]" >}}

To export the dataset into a ZIP file and publish it on GitHub releases:

{{< configOption name="ota dataset --publish" type="command" description="Export and publish dataset to GitHub releases" example="GITHUB_TOKEN=ghp_XXXXXXXXX npx ota dataset --publish" >}}

The `GITHUB_TOKEN` can also be defined in a [`.env` file](#environment-variables).

To export, publish the dataset and remove the local copy that was created after it has been uploaded:

{{< configOption name="ota dataset --publish --remove-local-copy" type="command" description="Export, publish dataset and remove local copy after upload" example="GITHUB_TOKEN=ghp_XXXXXXXXX npx ota dataset --publish --remove-local-copy" >}}

{{< configOption name="ota dataset --schedule" type="command" description="Schedule export, publishing and local copy removal" example="GITHUB_TOKEN=ghp_XXXXXXXXX npx ota dataset --schedule --publish --remove-local-copy" >}}

#### Exposing the collection API

{{< configOption name="ota serve" type="command" description="Start the collection Web API server. The Web API will be available under http://localhost:<port>/<basePath>/<apiVersion>/<resource>. The server port and basePath are defined in the configuration." example="npx ota serve" >}}

> For example, with the default configuration, the list of services can be found at [`http://localhost:3000/api/v1/services`](http://localhost:3000/api/v1/services).
4 changes: 2 additions & 2 deletions content/api/collection.en.md → content/api/collection.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
title: Collection
title: Collection REST API
weight: 2
---

# Collection Web API [Beta]
# Collection REST API

As Open Terms Archive is decentralised, each instance embarks its own API. The documentation relevant to the specific version of the engine on that instance is provided on that instance itself.

Expand Down
4 changes: 2 additions & 2 deletions content/api/federation.en.md → content/api/federation.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
---
title: Federation
title: Federation REST API
weight: 3
aliases: /api/federated/
---

# Federation API
# Federation REST API

Open Terms Archive is a decentralised system that tracks collections of services' terms across multiple servers. Each collection operates its own API, and the Federation API unifies search and discovery across collections, fostering collaboration with external applications.

Expand Down
4 changes: 2 additions & 2 deletions content/api/node.en.md → content/api/node.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
title: Node
title: Node.js module
weight: 1
---

# Node.js API [Beta]
# Node.js module

As a Node module dependency, the engine exposes a JavaScript API that can be called in your own code. The following modules are available.

Expand Down
2 changes: 1 addition & 1 deletion content/collections/_index.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
---
title: Collections
weight: 3
weight: 5
---
Loading
Loading