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: CONTRIBUTING.md
+98-74Lines changed: 98 additions & 74 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,70 +1,79 @@
1
-
# Contributing to Free Code Notes
1
+
# Contributing to Free Code Notes 🚀
2
2
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.
4
4
5
5
---
6
6
7
7
## Page Types & Which Format to Use
8
8
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)|
| 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. |
17
19
18
20
---
19
21
20
22
## File Naming Convention
21
23
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:
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.
348
361
362
+
```text
363
+
:::code-note
349
364
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
+
:::
353
371
```
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
354
377
:::code-tabs
355
378
356
379
```python
@@ -368,35 +391,36 @@ Perfect for: main implementation sections where you want Python, C++, JS, Java,
368
391
:::
369
392
```
370
393
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.
372
396
373
397
---
374
398
375
399
## General Rules (Apply to ALL Pages)
376
400
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.
389
413
390
414
---
391
415
392
416
## Submitting Your Contribution
393
417
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 cleartitle: `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.
399
423
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`.
0 commit comments