Skip to content

Commit 652d578

Browse files
committed
Fix pages forment for Fuutre
1 parent fc664f8 commit 652d578

5 files changed

Lines changed: 154 additions & 119 deletions

File tree

CONTRIBUTING.md

Lines changed: 98 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,79 @@
1-
# Contributing to Free Code Notes
1+
# Contributing to Free Code Notes 🚀
22

3-
Thank you for contributing! This guide defines the **exact format and structure** every page must follow. Consistent structure makes the knowledge base easy to navigate in Logseq and SEO-friendly on the web.
3+
Thank you for taking the time to contribute! This guide defines the **exact format and structure** every page must follow. Consistent structure makes the knowledge base easy to navigate in Logseq and SEO-friendly on the web.
44

55
---
66

77
## Page Types & Which Format to Use
88

9-
| Page Type | Format to Follow |
10-
|---|---|
11-
| Programming Language | [Programming Page Format](#programming-page-format) |
12-
| Operating System / Distro | [OS Page Format](#os-page-format) |
13-
| Framework / Library | [Framework Page Format](#frameworklibrary-page-format) |
14-
| Algorithm / Data Structure | [Algorithm Page Format](#algorithmdata-structure-format) |
15-
| Tool / Software | [Tool Page Format](#toolsoftware-format) |
16-
| Concept / Theory | [Concept Page Format](#concepttheory-format) |
9+
Please follow the correct template based on the type of page you are creating:
10+
11+
| Page Type | Format to Follow | Description |
12+
| :--- | :--- | :--- |
13+
| 💻 **Programming Language** | [Programming Page Format](#programming-page-format) | For core languages like C++, Python, Java, etc. |
14+
| 🐧 **Operating System / Distro** | [OS Page Format](#os-page-format) | For distros and OS-related guides like Kali Linux, Ubuntu, etc. |
15+
| 📦 **Framework / Library** | [Framework/Library Page Format](#frameworklibrary-page-format) | For libraries and frameworks like React, Express, etc. |
16+
| 🧮 **Algorithm / Data Structure** | [Algorithm/Data Structure Format](#algorithmdata-structure-format) | For DSA topics like Binary Search, Dijkstra's Algorithm, etc. |
17+
| 🛠️ **Tool / Software** | [Tool/Software Format](#toolsoftware-format) | For software utilities and tools like Git, Docker, etc. |
18+
| 💡 **Concept / Theory** | [Concept/Theory Format](#concepttheory-format) | For general theoretical and conceptual pages. |
1719

1820
---
1921

2022
## File Naming Convention
2123

22-
- Use the **exact display name** as the filename: `Kali Linux.md`, `Cpp.md`, `React js.md`
23-
- Use kebab-case only for multi-word algorithmic pages: `Binary Search.md`, `Dijkstras Algorithm.md`
24-
- Place all pages inside the `/pages/` directory
25-
- Link pages in `index.md` under the correct section using Logseq `[[Page Name]]` syntax
24+
To maintain consistency across the knowledge base, adhere to these rules:
25+
26+
* Use the **exact display name** as the filename:
27+
* *Examples:* `Kali Linux.md`, `Cpp.md`, `React js.md`
28+
* Use kebab-case/spaces properly:
29+
* *Algorithmic pages:* Use kebab-case/capitalization matching the name, e.g., `Binary Search.md`, `Dijkstras Algorithm.md`
30+
* Place all files inside the `pages/` directory.
31+
* Link your new pages in `index.md` under the correct section using Logseq `[[Page Name]]` syntax.
2632

2733
---
2834

29-
## Frontmatter (Required on Every Page)
35+
## Frontmatter Configuration (Required)
3036

31-
Every page **must** start with SEO frontmatter:
37+
Every page **must** start with the following SEO-optimized frontmatter:
3238

3339
```yaml
34-
3540
seoTitle: <Page Name> Complete Guide – <Short Description>
3641
description: "Comprehensive <topic> reference covering <key topics>."
37-
keywords: "<keyword1>, <keyword2>, ..., VR-Rathod, Code-Note,Vaibhav Rathod, vaibhav, Vaibhav, VR, code note vr, vr book , <You'r name / your code tags>"
38-
displayTitle: Better Title # This is title of page (not required for all page)
39-
`seoTitle` — Keep under 60 characters. Format: `Topic Name – Subtitle`
40-
`description` — 1-2 sentences, 120-160 characters. Mention key subtopics.
41-
`keywords` — Comma-separated. Always end with the standard author tags.
42-
comments: false/true (For Enabling or disable comments)
42+
keywords: "<keyword1>, <keyword2>, ..., VR-Rathod, Code-Note, Vaibhav Rathod, vaibhav, Vaibhav, VR, code note vr, vr book, <Your name / your code tags>"
43+
displayTitle: Better Title # This is the title of the page (not required for all pages)
44+
comments: false/true # For enabling or disabling comments
4345
treeTitle: main page - sub page - sub page
4446
```
4547
46-
### For Single Writer
48+
### Author Attribution
49+
50+
#### For a Single Author
4751
```yaml
48-
author: Your Name (Default Vaibav Rathod)
49-
authorUrl: Youe Website URl (Default Git profile VR-Rathod)
52+
author: Your Name (Default: Vaibhav Rathod)
53+
authorUrl: Your Website URL (Default: GitHub profile VR-Rathod)
5054
```
5155
52-
### For Multiple writers
56+
#### For Multiple Authors
5357
```yaml
5458
authors:
5559
- name: Name 1
5660
url: Url 1
57-
58-
- name : Name 2
61+
- name: Name 2
5962
url: Url 2
6063
```
64+
6165
---
6266
63-
## Programming Page Format
67+
## Page Structure Templates
6468
65-
This is the **primary format**. See `Cpp.md` or `Java.md` as reference implementations.
69+
Below are the templates for each page type. You can copy and paste these directly to start writing your page.
6670
67-
```
71+
### Programming Page Format
72+
73+
> [!NOTE]
74+
> See [Cpp.md](pages/Cpp.md) or `Java.md` as reference implementations.
75+
76+
```text
6877
# History
6978
collapsed:: true
7079
- How: (origin story, who created it, when)
@@ -137,18 +146,19 @@ This is the **primary format**. See `Cpp.md` or `Java.md` as reference implement
137146
```
138147

139148
**Rules for code blocks:**
140-
- Always use fenced code blocks with the language tag: ` ```c++ `, ` ```python `, ` ```java `
141-
- Include comments inside code explaining what each line does
142-
- Show both the code AND its output where relevant
143-
- Keep examples minimal but complete — they must run as-is
149+
* Always use fenced code blocks with the language tag: ` ```c++ `, ` ```python `, ` ```java `
150+
* Include comments inside code explaining what each line does.
151+
* Show both the code **AND** its output where relevant.
152+
* Keep examples minimal but complete — they must run as-is.
144153

145154
---
146155

147-
## OS Page Format
156+
### OS Page Format
148157

149-
See `Kali Linux.md` as the reference implementation.
158+
> [!NOTE]
159+
> See [Kali Linux.md](pages/Kali Linux.md) as the reference implementation.
150160

151-
```
161+
```text
152162
# History
153163
collapsed:: true
154164
- How / Who / Why
@@ -209,9 +219,9 @@ See `Kali Linux.md` as the reference implementation.
209219

210220
---
211221

212-
## Framework/Library Page Format
222+
### Framework/Library Page Format
213223

214-
```
224+
```text
215225
# History
216226
collapsed:: true
217227
@@ -239,11 +249,12 @@ See `Kali Linux.md` as the reference implementation.
239249

240250
---
241251

242-
## Algorithm/Data Structure Format
252+
### Algorithm/Data Structure Format
243253

244-
See `Binary Search.md` or `` as reference implementations.
254+
> [!NOTE]
255+
> See `Binary Search.md` as the reference implementation.
245256

246-
```
257+
```text
247258
# Explanation
248259
- Clear definition, purpose, real-world use cases
249260
- ## Real-World Analogy (optional but recommended)
@@ -284,9 +295,9 @@ See `Binary Search.md` or `` as reference implementations.
284295

285296
---
286297

287-
## Tool/Software Format
298+
### Tool/Software Format
288299

289-
```
300+
```text
290301
# History
291302
collapsed:: true
292303
@@ -309,10 +320,12 @@ See `Binary Search.md` or `` as reference implementations.
309320

310321
---
311322

312-
## Concept/Theory Format
313-
[[internal link must be inthere pera or bullte points name menastion]]
323+
### Concept/Theory Format
314324

315-
```
325+
> [!IMPORTANT]
326+
> Internal links (using `[[Page Name]]`) must be included within paragraphs or bullet points where page names are mentioned.
327+
328+
```text
316329
# What is <Concept>?
317330
- Clear definition
318331
@@ -331,26 +344,36 @@ See `Binary Search.md` or `` as reference implementations.
331344

332345
---
333346

334-
## Code Block Formats
347+
## Code Block Styles
335348

336349
This project uses three code block styles. Use the right one for the right context:
337350

338351
### 1. Plain Fenced Block — ```` ```language ````
339352
Use for a **single standalone snippet** inside a regular bullet.
353+
340354
```python
341355
def example():
342356
pass
343357
```
344358

345359
### 2. `:::code-note` — Single-Language Focus Block
346-
Use for a **featured snippet** that deserves visual emphasis — a clean, dedicated display for one language.
347-
Perfect for: recursive variants, utility helpers, built-in usage examples.
360+
Use for a **featured snippet** that deserves visual emphasis — a clean, dedicated display for one language. Perfect for: recursive variants, utility helpers, and built-in usage examples.
348361

362+
```text
363+
:::code-note
349364
350-
### 3. `:::code-tabs` — Multi-Language Tab View
351-
Use when showing the **same algorithm in multiple languages** side by side as switchable tabs.
352-
Perfect for: main implementation sections where you want Python, C++, JS, Java, C all available.
365+
```python
366+
def example_highlighted():
367+
# Highlights a specific, important implementation detail
368+
pass
369+
```
370+
:::
353371
```
372+
373+
### 3. `:::code-tabs` — Multi-Language Tab View
374+
Use when showing the **same algorithm in multiple languages** side-by-side as switchable tabs. Perfect for: main implementation sections where you want Python, C++, JS, Java, and C all available.
375+
376+
```text
354377
:::code-tabs
355378
356379
```python
@@ -368,35 +391,36 @@ Perfect for: main implementation sections where you want Python, C++, JS, Java,
368391
:::
369392
```
370393
371-
> **Rule:** Always use `:::code-tabs` for multi-language implementations, `:::code-note` for single highlighted snippets, and plain fenced blocks for inline examples within bullet text.
394+
> [!IMPORTANT]
395+
> Always use `:::code-tabs` for multi-language implementations, `:::code-note` for single highlighted snippets, and plain fenced blocks for inline examples within bullet text.
372396
373397
---
374398
375399
## General Rules (Apply to ALL Pages)
376400
377-
1. **collapsed:: true** — Add to every top-level section except the first (`# Explanation`) and last (`# Key Takeaways`). This keeps Logseq clean.
378-
2. **Logseq bullet syntax** — All content must use `- ` (dash + space, by default will apply if you are using Logseq) bullet format. Headings inside bullets use `## ` or `### `.
379-
3. **Internal links** — Use `[[Page Name]]` to link to other pages in the knowledge base. Never use relative file paths.
380-
4. **No broken links** — Only link to pages that actually exist in `/pages/`. If the page doesn't exist yet, create it or leave plain text.
381-
5. **Code blocks** — Always specify the language tag. Use ```` ```bash ```` for terminal commands, ```` ```python ```` for Python, etc. See [Code Block Formats](#code-block-formats) for `:::code-note` and `:::code-tabs`.
382-
6. **No promotion** — The `# More Learn` section only accepts links to trusted public resources: GitHub repos, official docs, free YouTube playlists. No personal social media promotion.
383-
7. **Spelling & grammar** — Write in clear English. Use spell-check before submitting.
384-
8. **No duplicate content** — If a topic is already covered in another page, link to it with `[[Page Name]]` instead of repeating it.
385-
9. **SEO keywords** — Always end the `keywords` frontmatter field with `, VR-Rathod, Code-Note, code note vr, vr book`.
386-
10. **File size** — There is no maximum size. Bigger, more detailed pages are better. Depth is valued over brevity.
387-
11. **Code comments** — All code snippets must have inline comments explaining key lines. Show output where relevant.
388-
12. **Overflow prevention** — In C/C++/Java, always use `mid = low + (high - low) / 2` instead of `(low + high) / 2` when doing binary search to prevent integer overflow. Document this in your code.
401+
1. **`collapsed:: true`** — Add to every top-level section except the first (e.g., `# Explanation` or `# History`) and last (e.g., `# Key Takeaways` or `# More Learn`). This keeps the Logseq interface clean.
402+
2. **Logseq Bullet Syntax** — All content must use the `- ` (dash + space) bullet format. Headings inside bullets must use `## ` or `### `.
403+
3. **Internal Links** — Use `[[Page Name]]` to link to other pages in the knowledge base. Never use relative file paths.
404+
4. **No Broken Links** — Only link to pages that actually exist in `/pages/`. If the page doesn't exist yet, create it first or leave it as plain text.
405+
5. **Code Block Language Tags** — Always specify the language tag. Use ```` ```bash ```` for terminal commands, ```` ```python ```` for Python, etc. See the [Code Block Styles](#code-block-styles) section.
406+
6. **No Promotion** — The `# More Learn` section only accepts links to trusted public resources (GitHub repositories, official docs, free YouTube playlists). Personal social media promotion is strictly prohibited.
407+
7. **Spelling & Grammar** — Write in clear English. Perform a spell-check before submitting.
408+
8. **No Duplicate Content** — If a topic is already covered in another page, link to it with `[[Page Name]]` instead of duplicating information.
409+
9. **SEO Keywords** — Always end the `keywords` frontmatter field with: `, VR-Rathod, Code-Note, code note vr, vr book`.
410+
10. **File Size** — There is no maximum size limit. Deeper, more comprehensive pages are highly valued over brief summaries.
411+
11. **Code Comments** — All code snippets must have inline comments explaining key lines. Include command output where relevant.
412+
12. **Overflow Prevention** — In C, C++, and Java, always use `mid = low + (high - low) / 2` instead of `(low + high) / 2` when implementing binary search to prevent integer overflow. Make sure to document this in your code comments.
389413
390414
---
391415
392416
## Submitting Your Contribution
393417
394-
1. Fork the repository
395-
2. Create your page in `/pages/` following the correct format above
396-
3. Add a link to your page in `index.md` under the correct section
397-
4. Submit a Pull Request with a clear title: `Add: <Page Name>` or `Update: <Page Name>`
398-
5. In the PR description, briefly describe what you added or changed
418+
1. **Fork** the repository.
419+
2. **Create your page** inside the `/pages/` directory following the correct template and general rules.
420+
3. **Add a link** to your page in `index.md` under the correct category section.
421+
4. **Submit a Pull Request (PR)** with a clear, descriptive title (e.g., `Add: <Page Name>` or `Update: <Page Name>`).
422+
5. In the PR description, briefly outline what content was added or updated.
399423
400-
If you have any questions, contact via the repository issues or email listed in the README.
424+
If you have any questions, feel free to reach out via the repository's GitHub Issues or check the contact email listed in the `README.md`.
401425
402426
Thank you for contributing! 🦾

0 commit comments

Comments
 (0)