Skip to content

Commit 6941894

Browse files
authored
Merge pull request #62 from Utkarsh-123github/doc-addition
Contribution Guidelines for adding content of new conference edition
2 parents 7754f31 + dd88a2a commit 6941894

File tree

1 file changed

+186
-0
lines changed

1 file changed

+186
-0
lines changed

Add_NEW_CONFERENCE_EDITION.md

Lines changed: 186 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,186 @@
1+
# Adding New Conference Editions Guide
2+
3+
This guide provides step-by-step instructions for adding new conference editions to the JSON Schema Conference website.
4+
5+
## Table of Contents
6+
- [Content Directory Structure](#content-directory-structure)
7+
- [1. Create Edition Content File](#1-create-edition-content-file)
8+
- [2. Move Session Content](#2-move-session-content)
9+
- [3. Add New Speaker Information](#3-add-new-speaker-information-if-already-exists-skip-this-step)
10+
- [Important Notes](#important-notes)
11+
- [Best Practices](#best-practices)
12+
13+
## Content Directory Structure
14+
```
15+
content/
16+
├── _index.md
17+
├── previous-editions/
18+
│ ├── _index.md
19+
│ ├── {year}.md
20+
│ ├── {year}.md
21+
│ └── ... (one file per edition)
22+
├── archive-sessions/
23+
│ ├── {year}/
24+
│ │ ├── _index.md
25+
│ │ ├── {session_name}.md
26+
│ │ ├── {session_name}.md
27+
│ │ ├── {session_name}.md
28+
│ │ └── ... (one file per session)
29+
│ └── ... (one directory per edition)
30+
├── sessions/
31+
│ ├── _index.md
32+
│ ├── {session_name}.md
33+
│ ├── {session_name}.md
34+
│ ├── {session_name}.md
35+
│ └── ... (current/main edition sessions)
36+
├── faq/
37+
│ └── index.md
38+
├── partners/
39+
│ ├── _index.md
40+
│ └── {partner_type}/
41+
├── schedule/
42+
│ └── _index.md
43+
└── speakers/
44+
├── _index.md
45+
├── {speaker_name}.md
46+
├── {speaker_name}.md
47+
└── ... (one file per speaker)
48+
```
49+
50+
## 1. Create Edition Content File
51+
52+
1. Navigate to the `content/previous-editions/` directory
53+
2. Create a new markdown file named `YYYY.md` (replace YYYY with the year)
54+
3. Use the following template structure:
55+
56+
```yaml
57+
---
58+
title: "JSON Schema Conference YYYY"
59+
date: YYYY-MM-DD
60+
year: YYYY
61+
location: "Event Location"
62+
summary: "Brief description of the conference edition"
63+
sessionLink: "/archive-sessions/YYYY/"
64+
---
65+
66+
Detailed description of the conference edition.
67+
68+
## Conference Highlights
69+
70+
- Key point 1
71+
- Key point 2
72+
- Key point 3
73+
74+
## Resources
75+
76+
- [Conference Website](https://conference.json-schema.org)
77+
- [JSON Schema Organization](https://json-schema.org)
78+
79+
Additional information and links.
80+
```
81+
82+
## 2. Move Session Content
83+
84+
1. Navigate to the `content/archive-sessions/` directory
85+
2. Create a new directory named `YYYY/` (replace YYYY with the year)
86+
3. Create an `_index.md` file in the new directory with the following structure:
87+
88+
```yaml
89+
---
90+
title: "YYYY Conference Sessions"
91+
editionTitle: "JSON Schema Conference YYYY"
92+
editionLink: "/previous-editions/YYYY/"
93+
---
94+
95+
Description of the sessions for this edition (For example, Browse through all sessions from the JSON Schema Conference YYYY. Click on a session to view details, watch the presentation, and access related resources.)
96+
```
97+
98+
4. Move all session files from `content/sessions/` to `content/archive-sessions/YYYY/`. Each session file should maintain structure below:
99+
100+
```yaml
101+
---
102+
key: file-name-without-extension
103+
title: Session Title
104+
id: file-name-without-extension
105+
format: talk
106+
duration: total-duration-in-minutes
107+
tags:
108+
- talk
109+
presentation: presentation/file-name.pdf
110+
speakers_info:
111+
- name: "Speaker Name"
112+
company: "Company Name"
113+
city: "City, Country"
114+
photoURL: "/images/speakers/speaker-photo.jpg"
115+
draft: false
116+
---
117+
118+
Session description and content.
119+
```
120+
121+
## 3. Add New Speaker Information (if the speaker already exists, then skip this step)
122+
123+
1. Navigate to the `public/speakers` directory
124+
2. For each speaker in the current conference:
125+
- Check if the speaker already exists by searching for their name in the `speakers/` directory
126+
- If the speaker does not exist:
127+
- Create a new directory named after the speaker (e.g., `utkarsh/`)
128+
- Create an index.html file in their directory.
129+
- Follow the existing speaker's index.html structure while updating the content with the new speaker's information
130+
131+
## Important Notes
132+
133+
### File Naming Conventions
134+
- Use lowercase for filenames
135+
- Use hyphens for spaces
136+
- Include the year in relevant filenames
137+
138+
### Front Matter
139+
- Always include required fields
140+
- Refer to the existing files for the required fields
141+
142+
### Content Organization
143+
- Keep content organized by year
144+
- Maintain consistent formatting across all files
145+
- Use relative links for internal navigation
146+
147+
### Media Files
148+
- Store images in the `static/images/` directory
149+
- Use appropriate subdirectories for different types of media
150+
- Optimize images before adding them
151+
152+
### Testing
153+
- After adding new content, test the website locally
154+
- Verify all links work correctly
155+
- Check that the content displays properly on different screen sizes
156+
157+
---
158+
159+
## Best Practices
160+
161+
1. **Content Consistency**
162+
- Maintain consistent formatting across all files
163+
- Use the same date format throughout
164+
- Follow the established naming conventions
165+
166+
2. **Version Control**
167+
- Create a new branch for each conference edition
168+
- Use descriptive commit messages
169+
170+
3. **Content Review**
171+
- Proofread all content before publishing
172+
- Verify all links are working
173+
- Check for proper formatting
174+
175+
4. **Accessibility**
176+
- Ensure all images have alt text
177+
- Use proper heading hierarchy
178+
179+
5. **Performance**
180+
- Optimize images before adding them
181+
- Keep file sizes reasonable
182+
- Use appropriate image formats
183+
184+
---
185+
186+
For any questions or issues, please contact the website maintainers or open an issue in the repository.

0 commit comments

Comments
 (0)