Skip to content

Commit 8eb5f68

Browse files
committed
Add getting-started dir, fix all links, etc
1 parent c6bf980 commit 8eb5f68

26 files changed

+86
-511
lines changed

README.md

Lines changed: 10 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
11
# opensource.contentauth.org
22

3-
[![Netlify Status](https://api.netlify.com/api/v1/badges/c2fe0e49-4596-48e8-8e1a-9cf62d56bca2/deploy-status)](https://app.netlify.com/sites/contentauth/deploys)
3+
[![Netlify Status](https://api.netlify.com/api/v1/badges/c2fe0e49-4596-48e8-8e1a-9cf62d56bca2/deploy-status)](https://app.netlify.com/sites/cai-open-source/deploys)
44

55
## Overview
66

7-
This repo contains the source code and content to generate the <https://opensource.contentauthenticity.org/> website. This site is built using [Docusaurus 2](https://docusaurus.io/), a modern static site generator, and deployed on [Netlify](https://www.netlify.com/).
7+
This repo contains the source code and content to generate the <https://opensource.contentauthenticity.org/> website. This site is built using [Docusaurus 3](https://docusaurus.io/), a modern static site generator, and deployed on [Netlify](https://www.netlify.com/).
88

99
### Directory structure
1010

1111
The `docs` sub-directory contains documentation content (in markdown or `.mdx` format) in the following sub-directories:
12-
- [`js-sdk/api`](./docs/js-sdk/api): [API documentation](https://opensource.contentauthenticity.org/docs/js-sdk/api/) for the JavaScript library generated from the source code; see [Generating JavaScript API docs](#generating-javascript-sdk-api-docs).
13-
- [`js-sdk`](./docs/js-sdk/): [Other documentation](https://opensource.contentauthenticity.org/docs/js-sdk/getting-started/overview) for the JavaScript library.
14-
(./scripts/generate-api-docs/index.js)
12+
1513
- `includes`: Markdown content imported (transcluded) into other files.
16-
- `manifest`: Content for the [Understanding manifests](https://opensource.contentauthenticity.org/docs/manifest/understanding-manifest) section.
1714
- `static`: Additional assets such as images.
15+
- `manifest`: Content for the [Understanding manifests](https://opensource.contentauthenticity.org/docs/manifest/understanding-manifest) section.
16+
- Various other sub-directories for content sections, e.g. `durable-cr`, `manifest`, `signing`, etc.
1817

1918
Additionally, the [scripts/fetch-readme.js](./scripts/fetch-readme.js) script dynamically downloads documentation files (sometimes just the `README.md` but often other markdown files, too) from other repos in the SDK. See [Running the fetch script](#running-fetch-script).
2019

@@ -23,17 +22,16 @@ This table summarizes the content that this script fetches from other repos.
2322
| Sub-directory | Content fetched from... | Description |
2423
|-----------|-------------------------|-------------|
2524
| `c2pa-c` | [c2pa-c](https://github.com/contentauth/c2pa-c) | C library docs. |
26-
| `c2pa-min` | [c2pa-min](https://github.com/contentauth/c2pa-min) | Minimal Rust example app. |
27-
| `c2pa-node` | [c2pa-node](https://github.com/contentauth/c2pa-node) | Node library docs. |
25+
| `c2pa-ios` | [c2pa-ios](https://github.com/contentauth/c2pa-ios) | Mobile iOS library docs. |
26+
| `c2pa-android` | [c2pa-android](https://github.com/contentauth/c2pa-android) | Android library docs. |
27+
| `c2pa-node-v2` | [c2pa-node](https://github.com/contentauth/c2pa-node-v2) | Node library docs. |
2828
| `c2pa-node-example` | [c2pa-node-example](https://github.com/contentauth/c2pa-node-example) | Node example app.|
2929
| `c2pa-python` | [c2pa-python](https://github.com/contentauth/c2pa-python) | Python library docs. |
3030
| `c2pa-python example` | [c2pa-python-example](https://github.com/contentauth/c2pa-python-example) | Python example app. |
31-
| `c2pa-service-example` | [c2patool-service-example](https://github.com/contentauth/c2patool-service-example) | C2PA Tool service example app. |
3231
| `c2patool` | [c2pa-rs cli directory](https://github.com/contentauth/c2pa-rs/cli) | C2PA Tool docs. |
3332
| `js-sdk` | [c2pa-js](https://github.com/contentauth/c2pa-js) | JavaScript library docs. |
3433
| `rust-sdk` | [c2pa-rs](https://github.com/contentauth/c2pa-rs) | Rust library docs. |
35-
36-
The [Manifest store reference](https://opensource.contentauthenticity.org/docs/manifest/manifest-ref) is an HTML file generated by the [json-manifest-reference](https://github.com/contentauth/json-manifest-reference) repository and imported manually.
34+
| `trustmark` | [adobe/trustmark](https://github.com/adobe/trustmark/) | Trustmark docs |
3735

3836
## Installation
3937

@@ -46,17 +44,11 @@ $ npm install
4644

4745
## Local development
4846

49-
**Prerequisite**: To build the site locally, you must first check out the JavaScript library in a sibling directory and build the API docs there. In the parent directory of the `opensource.contentauth.org` directory, enter these commands:
47+
Build the site locally:
5048

5149
```
5250
$ git clone [email protected]:contentauth/c2pa-js.git
5351
$ cd opensource.contentauth.org
54-
$ npm run docs:generate-api-docs
55-
```
56-
57-
Then you can build and run the doc site with this command:
58-
59-
```
6052
$ npm start
6153
```
6254

@@ -72,14 +64,6 @@ npm run docs:fetch-readme
7264

7365
NOTE: If you need to get markdown files from a **new** repo that you added, then you need to manually add the sub-directory, add a `.gitkeep` file to it, and then commit it to this repository.
7466

75-
### Generating JavaScript SDK API docs
76-
77-
The `/scripts/generate-api-docs/index.js` script generates API docs for the JS SDK (assuming you've checked it out in a sibling directory). To run this script for local build, enter this command:
78-
79-
```
80-
npm run docs:generate-api-docs
81-
```
82-
8367
### Building
8468

8569
```

docs/community.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ Participants are required to follow the [Adobe Code of Conduct](https://github.c
2929

3030
### Verify
3131

32-
The code for the [C2PA Verify website](https://verify.contentauthenticity.org/) is open source. For general information on using it, see [Using the Verify tool](verify.mdx).
32+
The code for the [C2PA Verify website](https://verify.contentauthenticity.org/) is open source. For general information on using it, see [Using the Verify tool](getting-started/verify.mdx).
3333

3434
### Related projects
3535

@@ -55,8 +55,8 @@ The CAI maintains a [Discord server](https://discord.gg/CAI) for open technical
5555
## Other resources
5656

5757
- **Read the [CAI blog](https://contentauthenticity.org/blog)** to get the latest news and updates about CAI.
58-
- **Follow [CAI on Twitter](https://twitter.com/ContentAuth)** for the latest general announcements and information.
59-
- **[The FAQ](./faqs)** address a number of high-level questions.
58+
- **Follow [CAI on X](https://twitter.com/ContentAuth)** for the latest general announcements and information.
59+
- **[The FAQs](getting-started/faqs.mdx)** address a number of high-level questions.
6060

6161
## Developer survey
6262

docs/conformance.mdx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ For more information, see [C2PA Conformance Program Documents](https://github.co
4949

5050
#### Preliminary certificate check
5151

52-
To confirm all the settings in your signing certificate, you can follow the [preliminary certificate check](trust-list.mdx#checking-your-certificate) for the interim trust list to help ensure everything is as expected.
52+
To confirm all the settings in your signing certificate, you can follow the [preliminary certificate check](getting-started/trust-list.mdx#checking-your-certificate) for the interim trust list to help ensure everything is as expected.
5353

5454
#### Security requirements
5555

@@ -85,9 +85,9 @@ C2PA maintains two trust lists:
8585

8686
### Interim trust list retirement
8787

88-
With the introduction of the C2PA trust list, the existing [interim (temporary) trust list](trust-list.mdx) is being retired on the following timeline:
88+
With the introduction of the C2PA trust list, the existing [interim (temporary) trust list](getting-started/trust-list.mdx) is being retired on the following timeline:
8989

90-
- **Through December 31, 2025**: The [interim trust list](trust-list.mdx) will remain operational. During this time:
90+
- **Through December 31, 2025**: The [interim trust list](getting-started/trust-list.mdx) will remain operational. During this time:
9191
- The [Verify site](https://verify.contentauthenticity.org) will continue to display manifests signed by certificates on the interim trust list as trusted, but with a disclaimer that the manifests were made with an older version of the trust model.
9292
- New certificates will continue to be added to the interim trust list when requested.
9393
- Product developers are strongly encouraged to apply to the C2PA conformance program and use the official C2PA trust list.

docs/faqs.mdx renamed to docs/getting-started/faqs.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Notable implementations using blockchain:
3333

3434
No; Content Credentials do not enforce permissions for access to content. In many cases, the name displayed on the [Verify website](https://verify.contentauthenticity.org) is the name of the exporter of the content, not the rights owner.
3535

36-
The ["Produced by" section](verify.mdx#produced-by) in Verify refers to the name of the exporter. If the image was created with an Adobe Product such as Photoshop with Content Credentials (Beta) enabled, the "Produced by" section shows the name of the Adobe ID associated with the user who exported the image.
36+
The [Title and signgin information](verify.mdx#title-and-signing-information) in Verify refers to the name of the exporter. If the image was created with an Adobe Product such as Photoshop with Content Credentials (Beta) enabled, the "Produced by" section shows the name of the Adobe ID associated with the user who exported the image.
3737

3838
### Do Content Credentials indicate if an image is fake or altered?
3939

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
---
2-
id: getting-started
32
title: Getting started with Content Credentials
43
---
54

6-
import c2pa_terms from '../static/img/c2pa-terms.png';
7-
import cai_open_source from '../static/img/cai-open-source.jpg';
8-
import cai_os_tools_table from '../static/img/cai-os-tools-table.png';
9-
import cai_levels from '../static/img/cai-levels.png';
10-
import cr_pin from '../static/img/cr-pin.png';
5+
import c2pa_terms from '../../static/img/c2pa-terms.png';
6+
import cai_open_source from '../../static/img/cai-open-source.jpg';
7+
import cai_os_tools_table from '../../static/img/cai-os-tools-table.png';
8+
import cai_levels from '../../static/img/cai-levels.png';
9+
import cr_pin from '../../static/img/cr-pin.png';
1110

1211
This is a technical introduction to the Content Authenticity Initiative (CAI) open-source SDK that provides initial context and an overview of the technical aspects of implementing CAI solutions.
1312

@@ -29,7 +28,7 @@ Now, let's drill down a bit to clarify some of these terms.
2928

3029
**Actor**: A human or hardware or software product. For example, a camera, image editing software, cloud service, or the person using such tools.
3130

32-
**Asset**: A digital media file or stream of data of [certain specific image, video, or audio formats](rust-sdk/#supported-file-formats). In the future, the types of supported assets will expand. A _composed asset_ generalizes this concept, for example an image superimposed on top of another image.
31+
**Asset**: A digital media file or stream of data of [certain specific image, video, or audio formats](../rust-sdk/docs/supported-formats.md). A _composed asset_ generalizes this concept, for example an image superimposed on top of another image.
3332

3433
**Action**: An operation that an _actor_ performs on an _asset._ For example, "create," "embed," or "change contrast."
3534

@@ -92,7 +91,7 @@ For more information on getting and using certificates, see [Signing and certifi
9291

9392
### Verify trust list
9493

95-
import verify_unknown_source from '../static/img/verify-cc-unknown-source.png';
94+
import verify_unknown_source from '../../static/img/verify-cc-unknown-source.png';
9695

9796
The C2PA [Verify tool](https://verify.contentauthenticity.org) uses a list of _known certificates_ (sometimes referred to as a "trust list") to determine whether a Content Credential was issued by a known source. Currently, it uses the [interim trust list](verify-known-cert-list) but it will be updated soon to use the official [C2PA trust list](conformance.mdx#c2pa-trust-lists).
9897

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ id: verify-known-cert-list
33
title: The interim trust list
44
---
55

6-
import verify_unknown_source from '../static/img/verify-cc-unknown-source.png';
6+
import verify_unknown_source from '../../static/img/verify-cc-unknown-source.png';
77

88
:::warning Warning
99
The process described on this page is deprecated. The C2PA has released its official trust lists, and Verify will be updated to use them soon. See [Deprecation timeline](#deprecation-timeline) for more information.
@@ -37,7 +37,7 @@ For more information about conformance, see [C2PA conformance program](conforman
3737
The Verify site hosts the following files that it uses to [validate signing certificates](https://c2pa.org/specifications/specifications/2.0/specs/C2PA_Specification.html#_c2pa_signers). Together, these files form the _interim known certificate list_:
3838

3939
- [**The interim end-entity certificate list**](https://github.com/contentauth/verify-site/blob/main/static/trust/allowed.pem) consists of end-entity certificates. If the certificate is on this list, it is considered "known." To reduce bandwidth consumption, a version with SHA-256 hashes of the certificates is also available.
40-
- [**The interim known anchor list**](https://github.com/contentauth/verify-site/blob/main/static/trust/anchors.pem) contains the list of known anchor certificates. If an end-entity [certificate's chain](getting-started.mdx#signing-and-certificates) can be traced back to an anchor certificate on this list, the certificate is considered "known."
40+
- [**The interim known anchor list**](https://github.com/contentauth/verify-site/blob/main/static/trust/anchors.pem) contains the list of known anchor certificates. If an end-entity [certificate's chain](index.mdx#signing-and-certificates) can be traced back to an anchor certificate on this list, the certificate is considered "known."
4141
- [**The configuration file**](https://github.com/contentauth/verify-site/blob/main/static/trust/store.cfg) specifies the [Extended Key Usage (EKU)](https://datatracker.ietf.org/doc/html/rfc9336) values accepted for end-entity certificates. An end-entity certificate must have at least one of the EKUs in this list to be valid.
4242

4343
## Checking your certificate
Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ id: verify
33
title: Using the Verify tool
44
---
55

6-
import verify_site from '../static/img/verify.png';
6+
import verify_site from '../../static/img/verify.png';
77

88
The C2PA **[Verify tool](https://verify.contentauthenticity.org)** (often referred to as simply "Verify") is useful both for consumers and for CAI application developers.
99

@@ -54,7 +54,7 @@ To use Verify on an asset URL, the URL must not require any authentication and t
5454

5555
### Example assets
5656

57-
The [example-assets](https://contentauth.github.io/example-assets/) repository contains some sample assets that demonstrate Content Credentials, including links to view the corresponding manifest reports from the [C2PA Tool](c2patool) and to inspect the assets using Verify. See [the README as rendered in GitHub Pages](https://contentauth.github.io/example-assets/).
57+
The [example-assets](https://contentauth.github.io/example-assets/) repository contains some sample assets that demonstrate Content Credentials, including links to view the corresponding manifest reports from the [C2PA Tool](../c2patool/readme.md) and to inspect the assets using Verify. See [the README as rendered in GitHub Pages](https://contentauth.github.io/example-assets/).
5858

5959
### Source code
6060

@@ -71,7 +71,7 @@ Once you've uploaded an asset or entered an asset URL, if the asset:
7171
- Does not have an associated manifest store, Verify displays the message **No Content Credential**.
7272
- Does have an associated manifest store, Verify displays information from it in the three vertical panels, for example as shown below.
7373

74-
import verify_sections from '../static/img/verify-sections.png';
74+
import verify_sections from '../../static/img/verify-sections.png';
7575

7676
<img src={verify_sections} style={{ width: '800px', marginBottom: '20px' }} />
7777

@@ -149,7 +149,7 @@ import verify_sections from '../static/img/verify-sections.png';
149149

150150
### Title and signing information
151151

152-
import verify_title_date from '../static/img/verify-title-date.png';
152+
import verify_title_date from '../../static/img/verify-title-date.png';
153153

154154
<img
155155
src={verify_title_date}
@@ -176,7 +176,7 @@ For example, suppose you downloaded a file from Adobe Stock and renamed it `my_s
176176

177177
If the Content Credential was signed by a certificate that is NOT on the [known certificate list](verify-known-cert-list), such as one of the SDK's [test certificates](signing/test-certs.md), then Verify displays "Unrecognized" at the top of this section with this notice:
178178

179-
import verify_unknown_source from '../static/img/verify-cc-unknown-source.png';
179+
import verify_unknown_source from '../../static/img/verify-cc-unknown-source.png';
180180

181181
<img
182182
src={verify_unknown_source}
@@ -205,7 +205,7 @@ If the issuer string is too long, then the date might be truncated or not shown
205205

206206
If the manifest has [validation errors](manifest/reading/validation.md), then Verify displays this notice:
207207

208-
import verify_validation_error from '../static/img/verify-validation-error.png';
208+
import verify_validation_error from '../../static/img/verify-validation-error.png';
209209

210210
<img
211211
src={verify_validation_error}
@@ -259,11 +259,11 @@ The **Process** section displays information about the process used to create th
259259
- [App or device used](#app-or-device-used)
260260
- [Actions](#actions)
261261
- [Ingredients](#ingredients)
262-
- [AI-generated content](#ai-generated-content) (if the active manifest includes a [generative AI action](manifest/assertions-actions#generative-ai-action))
262+
- [AI-generated content](#ai-generated-content) (if the active manifest includes a [generative AI action](../manifest/writing/assertions-actions.md#generative-ai-action))
263263

264264
For example:
265265

266-
import verify_process from '../static/img/verify-process.png';
266+
import verify_process from '../../static/img/verify-process.png';
267267

268268
<img src={verify_process} style={{ width: '600px' }} />
269269

@@ -329,21 +329,21 @@ The **Actions** subsection lists [actions](https://opensource.contentauthenticit
329329

330330
#### AI-generated content
331331

332-
import verify_process_ai from '../static/img/verify-process-ai.png';
332+
import verify_process_ai from '../../static/img/verify-process-ai.png';
333333

334334
<img src={verify_process_ai} style={{ width: '250px' }} />
335335

336-
If one or more of the asset's ingredients was generated by artificial intelligence, as specified by the [generative AI action](manifest/assertions-actions#generative-ai-action), then a **Content summary** is shown and the **Process** section will also show the **AI tool used**, as shown in the example above.
336+
If one or more of the asset's ingredients was generated by artificial intelligence, as specified by the [generative AI action](../manifest/writing/assertions-actions.md#generative-ai-action), then a **Content summary** is shown and the **Process** section will also show the **AI tool used**, as shown in the example above.
337337

338338
### About this Content Credential
339339

340340
This section displays the same information as described in [Title and singing information](#title-and-signing-information).
341341

342342
### Camera capture details
343343

344-
If the active manifest includes [Exif metadata assertions](manifest/assertions-actions#exif-assertion), then an additional **Camera capture details** section shows information about the device used to create the asset, as illustrated below:
344+
If the active manifest includes [Exif metadata assertions](../manifest/writing/assertions-actions.md#cawg-metadata-assertions), then an additional **Camera capture details** section shows information about the device used to create the asset, as illustrated below:
345345

346-
import verify_exif from '../static/img/verify-exif.png';
346+
import verify_exif from '../../static/img/verify-exif.png';
347347

348348
<img src={verify_exif} style={{ width: '500px' }} />
349349

docs/includes/_moreinfo_table.md

Lines changed: 0 additions & 7 deletions
This file was deleted.

0 commit comments

Comments
 (0)