diff --git a/docs/content_overview.md b/docs/content_overview.md index 46cd9df8db..fff5c2a6ac 100644 --- a/docs/content_overview.md +++ b/docs/content_overview.md @@ -11,6 +11,73 @@ - Stored in `/src/content/examples/` - All translations are stored and edited directly in this repo under the corresponding language folder in `/src/content/examples/` +All original examples (created new for p5.js) since 2024 are collectively attributed to p5.js Contributors under the CC-BY-NC-SA 4.0 license. However, examples that build on prior work (under a compatible license) can be attributed in more detail, to make sure that authorship is clear in citation, and code history is available to viewers. + +To add attribution, you can use the following block in the headers, listing in **chronological** order all attribution. Below is the example from `examples/animation-and-variables-conditions/`: + +```yaml +remix: + - description: Inspired by + attribution: + - name: Name Name + URL: a-valid-link + code: + - label: pre-2023 code + URL: a-valid-link + - description: Revised by + attribution: + - name: Name Name + URL: a-valid-link + code: + - label: 2023 revision code + URL: a-valid-link + + - collectivelyAttributedSince: 2024 +``` + +This will result in a block that lists, in order, the initial inspiration; any revision or other remix; and the collective attribution statement that begins in 2024: "From 2024 onwards, edited and maintained by p5.js Contributors and the Processing Foundation. Licensed under CC BY-NC-SA 4.0." + +A remix can be many things ([here is an example analysis of sketch remixing (PDF)](https://dl.acm.org/doi/pdf/10.1145/3563657.3595969)); the `description` will be by default "Remixed by", so a more specific description is recommended. + +To credit individuals, you can use the following descriptions, with `attribution.name` including the name of the author or contributor, with an optional link. + +* Remixed by +* Revised by +* Created by + +```yaml +remix: + - description: Created by + attribution: + - name: Someone + URL: ... +``` + +To credit a specific work that was (1) not created by the p5.js contributors since 2024 and (2) is under a compatible license, you can use the following descriptions. Here, `attribution.name` should include both the person and a specific work of theirs that was the inspiration. + +* Inspired by +* Based on + +```yaml +remix: + - description: Inspired by + attribution: + - name: Someone's prior work + URL: ... +``` + +Each item in the remix history must have an at least one person listed in the attribution section. When multiple people are listed, their names will be shown **in that order**. For people, URLs are optional but recommended. + +These attribution histories **do not need to be individually translated** for each sketch. It is enough to make sure that the descriptions (like 'Created by' and so on) appear in the different language strings in `src/content/ui/`. Then, these will be used for all examples. See [Localization](./localization.md) for more info. If you use special descriptions or names in the attribution, these do need either new strings, or localization in the respective example translations (in `src/content/examples/{language}`). + +If the `collectivelyAttributedSince` information is missing, then no year will be included, but the collective attribution statement will still show: "Edited and maintained by p5.js Contributors and the Processing Foundation. Licensed under CC BY-NC-SA 4.0." You'll see this in examples that were part of a major revision project with specific attribution, but have collective authorship before and after. Note that the collective attribution message either does not specify a year, + or specifies 2024. To add a new possible value, update: + +1. `content/examples/config.ts` to include new permitted values; +2. and `content/ui/{language}.yaml` strings for attribution to include the text + +--- + ## Tutorials - Stored in `/src/content/tutorials/` diff --git a/src/components/Banner/index.astro b/src/components/Banner/index.astro index 8cef5229a5..7d7b747226 100644 --- a/src/components/Banner/index.astro +++ b/src/components/Banner/index.astro @@ -5,12 +5,14 @@ const { Content } = await entry.render(); const { link, title } = entry.data; --- - +
+ +