Skip to content

Commit b12aaf5

Browse files
authored
chore!: Use model oriented file structure (#63)
* chore!: Redesign file structure * chore: Add link checker (#34) * chore: Add link checker * chore: Add prettierrc * chore: Add missing checkout step * chore: Fix commands to run * chore: Fix path to script * fix: Broken links * chore: Log error position in link checker * chore: Support relative links * docs: Add comments to link checker script * chore: Use version-specified Prettier (#59) * docs: Update rules for agents * fix: Update main entry in package.json * fix: Remove unnecessary trailing exts * fix: Remove unnecessary prefixes in paths * fix: Remove unecessary prefixes * fix: Missing profile page
1 parent 5333185 commit b12aaf5

396 files changed

Lines changed: 764 additions & 786 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.agents/rules/base.md

Lines changed: 76 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -14,35 +14,41 @@ This repository manages the master content for the portfolio of Kazumi Inada, an
1414

1515
```
1616
portfolio/
17-
├── pages/ # Content files (Markdown)
18-
│ ├── news/ # News articles
19-
│ ├── works/ # Work information
20-
│ ├── events/ # Event and exhibition information
21-
│ └── profile/ # Profile
22-
├── assets/ # Media files (images, videos, etc.)
23-
│ ├── news/ # Assets for news articles
24-
│ ├── works/ # Assets for works
25-
│ ├── events/ # Assets for events
26-
│ └── profile/ # Assets for profile
17+
├── news/ # News articles
18+
│ └── YYMMDD_slug/
19+
│ ├── index.md # Article content
20+
│ └── *.jpg # Article assets
21+
├── works/ # Work information
22+
│ └── slug/
23+
│ ├── index.md # Work content
24+
│ └── *.jpg # Work assets
25+
├── events/ # Event and exhibition information
26+
│ └── slug/
27+
│ ├── index.md # Event content
28+
│ └── *.jpg # Event assets
29+
├── profile/ # Profile
30+
│ └── index.md
2731
├── .scripts/ # Validation scripts
2832
│ └── check-links.ts # Link validation script
2933
└── .github/workflows/ # CI/CD workflows
3034
```
3135

3236
## Content Types
3337

34-
### 1. News (`pages/news/`)
38+
### 1. News (`news/`)
3539

36-
#### File Naming Convention
40+
#### Directory Naming Convention
3741

38-
Use `YYMMDD_slug.md` format:
42+
Use `YYMMDD_slug/` format:
3943

4044
- `YY`: Last 2 digits of year
4145
- `MM`: Month (2 digits)
4246
- `DD`: Day (2 digits)
4347
- `slug`: Short identifier composed of alphanumeric characters and hyphens
4448

45-
Example: `251203_information-design.md`
49+
Example: `251203_information-design/`
50+
51+
Content is stored in `index.md` within each directory.
4652

4753
#### Front Matter
4854

@@ -66,24 +72,16 @@ release: YYYY-MM-DD
6672
- `tags`: Space-separated list of tags
6773
- Examples: `talk`, `education`, `art`, `stage`, `video`, `photo`, etc.
6874

69-
#### Index File
70-
71-
Manually maintain a list in `pages/news/index.md` in chronological order (newest first). When adding a new article, add it to the **beginning** of this file.
72-
73-
List format:
74-
75-
```markdown
76-
- [日本語タイトル / English Title](/pages/news/YYMMDD_slug.md)
77-
```
78-
79-
### 2. Works (`pages/works/`)
75+
### 2. Works (`works/`)
8076

81-
#### File Naming Convention
77+
#### Directory Naming Convention
8278

83-
Use `slug.md` format (no date prefix):
79+
Use `slug/` format (no date prefix):
8480

8581
- Short alphanumeric identifier with hyphens representing the work name
86-
- Examples: `suzuna.md`, `ushio-rpng.md`, `room-of-observation.md`
82+
- Examples: `suzuna/`, `ushio-rpng/`, `room-of-observation/`
83+
84+
Content is stored in `index.md` within each directory.
8785

8886
#### Front Matter
8987

@@ -95,7 +93,7 @@ creator: Credit (creator/organization name)
9593
materials: Media/materials used
9694
year: Production year
9795
tags: tag1 tag2 tag3
98-
thumbnail: /assets/works/slug/thumbnail.jpg
96+
thumbnail: /works/slug/thumbnail.jpg
9997
release: YYYY-MM-DD
10098
---
10199
```
@@ -114,18 +112,16 @@ release: YYYY-MM-DD
114112
- `tags`: Tag list (e.g., `stage video photo musubiza`)
115113
- `thumbnail`: Thumbnail image path
116114

117-
#### Index File
118-
119-
Manually maintain a work list in `pages/works/index.md`. Add new works at the appropriate position (typically newest first).
115+
### 3. Events (`events/`)
120116

121-
### 3. Events (`pages/events/`)
117+
#### Directory Naming Convention
122118

123-
#### File Naming Convention
124-
125-
Use `slug.md` format:
119+
Use `slug/` format:
126120

127121
- Short alphanumeric identifier with hyphens representing the event name
128-
- Examples: `kamine-expoc25.md`, `tmaf25.md`
122+
- Examples: `kamine-expoc25/`, `tmaf25/`
123+
124+
Content is stored in `index.md` within each directory.
129125

130126
#### Front Matter
131127

@@ -144,7 +140,7 @@ locations:
144140
address: Address
145141
related_works:
146142
- work-slug
147-
thumbnail: /assets/events/slug/image.jpg
143+
thumbnail: /events/slug/image.jpg
148144
external_infos:
149145
- title_ja: 外部リンクタイトル
150146
url: https://example.com
@@ -170,18 +166,23 @@ external_infos:
170166

171167
### Directory Structure
172168

173-
Assets corresponding to each content type are placed under `assets/`:
169+
Assets are stored alongside content within each directory:
174170

175171
```
176-
assets/
177-
├── works/slug/
178-
│ ├── thumbnail.jpg
179-
│ ├── 00.jpg
180-
│ └── 01.jpg
181-
├── events/slug/
182-
│ └── image.jpg
183-
└── news/slug/
184-
└── image.jpg
172+
news/YYMMDD_slug/
173+
├── index.md
174+
├── thumbnail.jpg
175+
└── image.jpg
176+
177+
works/slug/
178+
├── index.md
179+
├── thumbnail.jpg
180+
├── 00.jpg
181+
└── 01.jpg
182+
183+
events/slug/
184+
├── index.md
185+
└── image.jpg
185186
```
186187

187188
### Naming Convention
@@ -194,18 +195,19 @@ assets/
194195
Reference with absolute path format in Markdown:
195196

196197
```markdown
197-
![](/assets/works/suzuna/thumbnail.jpg)
198+
![](/works/suzuna/thumbnail.jpg)
199+
![](/events/kamine-expoc25/image.jpg)
198200
```
199201

200202
## Internal Links
201203

202204
### Link Format
203205

204-
Internal links must be written as absolute paths starting with `/pages/`:
206+
Internal links must be written as absolute paths:
205207

206208
```markdown
207-
[Link text](/pages/works/suzuna.md)
208-
[Exhibition details](/pages/events/kamine-expoc25.md)
209+
[Link text](/works/suzuna/)
210+
[Exhibition details](/events/kamine-expoc25/)
209211
```
210212

211213
### Link Validation
@@ -238,11 +240,11 @@ All Markdown, JSON, and YAML files are formatted with Prettier.
238240

239241
### Content Addition Workflow
240242

241-
1. **Create file**: Create Markdown file in the appropriate directory following naming conventions
242-
2. **Write Front Matter**: Write proper Front Matter including required fields
243-
3. **Write content**: Write content in both Japanese and English
244-
4. **Place assets**: Place necessary images in the appropriate directory under `assets/`
245-
5. **Update index**: Add new entry to `index.md` file (for News and Works)
243+
1. **Create directory**: Create directory with appropriate naming convention
244+
2. **Create index.md**: Create `index.md` file in the directory
245+
3. **Write Front Matter**: Write proper Front Matter including required fields
246+
4. **Write content**: Write content in both Japanese and English
247+
5. **Place assets**: Place necessary images in the same directory
246248
6. **Validate links**: Verify internal links are correct
247249
7. **Commit**: Commit after automatic formatting by Prettier
248250

@@ -290,30 +292,30 @@ Check existing tags and use standardized tags whenever possible:
290292
### Adding a New News Article
291293

292294
1. Determine date and slug (`YYMMDD_slug`)
293-
2. Create `pages/news/YYMMDD_slug.md`
294-
3. Write Front Matter and content
295-
4. Place images in `assets/news/slug/` if needed
296-
5. Add new entry to the **beginning** of `pages/news/index.md`
295+
2. Create directory `news/YYMMDD_slug/`
296+
3. Create `news/YYMMDD_slug/index.md`
297+
4. Write Front Matter and content
298+
5. Place images in `news/YYMMDD_slug/` if needed
297299
6. Commit changes
298300

299301
### Adding a New Work
300302

301303
1. Determine work slug
302-
2. Create `pages/works/slug.md`
303-
3. Write Front Matter and content
304-
4. Place thumbnail and images in `assets/works/slug/`
305-
5. Commit changes
306-
307-
Note: Adding new entry in `/pages/works/index.md` should be executed manually by human, because this list is curated. Ask about it if it seems to be needed.
304+
2. Create directory `works/slug/`
305+
3. Create `works/slug/index.md`
306+
4. Write Front Matter and content
307+
5. Place thumbnail and images in `works/slug/`
308+
6. Commit changes
308309

309310
### Adding Event Information
310311

311312
1. Determine event slug
312-
2. Create `pages/events/slug.md`
313-
3. Write Front Matter (venue info, schedule, etc.) and content
314-
4. Place images in `assets/events/slug/`
315-
5. Create related news article in `pages/news/` if needed
316-
6. Commit changes
313+
2. Create directory `events/slug/`
314+
3. Create `events/slug/index.md`
315+
4. Write Front Matter (venue info, schedule, etc.) and content
316+
5. Place images in `events/slug/`
317+
6. Create related news article in `news/` if needed
318+
7. Commit changes
317319

318320
## Validation Checklist
319321

@@ -322,8 +324,8 @@ When adding or updating content:
322324
- [ ] Following file naming conventions
323325
- [ ] All required Front Matter fields are filled in
324326
- [ ] Written in both Japanese and English
325-
- [ ] Internal links written with correct paths (starting with `/pages/`)
326-
- [ ] Image paths are correct (starting with `/assets/`)
327+
- [ ] Internal links written with correct paths (absolute paths like `/works/slug/`)
328+
- [ ] Image paths are correct (absolute paths like `/works/slug/image.jpg`)
327329
- [ ] Index file (`index.md`) is updated (if applicable)
328330
- [ ] Date format is correct
329331
- [ ] Tags are appropriate

.scripts/check-links.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ async function hasInvalidLink(filename: string): Promise<boolean> {
6262
if (fm.attrs.relaeted_works) {
6363
links.push(
6464
...fm.attrs.relaeted_works.map((id) => ({
65-
url: `/pages/works/${id}`, // Convert from work id to internal path
65+
url: `/works/${id}`, // Convert from work id to internal path
6666
hint: "related_works",
6767
})),
6868
)

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Kazumi Inada: Works and News. Visit [https://www.nandenjin.com](https://www.nand
99

1010
Kazumi Inada is an artist, a technical director and a doctoral student of University of Tsukuba, Japan. See also:
1111

12-
- [`nandenjin.com/profile`](https://www.nandenjin.com/profile) (originally [`/pages/profile/index.md`](/pages/profile/index.md))
12+
- [`nandenjin.com/profile`](https://www.nandenjin.com/profile) (originally [`/profile/index.md`](/profile/index.md))
1313
- [GitHub Profile](https://github.com/nandenjin)
1414

1515
## Issues and Pull Requests
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,20 @@ locations:
1111
lng: 139.728145503728
1212
address: 〒106-0032 東京都港区六本木7丁目21−24 THE MODULE Roppongi 206
1313
related_works: [ushio-rpng-walk]
14-
thumbnail: /assets/works/ushio-rpng-walk/overview.jpg
14+
thumbnail: /works/ushio-rpng-walk/overview.jpg
1515
---
1616

1717
公益財団法人クマ財団の企画する展示に参加します。
1818

19-
![](/assets/works/ushio-rpng-walk/overview_with-person.jpg)
19+
![](/works/ushio-rpng-walk/overview_with-person.jpg)
2020

2121
> 次世代を担うクリエイターの育成に取り組む公益財団法人クマ財団は、クリエイター奨学生第7期・36名が発表するシリーズ「KUMA experiment 2023-24」の第二弾として企画展『ASTERISM(⁂)』を2023年11月11日(土)〜11月26日(日)に開催いたします。
2222
>
2323
> 参加するクリエイターは、デジタルメディアで社会の構造を観察するインスタレーションやシステムの制作を行う、稲田和巳。西洋音楽、現代音楽においてポップアート的表現を追求する作曲家の梅本佑利。全長33mの油絵など巨大な絵画作品を手がける画家、大西茅布。テキスタイルの素材と技法を活かしながら、鑑賞者と作品との更なる親密的な関係を作ることに着目するCALLY TAN。自身がカメラを構える映画制作やスクリーンでの上映を通し、映画表現・映画体験の探究を試みる芝田日菜。プラスチック上の新材料合成とフレキシブルデバイスの研究を行う、野沢公暉の6名。
2424
>
2525
> 異なる領域で未来を見据えて創作する若手クリエイターがそれぞれの取り組みを発表します。
2626
27-
![](/assets/events/asterism/asterism_KV_E.jpg)
27+
![](/events/asterism/asterism_KV_E.jpg)
2828

2929
> 夜空に広がる星々の並び。偶然に集まったその点たちは、星座や神話、占星術、さらには科学など、私たちの想像力を掻き立てる存在としてありました。
3030
>
@@ -48,8 +48,8 @@ thumbnail: /assets/works/ushio-rpng-walk/overview.jpg
4848

4949
- 11月10日(金)17:00〜20:00
5050

51-
![](/assets/works/ushio-rpng-walk/wide.jpg)
51+
![](/works/ushio-rpng-walk/wide.jpg)
5252

53-
![](/assets/works/ushio-rpng-walk/overview_night.jpg)
53+
![](/works/ushio-rpng-walk/overview_night.jpg)
5454

55-
![](/assets/works/ushio-rpng-walk/outside_night.jpg)
55+
![](/works/ushio-rpng-walk/outside_night.jpg)
Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ locations:
1010
lat: 35.6618627085482
1111
lng: 139.7314945876261
1212
related_works: []
13-
thumbnail: /assets/events/caf-ushio/ushio_visual_16-9.jpg
13+
thumbnail: /events/caf-ushio/ushio_visual_16-9.jpg
1414
external_infos:
1515
- title_ja: 稲田和巳『潮』公式Webサイト - 現代芸術振興財団
1616
title_en: Kazumi Inada Solo Exhibition "Ushio" Official Website
@@ -34,17 +34,17 @@ external_infos:
3434
>
3535
> In this exhibition, we will exhibit new media art works created by constructing a simulation system.
3636
37-
[![](/assets/events/caf-ushio/interview_0.jpg)](https://www.youtube.com/watch?v=Aa8_Xgpr9vo)
37+
[![](/events/caf-ushio/interview_0.jpg)](https://www.youtube.com/watch?v=Aa8_Xgpr9vo)
3838

39-
![](/assets/events/caf-ushio/ushio_visual_16-9.jpg)
39+
![](/events/caf-ushio/ushio_visual_16-9.jpg)
4040

41-
![](/assets/events/caf-ushio/view_0.jpg)
41+
![](/events/caf-ushio/view_0.jpg)
4242

43-
![](/assets/events/caf-ushio/view_1.jpg)
43+
![](/events/caf-ushio/view_1.jpg)
4444

45-
![](/assets/events/caf-ushio/view_2.jpg)
45+
![](/events/caf-ushio/view_2.jpg)
4646

47-
![](/assets/events/caf-ushio/view_3.jpg)
47+
![](/events/caf-ushio/view_3.jpg)
4848

4949
## Overview
5050

@@ -88,7 +88,7 @@ Starting today, you can request a copy (free of charge) through [Contemporary Ar
8888

8989
A field work and a talk session was held with [tomotosi](http://tomotosi.com/) & [Shin Hanagata](https://www.shinhanagata.com/).
9090

91-
[![](/assets/events/caf-ushio/talk_0.jpg)](https://www.youtube.com/watch?v=PLxmK3oVGL0)
91+
[![](/events/caf-ushio/talk_0.jpg)](https://www.youtube.com/watch?v=PLxmK3oVGL0)
9292

9393
## Credits
9494

0 commit comments

Comments
 (0)