Skip to content

Commit d83c530

Browse files
authored
Merge pull request open-neuromorphic#222 from neural-loop/ONM-Vision-Redesign
Onm Vision & Redesign
2 parents 824c5a2 + 872e38b commit d83c530

File tree

2,751 files changed

+31481
-24481
lines changed

Some content is hidden

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

2,751 files changed

+31481
-24481
lines changed

.github/config/htaccess.template

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
<IfModule mod_deflate.c>
2+
AddOutputFilterByType DEFLATE application/javascript
3+
AddOutputFilterByType DEFLATE application/rss+xml
4+
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
5+
AddOutputFilterByType DEFLATE application/x-font
6+
AddOutputFilterByType DEFLATE application/x-font-opentype
7+
AddOutputFilterByType DEFLATE application/x-font-otf
8+
AddOutputFilterByType DEFLATE application/x-font-truetype
9+
AddOutputFilterByType DEFLATE application/x-font-ttf
10+
AddOutputFilterByType DEFLATE application/x-javascript
11+
AddOutputFilterByType DEFLATE application/xhtml+xml
12+
AddOutputFilterByType DEFLATE application/xml
13+
AddOutputFilterByType DEFLATE font/opentype
14+
AddOutputFilterByType DEFLATE font/otf
15+
AddOutputFilterByType DEFLATE font/ttf
16+
AddOutputFilterByType DEFLATE image/svg+xml
17+
AddOutputFilterByType DEFLATE image/x-icon
18+
AddOutputFilterByType DEFLATE text/css
19+
AddOutputFilterByType DEFLATE text/html
20+
AddOutputFilterByType DEFLATE text/javascript
21+
AddOutputFilterByType DEFLATE text/plain
22+
AddOutputFilterByType DEFLATE text/xml
23+
BrowserMatch ^Mozilla/4 gzip-only-text/html
24+
BrowserMatch ^Mozilla/4\.0[678] no-gzip
25+
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
26+
Header append Vary User-Agent
27+
</IfModule>
28+
29+
<IfModule mod_expires.c>
30+
ExpiresActive On
31+
ExpiresDefault "access plus 1 month"
32+
ExpiresByType text/cache-manifest "access plus 0 seconds"
33+
ExpiresByType text/html "access plus 0 seconds"
34+
ExpiresByType text/xml "access plus 0 seconds"
35+
ExpiresByType application/xml "access plus 0 seconds"
36+
ExpiresByType application/json "access plus 0 seconds"
37+
ExpiresByType application/rss+xml "access plus 1 hour"
38+
ExpiresByType application/atom+xml "access plus 1 hour"
39+
ExpiresByType image/x-icon "access plus 1 week"
40+
ExpiresByType image/gif "access plus 1 month"
41+
ExpiresByType image/png "access plus 1 month"
42+
ExpiresByType image/jpeg "access plus 1 month"
43+
ExpiresByType image/webp "access plus 1 month"
44+
ExpiresByType video/ogg "access plus 1 month"
45+
ExpiresByType audio/ogg "access plus 1 month"
46+
ExpiresByType video/mp4 "access plus 1 month"
47+
ExpiresByType video/webm "access plus 1 month"
48+
ExpiresByType text/x-component "access plus 1 month"
49+
ExpiresByType font/truetype "access plus 1 month"
50+
ExpiresByType font/opentype "access plus 1 month"
51+
ExpiresByType font/woff "access plus 1 month"
52+
ExpiresByType font/woff2 "access plus 1 month"
53+
ExpiresByType image/svg+xml "access plus 1 month"
54+
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
55+
ExpiresByType text/css "access plus 1 year"
56+
ExpiresByType application/javascript "access plus 1 year"
57+
</IfModule>
58+
59+
<IfModule mod_headers.c>
60+
<FilesMatch "\.(avif|css|eot|gif|gz|ico|jpeg|jpg|js|json|manifest|mp4|ogg|otf|png|svg|ttc|ttf|txt|webmanifest|webm|webp|woff|woff2|xml|zip)$">
61+
Header set Cache-Control "max-age=31536000, public"
62+
</FilesMatch>
63+
</IfModule>

.github/workflows/main.yml

Lines changed: 61 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: Deploy Hugo site to Pages
22

33
on:
44
push:
5-
branches: ["main"]
5+
branches: ["main", "refactor-merge"]
66

77
permissions:
88
contents: read
@@ -11,9 +11,9 @@ permissions:
1111

1212
env:
1313
HUGO_ENV: production
14-
HUGO_VERSION: "0.118.2"
15-
GO_VERSION: "1.20.5"
16-
NODE_VERSION: "18.15.0"
14+
HUGO_VERSION: "0.147.7"
15+
GO_VERSION: "1.24.3"
16+
NODE_VERSION: "22.16.0"
1717

1818
jobs:
1919
build:
@@ -26,8 +26,15 @@ jobs:
2626
2727
- name: Install Go
2828
run: |
29-
wget -O ${{ runner.temp }}/go.deb https://dl.google.com/go/go${GO_VERSION}.linux-amd64.tar.gz \
30-
&& sudo tar -C /usr/local -xzf ${{ runner.temp }}/go.deb
29+
# Corrected to download linux-arm64 for ARM runner
30+
wget -O ${{ runner.temp }}/go.tar.gz https://go.dev/dl/go${GO_VERSION}.linux-arm64.tar.gz \
31+
&& sudo tar -C /usr/local -xzf ${{ runner.temp }}/go.tar.gz \
32+
&& sudo ln -s /usr/local/go/bin/go /usr/local/bin/go # Ensure go is in PATH
33+
34+
- name: Install wkhtmltopdf
35+
run: |
36+
sudo apt update
37+
sudo apt install wkhtmltopdf imagemagick -y
3138
3239
- name: Checkout
3340
uses: actions/checkout@v4.2.2
@@ -39,51 +46,79 @@ jobs:
3946
id: pages
4047
uses: actions/configure-pages@v5
4148

42-
- name: Setup Project
43-
run: npm run project-setup
44-
4549
- name: Install npm dependencies
4650
run: npm install
4751

4852
- name: Determine Base URL
4953
id: base_url
5054
run: |
51-
if [[ "${{ github.repository_owner }}.github.io" == "open-neuromorphic.github.io" ]]; then
55+
if [[ "${{ github.repository_owner }}.github.io" == "open-neuromorphic.github.io" && "${{ github.ref_name }}" == "main" ]]; then
5256
BASE_URL="https://open-neuromorphic.org/"
57+
elif [[ "${{ github.repository_owner }}.github.io" == "open-neuromorphic.github.io" && "${{ github.ref_name }}" == "refactor" ]]; then
58+
BASE_URL="https://open-neuromorphic.github.io/refactor-preview/" # Example preview URL
5359
else
5460
REPO_NAME=$(echo "${{ github.repository }}" | cut -d '/' -f 2)
55-
if [[ "${{ github.repository_owner }}" == "${{ github.repository_owner }}" ]]; then
56-
BASE_URL="https://${{ github.repository_owner }}.github.io/${REPO_NAME}/"
57-
else
58-
BASE_URL="https://${{ github.repository_owner }}.github.io/"
59-
fi
61+
# For forks or other repositories, adjust as needed
62+
BASE_URL="https://${{ github.repository_owner }}.github.io/${REPO_NAME}/"
6063
fi
6164
echo "BASE_URL=$BASE_URL" >> $GITHUB_ENV
65+
echo "Determined BASE_URL: $BASE_URL"
6266
6367
- name: Modify hugo.toml
64-
run: sed -i "s|baseURL = .*|baseURL = \"$BASE_URL\"|" hugo.toml
65-
66-
- name: Create public directory
67-
run: mkdir -p public
68-
69-
- name: Create .htaccess (if needed)
70-
run: touch public/.htaccess
68+
run: |
69+
echo "Attempting to set baseURL to $BASE_URL in hugo.toml"
70+
sed -i "s|baseURL = .*|baseURL = \"$BASE_URL\"|" hugo.toml
71+
echo "hugo.toml after modification:"
72+
cat hugo.toml
7173
7274
- name: Build site
73-
run: npm run build
75+
run: |
76+
echo "Starting site build..."
77+
npm run build
78+
echo "Site build completed."
79+
echo "Contents of public directory after build:"
80+
ls -la public
7481
75-
- name: Modify .htaccess (Prevent Indexing)
82+
- name: Create and Populate .htaccess
83+
run: |
84+
echo "Creating and populating .htaccess in public directory"
85+
# Ensure public directory exists (though npm run build should create it)
86+
mkdir -p public
87+
cat .github/config/htaccess.template > public/.htaccess
88+
echo ".htaccess created and populated."
89+
echo "Contents of public/.htaccess:"
90+
cat public/.htaccess
91+
92+
- name: Modify .htaccess (Prevent Indexing if not production Open Neuromorphic)
7693
run: |
94+
echo "Current BASE_URL for .htaccess modification: $BASE_URL"
7795
if [[ "$BASE_URL" != "https://open-neuromorphic.org/" ]]; then
78-
sudo chmod 666 public/.htaccess
96+
echo "Modifying .htaccess to prevent indexing for $BASE_URL"
97+
# The file is created by the workflow user, sudo likely not needed for chmod.
98+
# If issues persist, can use sudo, but check file ownership first.
99+
chmod u+w public/.htaccess # Ensure user has write permission
100+
echo "" >> public/.htaccess # Add a newline for separation
101+
echo "# Rules to prevent indexing on non-production deployments" >> public/.htaccess
79102
echo "Header set X-Robots-Tag \"noindex, nofollow\"" >> public/.htaccess
103+
echo ".htaccess modified."
104+
echo "Final contents of public/.htaccess:"
105+
cat public/.htaccess
106+
else
107+
echo ".htaccess modification skipped for production URL."
80108
fi
81109
82-
- name: Create robots.txt (Prevent Indexing)
110+
- name: Create robots.txt (Prevent Indexing if not production)
83111
run: |
112+
echo "Current BASE_URL for robots.txt creation: $BASE_URL"
84113
if [[ "$BASE_URL" != "https://open-neuromorphic.org/" ]]; then
114+
echo "Creating robots.txt to prevent indexing for $BASE_URL"
85115
echo "User-agent: *" > public/robots.txt
86116
echo "Disallow: /" >> public/robots.txt
117+
echo "robots.txt created."
118+
echo "Contents of public/robots.txt:"
119+
cat public/robots.txt
120+
else
121+
echo "robots.txt creation skipped for production URL."
87122
fi
88123
89124
- name: Upload artifact

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,6 @@ go.sum
1717
yarn.lock
1818
/content/english/.idea/
1919
.idea
20+
/tmp/ogImageData.json
21+
/tmp/output_full.txt
22+
/tmp/

.gitlab-ci.yml

Lines changed: 0 additions & 38 deletions
This file was deleted.

CODE_OF_CONDUCT.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
**Open Neuromorphic’s CODE OF CONDUCT**
2+
3+
Open Neuromorphic (ONM) remains committed to fostering a harmonious environment among all its members. We strive to enable all the ONM members – irrespective of their religion / faith / sex / gender expression / sexual orientation / race / ethnicity / age / body shape / disability – to contribute positively to the science and tech of Neuromorphic Computing. Following are the guidelines and policies of ONM’s Code of Conduct that we encourage all the ONM members to strictly adhere to – failure of which may result in a ban on their account.
4+
5+
**Code of Conduct:**
6+
7+
1. You will engage in constructive and productive conversations with other ONM members. Always remember that you are here to learn and disseminate your knowledge.
8+
2. You can constructively criticize other members’ scientific opinions, but never to the point of harassing them. We expect all the ONM members to maintain a professional decorum and engage in polite discussions / debates if differences due to scientific opinions arise.
9+
3. Science and Tech are built on citation of credible sources / references. While engaged in discussions and if required (and if possible) – we encourage all the ONM members to provide credible scientific resources to back their statements. This is not mandatory but a good practice.
10+
4. You will not use the ONM platform to promote any social or political beliefs / agendas / campaigns. Creation of bots to do this will also be considered in violation.
11+
5. Harassment of ONM members on the basis of – religion / faith / gender expression / sexual orientation / race / ethnicity / age / body shape / disability – will not be tolerated to any degree. The act of harassment includes the usage of abusive / derogatory language, bullying, coercing, intimidating, stalking, sharing provocative content / sexual imagery, unwelcome sexual advances or soliciting sexual favors. Harassment of any sort when reported will be strictly and immediately dealt with – by the ONM founders. Note that:
12+
1. You cannot compel any ONM member to align to your personal opinions / beliefs / preferences. All the ONM members reserve the right to respectfully differ from your personal opinions / beliefs / preferences.
13+
2. An ONM member harassing another ONM member(s) outside of the ONM social platforms will still be held accountable and corrective actions will be taken.
14+
15+
**Corrective actions taken against violating ONM’s Code of Conduct:**
16+
17+
1. We strongly encourage ONM members to report any violation of the ONM’s Code of Conduct to the ONM founders / contributors. Upon receiving such reports along with related evidences, the ONM founders reserve the right to take the following appropriate actions (but not limited to) – in proportion to the violation:
18+
1. Imposing a temporary or permanent ban on the account of the violator on all the ONM platforms.
19+
2. Reporting the act of harassment to the law officials if the degree of violation demands.
20+
21+
ONM founders reserve the right to revise the terms of the ONM’s Code of Conduct in future. The terms of this Code of Conduct are non-negotiable and your presence on any of the ONM’s platforms indicates your agreement to abide by these above-mentioned policies.

amplify.yml

Lines changed: 0 additions & 29 deletions
This file was deleted.

archetypes/blog.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
title: "{{ replace .Name "-" " " | title }}" # Blog Post Title: Aim for 50-60 characters. Make it catchy and keyword-rich.
3+
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+
draft: true
10+
author:
11+
- "Your Name or Author Slug" # Match with a contributor profile title or slug (see project docs for format)
12+
showTableOfContents: true # Set to false if the post is short or doesn't need a ToC
13+
---
14+
15+
Start writing your blog post content here...
16+
Use Markdown for formatting.

archetypes/contributors.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
title: "Full Name" # Contributor's Full Name. This is used for matching in author fields, ensure consistency.
3+
# 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.
6+
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.
9+
social:
10+
- icon: "fa-brands fa-linkedin" # Font Awesome icon class
11+
link: "https://www.linkedin.com/in/username"
12+
title: "linkedin" # For accessibility
13+
- icon: "fa-brands fa-github"
14+
link: "https://github.com/username"
15+
title: "github"
16+
- icon: "fa fa-house" # Or "fa-solid fa-globe" for a personal website/portfolio
17+
link: "https://personal-website.com"
18+
title: "website"
19+
draft: true # Set to false once the profile is complete and ready to publish.
20+
---
21+
22+
More detailed information about the contributor can go here.
23+
This content will appear on their individual contributor page.
24+
You can include sections like:
25+
- Affiliations (Current and Past)
26+
- Research Interests / Areas of Expertise
27+
- Specific Contributions to Open Neuromorphic
28+
- Links to key publications or projects (if not covered by social links)

archetypes/default.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
title: "{{ replace .Name "-" " " | title }}" # Page Title: Keep it concise and descriptive (50-60 characters for optimal SEO display).
3+
date: {{ .Date }}
4+
# Meta description for SEO (120-160 characters).
5+
# This appears in search results under the title. It's your chance to 'sell' the content.
6+
# Make it compelling, include keywords naturally, and clearly state the page's value proposition.
7+
description: "A concise and compelling description of this page."
8+
draft: true
9+
---
10+
11+
Your page content goes here.

archetypes/hacking-hours.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
title: "Workshop: {{ replace .Name "-" " " | title }}" # Workshop Title: Clear & concise (50-60 chars). Include speaker/topic if possible for SEO.
3+
author:
4+
- "Speaker Name or Slug" # Match with a contributor profile title/slug. Add more authors if needed.
5+
date: {{ .Date }} # Date of the workshop (YYYY-MM-DD).
6+
start_time: "18:00" # Event start time (24-hour format HH:MM).
7+
end_time: "19:30" # Event end time (24-hour format HH:MM).
8+
time_zone: "CET" # Timezone (e.g., CET, CEST, EST, PST).
9+
# Meta Description (SEO): 120-160 characters.
10+
# This is crucial for search results! It's your "ad copy."
11+
# - Briefly state what the workshop is about.
12+
# - Mention key topics or speakers.
13+
# - Highlight the value/benefit for attendees.
14+
# - Include relevant keywords naturally.
15+
description: "Join us for an insightful workshop on [Topic] by [Speaker Name]. Discover [Key Takeaway 1] and explore [Key Takeaway 2] in neuromorphic computing."
16+
upcoming: true # Set to 'true' for future events. Change to 'false' after the event.
17+
video: "" # After the event, add the YouTube video ID (e.g., "dQw4w9WgXcQ").
18+
image: "workshop-banner.png" # Main banner image (1200x630px ideal for sharing). Place in this workshop's folder.
19+
speaker_photo: "speaker-photo.jpg" # Speaker's photo. Place in this workshop's folder.
20+
type: "hacking-hours" # IMPORTANT: Do not change this line for hacking hour events.
21+
# For Student Talks, set type: "student-talks"
22+
speaker_bio: "A brief biography of the speaker. Highlight their expertise relevant to the workshop topic."
23+
# Optional: Add links to slides, code, or notebooks if available after the workshop.
24+
# Place these files in this workshop's folder and link them:
25+
# speaker_slides: "slides.pdf"
26+
# speaker_code: "https://github.com/example/repo" # External link
27+
# speaker_notebook: "my-notebook.ipynb" # Place in folder
28+
---
29+
30+
Detailed workshop abstract or information goes here.
31+
Explain what attendees will learn, the agenda, and any prerequisites.

0 commit comments

Comments
 (0)