You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .cursor/skills/add-calendar-system/SKILL.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -46,13 +46,13 @@ Each step below is required unless explicitly skipped by the user.
46
46
-**Accuracy** (stub section).
47
47
-**Source** (stub section).
48
48
- Keep all sections present even if their bodies are just short placeholder sentences, and add **no detailed content** unless the user explicitly requested text (respect the project’s `Docs/` rule).
49
-
3. Ensure the new file is referenced in `Docs/src/SUMMARY.md` under the right section, so `buildNodeData.js` will include it.
49
+
3. Ensure the new file is referenced in `Docs/src/SUMMARY.md` under the right section, so `actions/buildNodeData.js` will include it.
50
50
51
51
### Reference tables in `#### Info` (months, weekdays, alignment)
52
52
53
53
When adding **month names**, **weekday names**, or similar reference material:
54
54
55
-
- Use **markdown tables** with a **header row** (required for mdBook and `buildNodeData.js` table conversion).
55
+
- Use **markdown tables** with a **header row** (required for mdBook and `actions/buildNodeData.js` table conversion).
56
56
-**Months:** Include month order/number, **days per month** (or an explicit rule when lengths vary), and **names**. If names are given in a **non-Latin script**, include a **Latin transliteration** column (or Latin-letter names) beside the native script so readers can parse the table without the script.
57
57
-**Weekdays:** Include order (e.g. Sunday first) and names; state in the header if the week **starts on a different day** than Sunday.
58
58
-**Approximate Gregorian alignment:** Add a column, footnote row, or small separate table **only when** the calendar maps in a stable, documentable way to Gregorian months or seasons. When there is **no** meaningful fixed mapping (e.g. a **drifting** 365-day solar year, or a lunar/lunisolar calendar unrelated to Gregorian months), use a one-row table or single cell with **Not applicable** (or an em dash)—**do not** invent long explanatory prose unless the user explicitly asks for body copy.
@@ -64,7 +64,7 @@ When adding **month names**, **weekday names**, or similar reference material:
64
64
65
65
1. Run the build pipeline to regenerate `Content/nodeData.js` and the mdBook output, typically via:
66
66
-`bash build.sh`
67
-
- or directly `node buildNodeData.js` if only `Content/nodeData.js` is needed.
67
+
- or directly `node actions/buildNodeData.js` if only `Content/nodeData.js` is needed.
68
68
2.**Do not edit**`Content/nodeData.js` by hand; it is generated.
69
69
3. After the build, locate the new node entry in `Content/nodeData.js`:
70
70
- Search by the doc filename or title.
@@ -154,7 +154,7 @@ The main grid and `nodeUpdate.js` are not enough for the **Calendar View** side
154
154
Before considering a new calendar/time system “hooked up”, confirm:
155
155
156
156
-[ ] A Docs stub exists in `Docs/src/...` with title/outline and is referenced from `Docs/src/SUMMARY.md`.
157
-
-[ ]`Content/nodeData.js` has been regenerated (via `build.sh` or `buildNodeData.js`), and the node id is known.
157
+
-[ ]`Content/nodeData.js` has been regenerated (via `build.sh` or `actions/buildNodeData.js`), and the node id is known.
158
158
-[ ] A main implementation function exists in the correct `CalendarAPI/...` file, following existing patterns and conventions.
159
159
-[ ]`nodeUpdate.js` calls `setTimeValue` for this node id using the main function.
160
160
-[ ]**`calendarView.js`:**`buildNodeValueGetters` includes an entry for the node’s short `id` (so Calendar View cells and month shading work when that system is selected).
The mission of this website is to create a collection of every calendar with a verifiable date at a specific point in time, as well as other methods of timekeeping. It is to be a celebration of time as counted by humans from all walks of life, displaying all of the unique ways different people chose to satisfy one of humanity's earliest and most universal curiosities.
6
6
7
7
https://libraryoftime.xyz
8
8
9
-
<!-- Badges: colors in readmeBadges.json; entries & test coverage from buildNodeData.js; size from release.py -->
@@ -27,7 +26,7 @@ This command should be run from the Docs directory. It will generate the HTML fi
27
26
28
27
The Library of Time is written entirely in vanilla HTML/JS/CSS. There must not be any imported packages nor external API.
29
28
30
-
*Currently there is one exception (masonry.pkgd.min.js) purely to make the calendar groups more pleasing to look at. The website does not need it to function and should eventually be phased out.*
29
+
*Currently there is one exception (`UserInterface/masonry.pkgd.min.js`) purely to make the calendar groups more pleasing to look at. The website does not need it to function and should eventually be phased out.*
31
30
32
31
Calendars should be rigorously tested to ensure accuracy. These tests can be found in /Tests, and they can be run by uncommenting the following line located in runTests.js
Copy file name to clipboardExpand all lines: actions/README.md
+15-2Lines changed: 15 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,18 @@
1
-
# Bundler
2
-
The `release.py` compresses the Library of Time project into a single .html file. The file can then be ran on client side without the need for a web server or even an internet connection. Specifically:
1
+
# Build scripts
2
+
3
+
## `buildNodeData.js`
4
+
5
+
Generates `Content/nodeData.js` from markdown in `Docs/src`, and updates the Library Entries and Test Coverage badges in the root `README.md`. Run from the repo root via `bash build.sh` (Step 1) or:
6
+
7
+
```bash
8
+
node actions/buildNodeData.js
9
+
```
10
+
11
+
Badge colors are set by environment variables exported from `build.sh`.
12
+
13
+
## `release.py`
14
+
15
+
The bundler compresses the Library of Time project into a single .html file. The file can then be ran on client side without the need for a web server or even an internet connection. Specifically:
3
16
4
17
- JS files are compressed into a single string and embeded in a `<script>` tag at the bottom of the page
5
18
- CSS files are copied into a single `<style>` tag in the page he ader
0 commit comments