- HTML 69.9%
- Shell 30.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| scripts | ||
| by-sa.markdown | ||
| CHANGELOG.md | ||
| index.html | ||
| LICENSE | ||
| README.md | ||
| tech_nations.txt | ||
Tech Nations Atlas
Tech Nations Atlas is a lightweight, searchable web catalog of technology ecosystems by country. It highlights software companies, hardware organizations, open source/free ecosystems, and strategic projects.
Project Goals
- Present country-level technology information in a clear and fast format.
- Keep deployment simple: static files only.
- Support practical publication workflows to GitHub and Codeberg.
Technical Overview
- Frontend: plain HTML, CSS, and JavaScript in index.html.
- Data source: text-based dataset in tech_nations.txt.
- Fallback data: embedded dataset inside index.html if the text file cannot be fetched.
- Rendering model: parser converts country sections and category lines into responsive cards.
- Search: client-side filtering across country names, labels, and content.
- Theming: light and dark themes with local storage persistence.
- Browser support strategy: avoids fragile dependencies and keeps compatibility-focused CSS.
Key Features
- Country cards with category chips.
- Fast in-page search.
- Responsive layout for desktop and mobile.
- Dark theme toggle.
- Resilient parsing that ignores malformed lines.
Repository Layout
- tech_nations.txt: primary country dataset with companies and projects.
- index.html: app UI, styling, parser, rendering, and fallback dataset.
- scripts/publish_release.sh: release publisher for GitHub and Codeberg.
- CHANGELOG.md: project change history.
Release Publishing Script
Use scripts/publish_release.sh to publish the latest tag release to GitHub and Codeberg.
What It Does
- Detects latest tag automatically.
- Uses tag as release name by default.
- Uses annotated tag notes when available.
- Detects
githubandcodebergremotes automatically. - Accepts tokens via arguments, environment variables, or hidden terminal prompts.
Example
./scripts/publish_release.sh
Then paste tokens when prompted (input is hidden).
Soft Skills and Team Practices
This project intentionally values both technical quality and team behavior.
- Communication clarity: write concise, actionable issue and PR descriptions.
- Empathy in feedback: review code critically, but frame comments respectfully.
- Knowledge sharing: explain tradeoffs and leave maintainers enough context.
- Reliability: keep release steps predictable and documented.
- Ownership: when changing behavior, update docs and changelog in the same PR.
Contribution Notes
- Prefer small, focused commits.
- Keep wording and naming consistent across data and UI.
- Validate scripts with
bash -nbefore pushing. - Test UI behavior in both light and dark themes.
Roadmap Ideas
- Add per-country detail pages.
- Add export to JSON and CSV.
- Add data validation tooling for dataset integrity.
- Add automated CI checks for script and static-site correctness.
Documentation License
This project is licensed under CC BY-SA 4.0 or later.
Service License
Copyright (C) 2026 QB Networks
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.