This is the official website for Freedom Lab NYC — New York City's premier Freedom Tech community space and educational center. It's a modern, lightweight static website built with HTML, CSS, and JavaScript.
🌐 Live site: https://freedomlab.nyc
The site serves as the central hub for Freedom Lab NYC:
- Info about our mission and community
- Classes & Events calendar
- Links to educational resources at freedomlab.nyc/classes
- Contact information and social links
- Architecture: Static HTML/CSS/JS
- Styling: Custom CSS with modern design patterns
- Hosting: GitHub Pages
- Build: Python standard-library compiler for shared navigation and footer partials
Clone the repo, build the deployable artifact, and start a local server:
npm startThen visit http://localhost:8000. Source pages use shared component placeholders; scripts/build-site.py compiles them into _site/. Rebuild after changing HTML, partials, CSS, or JavaScript.
Run npm run build to compile tracked site files into _site/. The build injects partials/nav.html and partials/footer.html, and npm run audit validates the compiled artifact.
The main pages are:
index.html- Homepageclasses-events.html- Classes & Eventscontact.html- Contact informationjoin.html- Membership/join page
The site deploys automatically to GitHub Pages when changes are pushed to the main branch.
The GitHub Actions workflow builds and audits _site/, then publishes only that compiled artifact to https://freedomlab.nyc.
btcnyc.github.io/
├── index.html # Homepage
├── classes-events.html # Classes & events page
├── contact.html # Contact page
├── join.html # Join/membership page
├── css/ # CSS stylesheets
│ ├── styles.css # Global styles
│ ├── home.css # Homepage styles
│ ├── classes.css # Classes page styles
│ ├── contact.css # Contact page styles
│ └── join.css # Join page styles
├── static/ # Static assets
│ ├── CNAME # Custom domain config
│ └── img/ # Images, logos, icons
└── README.md
We welcome contributions from developers who want to improve or extend the Freedom Lab NYC website.
-
Fork this repo and clone your fork locally.
-
Create a new branch for your feature or fix:
git checkout -b feature/my-new-section
-
Run the compiled local preview with
npm start. -
Make your changes — edit HTML files directly, add/modify CSS in
css/, update JavaScript as needed. -
Test your changes locally in your browser.
-
Commit and push your branch:
git add . git commit -m "Add new feature section" git push origin feature/my-new-section
-
Open a pull request to
main.
- Use semantic HTML5 elements where appropriate.
- Keep CSS organized and follow existing naming conventions.
- Maintain accessibility standards (alt text, ARIA labels, etc.).
- Keep the design minimal and consistent with the Freedom Lab NYC theme.
- Test your changes in multiple browsers (Chrome, Firefox, Safari).
- Verify responsive design works on mobile and desktop.
- Check that all links work correctly.
- Ensure images are optimized for web (reasonable file sizes).
- Keep commits concise and descriptive.
- Use GitHub Issues to report bugs or request features.
- Tag issues appropriately (e.g.,
enhancement,bug,design,content).
- btcnyc/classes — curriculum, guides, and workshop resources
Community-maintained by the Freedom Lab NYC team. Questions or PRs welcome!
