Skip to content

Commit f31bd4f

Browse files
authored
Merge pull request #265 from neural-loop/main
Updates
2 parents 041779b + 71131a7 commit f31bd4f

File tree

15 files changed

+218
-216
lines changed

15 files changed

+218
-216
lines changed

CONTRIBUTING.md

Lines changed: 36 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,19 @@ First off, thank you for considering contributing to the Open Neuromorphic (ONM)
44

55
This document provides guidelines for contributing to the ONM website. Please read it carefully to ensure a smooth and effective collaboration process.
66

7-
Before you start, please read our [Code of Conduct](./CODE_OF_CONDUCT.md). We expect all contributors to adhere to it in all interactions with the project.
7+
Before you start, please read our [Code of Conduct](https://github.com/open-neuromorphic/open-neuromorphic.github.io/blob/main/CODE_OF_CONDUCT.md). We expect all contributors to adhere to it in all interactions with the project.
88

99
## Table of Contents
1010
- [Ways to Contribute](#ways-to-contribute)
1111
- [Getting Started: Local Development Setup](#getting-started-local-development-setup)
1212
- [How to Submit Changes](#how-to-submit-changes)
1313
- [Reporting Bugs and Suggesting Enhancements](#reporting-bugs-and-suggesting-enhancements)
14-
- [Your First Code Contribution](#your-first-code-contribution)
1514
- [Submitting a Pull Request](#submitting-a-pull-request)
1615
- [Content Contribution Guide](#content-contribution-guide)
16+
- [Content Creation Cheat Sheet](#content-creation-cheat-sheet)
1717
- [General Guidelines](#general-guidelines)
1818
- [Adding Blog Posts](#adding-blog-posts)
19-
- [Adding Events (Workshops, Student Talks, etc.)](#adding-events-workshops-student-talks-etc)
19+
- [Adding Events](#adding-events)
2020
- [Adding Hardware or Software Pages](#adding-hardware-or-software-pages)
2121
- [Adding Contributor Profiles](#adding-contributor-profiles)
2222
- [Image Guidelines](#image-guidelines)
@@ -101,48 +101,64 @@ All code and content changes should be submitted via a Pull Request (PR).
101101
102102
## Content Contribution Guide
103103
104-
Adding new content is one of the best ways to contribute. We use Hugo's [archetypes](https://gohugo.io/content-management/archetypes/) to ensure new content has the correct structure.
104+
Adding new content is one of the best ways to contribute. We use Hugo's [archetypes](https://gohugo.io/content-management/archetypes/) to ensure new content has the correct structure. This is especially useful for AI assistants creating content, as the archetypes serve as self-documenting templates.
105+
106+
### Content Creation Cheat Sheet
107+
108+
This table provides the exact commands for creating common content types.
109+
110+
| Content Type | Archetype Command | Location |
111+
| :--- | :--- | :--- |
112+
| **Blog Post** | `hugo new blog/your-post-slug/index.md` | `content/blog/your-post-slug/` |
113+
| **Workshop** | `hugo new workshops/your-event-slug/index.md` | `content/workshops/your-event-slug/` |
114+
| **Student Talk** | `hugo new neuromorphic-computing/student-talks/your-talk-slug/index.md` | `content/neuromorphic-computing/student-talks/your-talk-slug/` |
115+
| **Hacking Hour** | `hugo new neuromorphic-computing/software/hacking-hours/your-session-slug/index.md` | `content/neuromorphic-computing/software/hacking-hours/your-session-slug/` |
116+
| **Hardware Page** | `hugo new neuromorphic-computing/hardware/manufacturer-chip/index.md` | `content/neuromorphic-computing/hardware/manufacturer-chip/` |
117+
| **Software Page** | `hugo new neuromorphic-computing/software/snn-frameworks/software-name/index.md` | `content/neuromorphic-computing/software/snn-frameworks/software-name/` |
118+
| **Contributor** | `hugo new contributors/full-name-slug/index.md` | `content/contributors/full-name-slug/` |
119+
| **Initiative** | `hugo new neuromorphic-computing/initiatives/your-initiative-slug/index.md`| `content/neuromorphic-computing/initiatives/your-initiative-slug/` |
105120

106121
### General Guidelines
107122

108-
* **Use Archetypes:** Always create new content with `hugo new <path>`. This pre-fills the necessary front matter. For content that should have its own images and assets, create a page bundle by adding `index.md` to the path.
109-
* Example: `hugo new blog/my-new-post/index.md`
123+
* **Use Archetypes:** Always create new content with `hugo new <path>` if possible. If you are creating a file manually, copy the relevant file from the `archetypes/` directory to use as a template.
110124
* **Draft Status:** New content is created with `draft: true`. This prevents it from being published. When your content is ready, change this to `draft: false`.
111125
* **SEO is Key:**
112126
* **`title`:** 50-60 characters. Make it descriptive and keyword-rich.
113127
* **`description`:** 120-160 characters. This is the summary shown in search engine results.
114128

115129
### Adding Blog Posts
116130

117-
1. **Create the file:**
131+
1. **Create the file:** (template: [archetypes/blog.md](https://github.com/open-neuromorphic/open-neuromorphic.github.io/blob/main/archetypes/blog.md))
118132
```bash
119133
hugo new blog/your-post-title-slug/index.md
120134
```
121135
2. **Location:** `content/blog/your-post-title-slug/index.md`
122-
3. **Images:** Place images for the post inside the `content/blog/your-post-title-slug/` directory.
123-
4. **Front Matter:** Fill in the `title`, `description`, `author`, and `image` (for the banner). Remember to add `image_attribution` if the banner image requires credit.
136+
3. **Front Matter:** Fill in the `title`, `description`, `author`, and `image` (for the banner). Remember to add `image_attribution` if the banner image requires credit.
137+
4. **Images:** Place images for the post inside the `content/blog/your-post-title-slug/` directory.
138+
139+
### Adding Events
124140

125-
### Adding Events (Workshops, Student Talks, etc.)
141+
Events like workshops, student talks, and hacking hours share a similar structure.
126142

127-
1. **Create the file:**
128-
* **Workshop:** `hugo new workshops/your-event-slug/index.md`
129-
* **Student Talk:** `hugo new neuromorphic-computing/student-talks/your-talk-slug/index.md`
130-
* **Hacking Hour:** `hugo new neuromorphic-computing/software/hacking-hours/your-session-slug/index.md`
131-
2. **Front Matter:** Fill in all event-specific fields: `title`, `author`, `date` (event date), `start_time`, `end_time`, `time_zone`, `upcoming`, `video` (add YouTube ID after the event), `image`, `speaker_photo`, and `speaker_bio`. Ensure the `type` field is set correctly (`workshops`, `student-talks`, or `hacking-hours`).
143+
1. **Create the file:** Use the appropriate command from the cheat sheet.
144+
* Workshop (template: [archetypes/workshops.md](https://github.com/open-neuromorphic/open-neuromorphic.github.io/blob/main/archetypes/workshops.md))
145+
* Student Talk (template: [archetypes/student-talks.md](https://github.com/open-neuromorphic/open-neuromorphic.github.io/blob/main/archetypes/student-talks.md))
146+
* Hacking Hour (template: [archetypes/hacking-hours.md](https://github.com/open-neuromorphic/open-neuromorphic.github.io/blob/main/archetypes/hacking-hours.md))
147+
2. **Front Matter:** Fill in all event-specific fields: `title`, `author`, `date` (event date), `start_time`, `end_time`, `time_zone`, `upcoming`, `video` (add YouTube ID after the event), `image`, `speaker_photo`, and `speaker_bio`.
132148

133149
### Adding Hardware or Software Pages
134150

135-
1. **Create the file:**
136-
* **Hardware:** `hugo new neuromorphic-computing/hardware/manufacturer-chip-name/index.md`
137-
* **Software:** `hugo new neuromorphic-computing/software/snn-frameworks/software-name/index.md`
151+
1. **Create the file:** Use the appropriate command from the cheat sheet.
152+
* Hardware (template: [archetypes/neuromorphic-hardware.md](https://github.com/open-neuromorphic/open-neuromorphic.github.io/blob/main/archetypes/neuromorphic-hardware.md))
153+
* Software (template: [archetypes/neuromorphic-software.md](https://github.com/open-neuromorphic/open-neuromorphic.github.io/blob/main/archetypes/neuromorphic-software.md))
138154
2. **Front Matter:** Follow the structure in the respective archetype. These pages have detailed front matter for specifications.
139155
3. **Images:** Place logos and product images inside the new directory.
140156

141157
### Adding Contributor Profiles
142158

143159
To link content to an author, a contributor profile is required.
144160

145-
1. **Create the file:**
161+
1. **Create the file:** (template: [archetypes/contributors.md](https://github.com/open-neuromorphic/open-neuromorphic.github.io/blob/main/archetypes/contributors.md))
146162
```bash
147163
hugo new contributors/full-name-slug/index.md
148164
```
@@ -163,7 +179,7 @@ To link content to an author, a contributor profile is required.
163179
## Style and Coding Guidelines
164180

165181
* **Templates:** Hugo templates are located in `layouts/`.
166-
* **Styling:** We use Tailwind CSS. Custom styles are in `assets/scss/`. Add project-specific overrides to `assets/scss/custom.scss`.
182+
* **Styling:** We use Tailwind CSS. Custom styles are in `assets/scss/`.
167183
* **JavaScript:** Custom scripts are in `assets/js/main.js`.
168184

169185
### Commit Messages

archetypes/blog.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
---
2-
title: "{{ replace .Name "-" " " | title }}" # Blog Post Title: Aim for 50-60 characters. Make it catchy and keyword-rich.
2+
title: "{{ replace .Name "-" " " | title }}" # Blog Post Title: Aim for 50-60 characters. What's the most compelling headline that includes your main keywords?
33
date: {{ .Date }}
4-
# Meta description for SEO (120-160 characters).
5-
# This appears in search results under the title. Summarize the post and highlight key takeaways.
6-
# Entice users to click by showing the value they'll get from reading.
7-
description: "Engaging summary of this blog post, highlighting key insights or takeaways."
8-
image: "your-banner-image.png" # Suggested: place banner (1200x630px) in this post's folder. Used for OG image.
9-
# Optional: Add image attribution for the banner image.
4+
# Meta Description for SEO (120-160 characters):
5+
# What is the single most valuable takeaway for the reader? What problem does this post solve or what question does it answer?
6+
# Frame it as a promise of value to entice users to click.
7+
description: "A concise and compelling summary of this blog post, highlighting its key insights and value to the reader."
8+
image: "your-banner-image.png" # Essential for social sharing (OG Image). Recommended: 1200x630px. Place in this post's folder.
9+
# Optional: Give credit for the banner image. This helps with copyright and shows good practice.
1010
# image_attribution:
1111
# text: "Photo by"
1212
# author: "Artist Name"
1313
# url: "https://link.to.source"
1414
draft: true
1515
author:
16-
- "Your Name or Author Slug" # Match with a contributor profile title or slug (see project docs for format)
17-
showTableOfContents: true # Set to false if the post is short or doesn't need a ToC
16+
- "Your Name or Author Slug" # Match with a contributor profile to build authoritativeness (E-E-A-T for SEO).
17+
showTableOfContents: true # Set to false if the post is short or doesn't need a ToC.
1818
---
1919

2020
Start writing your blog post content here...

archetypes/contributors.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
2-
title: "Full Name" # Contributor's Full Name. This is used for matching in author fields, ensure consistency.
2+
title: "Full Name" # Contributor's Full Name. This is the key for linking content, ensure it's exact.
33
# Meta Description (SEO): 120-160 characters.
4-
# This shows in search results for the contributor's page.
5-
# Provide a concise bio highlighting their role/expertise in neuromorphic computing or contributions to ONM.
4+
# What is this person's main area of expertise or most significant contribution to the neuromorphic field?
5+
# Frame this to establish their authority and relevance for anyone searching for them.
66
description: "Learn more about [Full Name], a valued contributor to Open Neuromorphic, focusing on [area of expertise/contribution such as 'SNN research' or 'open-source tools']."
7-
image: "profile.jpg" # Profile image (square, e.g., 200x200px). Place in this contributor's folder.
8-
# slug: "custom-url-slug" # Optional: if default slug from title (Full Name) is not desired or needs sanitization for the URL.
7+
image: "profile.jpg" # Profile image (square, e.g., 200x200px). Place in this contributor's folder. Essential for visual identity.
8+
# slug: "custom-url-slug" # Optional: if the auto-generated URL from the title is not ideal.
99
social:
1010
- icon: "fa-brands fa-linkedin" # Font Awesome icon class
1111
link: "https://www.linkedin.com/in/username"
@@ -16,7 +16,7 @@ social:
1616
- icon: "fa fa-house" # Or "fa-solid fa-globe" for a personal website/portfolio
1717
link: "https://personal-website.com"
1818
title: "website"
19-
draft: true # Set to false once the profile is complete and ready to publish.
19+
draft: true # Set to false once the profile is ready to publish.
2020
---
2121

2222
More detailed information about the contributor can go here.

archetypes/hacking-hours.md

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,26 @@
11
---
2-
title: "Hacking Hours: {{ replace .Name "-" " " | title }}" # Hacking Hours Title: Clear & concise (50-60 chars). Include speaker/topic if possible for SEO.
2+
title: "Hacking Hours: {{ replace .Name "-" " " | title }}" # Title: Clear & concise (50-60 chars). What topic and speaker will attract attendees?
33
author:
4-
- "Speaker Name or Slug" # Match with a contributor profile title/slug. Add more authors if needed.
5-
date: {{ .Date }} # Date of the hacking hours (YYYY-MM-DD).
4+
- "Speaker Name or Slug" # Match with a contributor profile title/slug.
5+
date: {{ .Date }} # Date of the event (YYYY-MM-DD).
66
start_time: "18:00" # Event start time (24-hour format HH:MM).
77
end_time: "19:30" # Event end time (24-hour format HH:MM).
88
time_zone: "CET" # Timezone (e.g., CET, CEST, EST, PST).
9-
description: "Join us for an insightful hacking hours on [Topic] by [Speaker Name]. Discover [Key Takeaway 1] and explore [Key Takeaway 2] in neuromorphic computing."
9+
# Meta Description (SEO) 120-160 characters:
10+
# What are the 2-3 most important skills or insights someone will gain from this session?
11+
# Why should someone invest their time to attend this event?
12+
description: "Join us for a hands-on hacking hours on [Topic] with [Speaker Name]. You will learn how to [Key Takeaway 1] and explore [Key Takeaway 2]."
1013
upcoming: true # Set to 'true' for future events. Change to 'false' after the event.
1114
video: "" # After the event, add the YouTube video ID (e.g., "dQw4w9WgXcQ").
12-
image: "hacking-hours-banner.png" # Main banner image (1200x630px ideal for sharing). Place in this hacking hours's folder.
13-
speaker_photo: "speaker-photo.jpg" # Speaker's photo. Place in this hacking hours's folder.
14-
type: "hacking-hours" # IMPORTANT: Do not change this line for hacking hours events.
15-
speaker_bio: "A brief biography of the speaker. Highlight their expertise relevant to the hacking hours topic."
15+
image: "hacking-hours-banner.png" # Main banner image for social sharing (1200x630px). Place in this folder.
16+
speaker_photo: "speaker-photo.jpg" # Speaker's photo. Place in this folder.
17+
type: "hacking-hours" # IMPORTANT: Do not change this line.
18+
speaker_bio: "A brief biography of the speaker. What makes them the right person to talk about this topic?"
1619
# Optional: Add the file name (slug) of any software pages this event is related to.
1720
# e.g., ["spyx", "snntorch"]
1821
software_tags: []
19-
# Optional: Add links to slides, code, or notebooks if available after the hacking hours.
20-
# Place these files in this hacking hours's folder and link them:
22+
# Optional: Add links to slides, code, or notebooks if available after the event.
23+
# Place these files in this folder and link them:
2124
# speaker_slides: "slides.pdf"
2225
# speaker_code: "https://github.com/example/repo" # External link
2326
# speaker_notebook: "my-notebook.ipynb" # Place in folder

0 commit comments

Comments
 (0)