Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@ source "https://rubygems.org"
gem "jekyll", "~> 4.3.0"
gem "minima", "~> 2.5"

# Gems removed from Ruby 3.4 default stdlib — required by Jekyll & its dependencies
gem "csv"
gem "base64"
gem "bigdecimal"
gem "ostruct"
gem "logger"

group :jekyll_plugins do
gem "jekyll-feed"
end
11 changes: 11 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@ GEM
specs:
addressable (2.9.0)
public_suffix (>= 2.0.2, < 8.0)
base64 (0.3.0)
bigdecimal (4.1.2)
colorator (1.1.0)
concurrent-ruby (1.3.6)
csv (3.3.6)
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0)
Expand Down Expand Up @@ -91,6 +93,7 @@ GEM
jekyll (>= 3.5, < 5.0)
jekyll-feed (~> 0.9)
jekyll-seo-tag (~> 2.1)
ostruct (0.6.3)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (7.0.5)
Expand Down Expand Up @@ -159,16 +162,23 @@ PLATFORMS
x86_64-linux-musl

DEPENDENCIES
base64
bigdecimal
csv
jekyll (~> 4.3.0)
jekyll-feed
logger
minima (~> 2.5)
ostruct

CHECKSUMS
addressable (2.9.0) sha256=7fdf6ac3660f7f4e867a0838be3f6cf722ace541dd97767fa42bc6cfa980c7af
base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
bigdecimal (4.1.2) sha256=53d217666027eab4280346fba98e7d5b66baaae1b9c3c1c0ffe89d48188a3fbd
bundler (4.0.11) sha256=5bcec0fb78302e48d02ee46f10ee6e6942be647ba5b44a6d1ddfda9a240ce785
colorator (1.1.0) sha256=e2f85daf57af47d740db2a32191d1bdfb0f6503a0dfbc8327d0c9154d5ddfc38
concurrent-ruby (1.3.6) sha256=6b56837e1e7e5292f9864f34b69c5a2cbc75c0cf5338f1ce9903d10fa762d5ab
csv (3.3.6) sha256=aba61e7e507a66f03d45cb1f3c4b6359861c3504038b422962875dce099e4456
em-websocket (0.5.3) sha256=f56a92bde4e6cb879256d58ee31f124181f68f8887bd14d53d5d9a292758c6a8
eventmachine (1.2.7) sha256=994016e42aa041477ba9cff45cbe50de2047f25dd418eba003e84f0d16560972
ffi (1.17.4) sha256=bcd1642e06f0d16fc9e09ac6d49c3a7298b9789bcb58127302f934e437d60acf
Expand Down Expand Up @@ -206,6 +216,7 @@ CHECKSUMS
logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
mercenary (0.4.0) sha256=b25a1e4a59adca88665e08e24acf0af30da5b5d859f7d8f38fba52c28f405138
minima (2.5.2) sha256=9c434e3b7bc4a0f0ab488910438ed3757a0502ff1060d172f361907fc38aa45a
ostruct (0.6.3) sha256=95a2ed4a4bd1d190784e666b47b2d3f078e4a9efda2fccf18f84ddc6538ed912
pathutil (0.16.2) sha256=e43b74365631cab4f6d5e4228f812927efc9cb2c71e62976edcb252ee948d589
public_suffix (7.0.5) sha256=1a8bb08f1bbea19228d3bed6e5ed908d1cb4f7c2726d18bd9cadf60bc676f623
rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701
Expand Down
27 changes: 27 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,33 @@

This is the website for Hacker Dojo. It is a collaborative hackerspace where tech enthusiasts gather to build, experiment and improve.

## Wiki Update Guide

This repository builds the HackerDojo website from static files and a JSON data file that contains the wiki content. Staff can update the wiki without digging into the site’s build process by following these steps:

1. **Edit the source wiki** – The raw wiki pages live in the sibling repository `hd-wiki` (located at `../hd-wiki`). Open the relevant HTML or Markdown file and make your changes.
2. **Generate the JSON data** – Run the extraction script that ships with this project:
```bash
cd /home/zmillet/Documents/Web/hackerdojo.org
python3 extract_wiki.py
```
This script reads the updated wiki files and rewrites `static/js/wiki-data.js`.
3. **Commit the changes** – Stage the regenerated `wiki-data.js` and commit:
```bash
git add static/js/wiki-data.js
git commit -m "Update wiki data $(date +%Y-%m-%d)"
```
4. **Push & rebuild** – Push the commit to the remote repository. The CI pipeline (or your local Jekyll server) will rebuild the site automatically.

### Quick‑run helper script
For convenience, a small helper script `scripts/update_wiki.sh` is provided. It pulls the latest `hd-wiki` source (if present), runs the extractor, stages the JSON file, and creates a standard commit.

```bash
./scripts/update_wiki.sh
```

Make sure the script is executable (`chmod +x scripts/update_wiki.sh`).

# Setup

This project uses [Jekyll](https://jekyllrb.com/) which relies on [Ruby](https://www.ruby-lang.org/)
Expand Down
6 changes: 3 additions & 3 deletions _includes/footer.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<a href="https://www.meetup.com/hackerdojo/events/">Accelerator</a>
<a href="https://www.meetup.com/hackerdojo/events/">AI Stars</a>
<a href="https://www.meetup.com/hackerdojo/events/">Summer Camp</a>
<a href="https://wiki.hackerdojo.com/index.php?title=Main_Page">Wiki</a>
<a href="/wiki/">Wiki</a>
</div>
<div>
<div>501(c)(3) Non-Profit</div>
Expand All @@ -27,10 +27,10 @@
<a href="https://drive.google.com/drive/u/0/folders/0AKfuxK7ZD6_OUk9PVA">501(c)(3) Docs</a>
</div>
<div class="footer-links">
<a href="https://wiki.hackerdojo.com/index.php?title=Hacker_Dojo_Policies">Policies</a>
<a href="/wiki/#policies">Policies</a>
</div>
<div class="footer-links">
<a href="https://fundrazr.com/52kkYb?ref=sh_2F3E51_ab_0XDyBWOLHcp0XDyBWOLHcp" target="_blank" style="">Donate today!</a>
<a href="https://givebutter.com/hackerdojoreboot" target="_blank" style="">Donate today!</a>
</div>
<div class="footer-title">Phone: (650) 429-8605</div>
</div>
Expand Down
7 changes: 4 additions & 3 deletions _includes/header.html
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,11 @@
<a href="/summer-camp/">Summer Camp</a>
<!-- <a href="/cocreate">CoCreate</a> -->
<a href="https://www.meetup.com/hackerdojo/events/">Events</a>
<a href="/wiki/">Wiki</a>
<a href="/startups/">Startups</a>
<a href="/pricing/">Pricing</a>
<a href="/impact-report/">Impact Report</a>
<a href="https://fundrazr.com/52kkYb?ref=sh_2F3E51_ab_0XDyBWOLHcp0XDyBWOLHcp" target="_blank" class="mobile-donate-button-header" style="">Donate</a>
<a href="https://givebutter.com/hackerdojoreboot" target="_blank" class="mobile-donate-button-header" style="">Donate</a>
</div>

<div id="header-right">
Expand Down Expand Up @@ -83,11 +84,11 @@
<a href="/aistars" style="font-weight: 500 !important;">AI Stars</a>
<a href="/summer-camp/" style="font-weight: 500 !important;">Summer Camp</a>

<a href="https://wiki.hackerdojo.com/index.php?title=Main_Page">Wiki</a>
<a href="/wiki/">Wiki</a>
<a href="/startups/">Startups</a>
<a href="/pricing/">Pricing</a>
<a href="/impact-report/" style="font-weight: 500 !important;">Impact Report</a>
<a href="https://fundrazr.com/52kkYb?ref=sh_2F3E51_ab_0XDyBWOLHcp0XDyBWOLHcp" target="_blank" class="mobile-donate-button-header" style="">Donate</a>
<a href="https://givebutter.com/hackerdojoreboot" target="_blank" class="mobile-donate-button-header" style="">Donate</a>
<a href="https://dojo-earth.vercel.app" target="_blank">Dojo Earth 🌍</a>
<a href="https://calendly.com/hdfrontdesk/30min">Take A Tour</a>
<BR>
Expand Down
2 changes: 1 addition & 1 deletion pages/home/accelerator.html
Original file line number Diff line number Diff line change
Expand Up @@ -1267,7 +1267,7 @@ <h5>Hacker Dojo</h5>
<li><a href="https://hackerdojo.org">Main site</a></li>
<li><a href="https://hackerdojo.org/startups/">Startups</a></li>
<li><a href="https://www.meetup.com/hackerdojo/">Events</a></li>
<li><a href="https://fundrazr.com/52kkYb?ref=sh_2F3E51_ab_0XDyBWOLHcp0XDyBWOLHcp" target="_blank" style="">Donate today!</a></li>
<li><a href="https://givebutter.com/hackerdojoreboot" target="_blank" style="">Donate today!</a></li>
</ul>
</div>
<div class="foot-col">
Expand Down
32 changes: 31 additions & 1 deletion pages/home/hero.html
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
<div id="hero-links">
<a href="https://calendly.com/hdfrontdesk/30min" class="button">Take a tour</a>

<a href="https://fundrazr.com/52kkYb?ref=sh_2F3E51_ab_0XDyBWOLHcp0XDyBWOLHcp" target="_blank" class="button" style="background-color:#018669; color:white;" >Donate</a>
<a href="https://www.every.org/hacker-dojo" target="_blank" class="button" style="background-color:#018669; color:white;" >Donate</a>

<a href="https://hackerdojo.spaces.nexudus.com/?public&" class="button button-red">Become a member</a>

Expand All @@ -27,4 +27,34 @@
</div><!-- HERO CONTENT -->
<img src="static/images/torii-icon.png" id="hero-icon-bg" />
</div>

<!-- Scroll-down chevron -->
<button id="hero-scroll-btn" onclick="heroScrollDown()" aria-label="Scroll down" style="position:absolute;bottom:24px;left:50%;transform:translateX(-50%);background:none;border:none;cursor:pointer;animation:heroBounce 1.8s ease-in-out infinite;z-index:10;">
<svg width="36" height="36" viewBox="0 0 24 24" fill="none" stroke="rgba(255,255,255,0.75)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<polyline points="6 9 12 15 18 9"></polyline>
</svg>
</button>
</div>

<style>
@keyframes heroBounce {
0%, 100% { transform: translateX(-50%) translateY(0); }
50% { transform: translateX(-50%) translateY(8px); }
}
</style>

<script>
function heroScrollDown() {
const hero = document.querySelector('.hero-section');
const target = hero ? hero.offsetTop + hero.offsetHeight : window.innerHeight;
window.scrollTo({ top: target, behavior: 'smooth' });
}
// Auto-scroll after 5 seconds if user hasn't scrolled
(function() {
var scrolled = false;
window.addEventListener('scroll', function() { scrolled = true; }, { once: true });
setTimeout(function() {
if (!scrolled) heroScrollDown();
}, 5000);
})();
</script>
Loading