Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
KITSU_API_TARGET=http://localhost/api
KITSU_EVENT_TARGET=http://localhost/socket.io
12 changes: 11 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
# Logs
logs
*.log
npm-debug.log*

Expand Down Expand Up @@ -40,3 +39,14 @@ jspm_packages
docs/.vuepress/dist/
docs/.DS_Store
docs/ja/.DS_Store
docs/.vitepress/dist
docs/.vitepress/cache
.wrangler
to-translate.md
batch_*.jsonl
requests-*.jsonl

.dev.vars*
!.dev.vars.example
.env*
!.env.example
8 changes: 0 additions & 8 deletions .postcssrc.js

This file was deleted.

15 changes: 15 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
## build

```bash
npm run build
# or
npm run docs:build
```

## development

```bash
npm run dev
# or
npm run docs:dev
```
Empty file added TODO.md
Empty file.
7 changes: 7 additions & 0 deletions assets/shots.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Episode,Sequence,Name,Description,Nb Frames,Frame In,Frame Out
E04,S001,SH0010,,456,0,456
E04,S001,SH0020,,212,457,669
E04,S001,SH0030,,75,670,745
E04,S002,SH0040,,145,746,891
E04,S002,SH0050,,45,892,937
E04,S002,SH0060,,978,938,1916
22 changes: 22 additions & 0 deletions assets/shots.edl
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
TITLE: Project
FCM: NON-DROP FRAME

001 001B V C 00:00:00:00 00:00:03:12 00:00:00:00 00:00:03:12
* FROM CLIP NAME: LGC_100-010.mov
REEL 001B IS CLIP LGC_100-010.mov

002 001B V C 00:00:00:00 00:00:02:08 00:00:03:12 00:00:05:20
* FROM CLIP NAME: LGC_100-020.mov
REEL 001B IS CLIP LGC_100-020.mov

003 001B V C 00:00:00:00 00:00:04:00 00:00:05:20 00:00:09:20
* FROM CLIP NAME: LGC_100-030.mov
REEL 001B IS CLIP LGC_100-030.mov

004 001B V C 00:00:00:00 00:00:01:18 00:00:09:20 00:00:11:14
* FROM CLIP NAME: LGC_100-040.mov
REEL 001B IS CLIP LGC_100-040.mov

005 001B V C 00:00:00:00 00:00:05:06 00:00:11:14 00:00:16:20
* FROM CLIP NAME: LGC_100-050.mov
REEL 001B IS CLIP LGC_100-050.mov
7 changes: 7 additions & 0 deletions assets/shots_updated.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Episode,Sequence,Name,Description,Nb Frames,Frame In,Frame Out
E04,S001,SH0010,,450,0,456
E04,S001,SH0020,,212,457,669
E04,S001,SH0030,,75,670,745
E04,S002,SH0040,,145,746,891
E04,S002,SH0050,,45,892,937
E04,S002,SH0060,,978,938,1916
139 changes: 139 additions & 0 deletions combine.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
const fs = require("fs");
const path = require("path");

const config = {
themeConfig: {
locales: {
"/": {
sidebar: [
{
title: "Introduction to Kitsu",
collapsable: false,
children: [["/", "Introduction"], "/configure-kitsu/", "/team/"],
},
{
title: "Create Your Production",
collapsable: true,
children: [
"/tvshow/",
"/feature/",
"/short/",
"/short-shot/",
"/short-asset/",
"/videogame/",
"/nft/",
],
},
{
title: "Meta Columns, Filters and Production Settings",
collapsable: true,
children: ["/meta-column/", "/filter/", "/configure-prod/"],
},
{
title: "Assignments, Estimates and Scheduling",
collapsable: true,
children: ["/assignation/", "/estimation/", "/schedules/"],
},
{
title: "Statuses, Publishes, and Thumbnails",
collapsable: true,
children: ["/status/", "/publish/", "/thumbnails/"],
},
{
title: "Internal Review and Client Playlists",
collapsable: true,
children: ["/review/", "/review-weekly/", "/playlist-client/"],
},
{
title: "Supervisor Workflows",
collapsable: true,
children: ["/supervisor-team/", "/supervisor-tasks/"],
},
{
title: "Producer Workflows",
collapsable: true,
children: ["/production-report/", "/studio-report/"],
},
{
title: "Artist Workflows",
collapsable: true,
children: ["/artist/"],
},
{
title: "Developer Workflows",
collapsable: true,
children: [
"/custom-actions/",
"/bots/",
"/publisher/",
"/chat-integration/",
"/installation/",
],
},
{
title: "Frequently Asked Questions",
collapsable: true,
children: ["/faq/"],
},
],
},
},
},
};

const ROOT_DOCS = "./docs";
const OUTPUT_FILE = "./combined-documentation.md";

function resolveReadmePath(entry) {
// Entry can be a string like "/tvshow/" or "/" or an array like ["/", "Introduction"]
const routePath = Array.isArray(entry) ? entry[0] : entry;

if (routePath === "/") {
return path.join(ROOT_DOCS, "README.md");
}

// Strip leading/trailing slashes, then build path
const stripped = routePath.replace(/^\/|\/$/g, "");
return path.join(ROOT_DOCS, stripped, "README.md");
}

function combineMarkdown() {
const sidebar = config.themeConfig.locales["/"].sidebar;
const sections = [];
const missing = [];

for (const group of sidebar) {
// Add a section header for each group
sections.push(`# ${group.title}\n`);

for (const child of group.children) {
const filePath = resolveReadmePath(child);
const label = Array.isArray(child) ? child[1] : null;

if (fs.existsSync(filePath)) {
const content = fs.readFileSync(filePath, "utf-8").trim();
const comment = label
? `<!-- Source: ${filePath} (${label}) -->`
: `<!-- Source: ${filePath} -->`;
sections.push(`${comment}\n\n${content}\n`);
console.log(`✓ Included: ${filePath}`);
} else {
missing.push(filePath);
const note = `<!-- MISSING: ${filePath} -->`;
sections.push(`${note}\n`);
console.warn(`✗ Missing: ${filePath}`);
}
}
}

const combined = sections.join("\n---\n\n");
fs.writeFileSync(OUTPUT_FILE, combined, "utf-8");

console.log(`\nDone! Combined file written to: ${OUTPUT_FILE}`);
if (missing.length > 0) {
console.log(`\n⚠ ${missing.length} file(s) were missing and skipped:`);
missing.forEach((f) => console.log(` - ${f}`));
}
}

combineMarkdown();
Loading