Skip to content

IndopenSource/indopensource.org

Repository files navigation

IndopenSource — Komunitas Open Source Indonesia

IndopenSource.org

CI License: MIT

Website komunitas dan direktori open source Indonesia di https://indopensource.org.

Tech Stack

  • Astro
  • Tailwind CSS
  • TypeScript
  • GitHub Actions
  • Cloudflare Workers Static Assets

Pages

  • Home: pintu masuk ke direktori, roadmap, pembelajaran, dan kontribusi.
  • Falsafah: prinsip komunitas dan kurasi open source Indonesia.
  • Projects: direktori proyek dari IndopenSource/awesome-indonesia.
  • Top User: peringkat pemilik repository berdasarkan akumulasi stars.
  • Komunitas: direktori komunitas yang diusulkan melalui pull request.
  • Roadmap: rencana kerja publik 2026–2027.
  • Belajar dan Blog: materi serta artikel yang disinkronkan dari repository sumber.
  • Donasi: informasi OpenSawer, sponsorship, CSR, dan dukungan non-dana.
  • Forum dan Kontak: GitHub Discussions serta kanal resmi IndopenSource.

Development

npm install
npm run dev

Sinkronisasi data bersifat opsional untuk pengembangan UI. File hasil sinkronisasi yang diperlukan sudah tersedia di src/data/.

Project Structure

src/
  components/   Reusable Astro UI components
  data/         Synced project directory data
  layouts/      Shared page layout
  lib/          Small shared helpers
  pages/        Route files
  styles/       Tailwind entrypoint and theme tokens

Checks

npm test
npm run check
npm run build

Deployment

Cloudflare terhubung langsung ke repository dan membuat preview untuk pull request atau branch non-production. Production hanya dibangun dari branch release.

  • Build command: npm run build
  • Deploy command: npx wrangler deploy
  • Output directory: dist
  • Konfigurasi Worker: wrangler.jsonc
  • Production branch: release
  • Custom domain: indopensource.org

Semua kontribusi masuk ke main. Anggota organisasi mempromosikan versi yang sudah diuji melalui pull request dari main ke release; jangan membuka pull request kontribusi langsung ke release.

GitHub Pages sudah tidak digunakan. Deployment dan preview website ditangani oleh Cloudflare; workflow sinkronisasi konten hanya memperbarui data di main.

Lihat checklist release sebelum mempromosikan main ke release.

Project Sync

npm run sync:projects membaca repos.json dari IndopenSource/awesome-indonesia, lalu mengambil metadata repo dari GitHub API dan menulis hasilnya ke src/data/projects.json.

Gunakan GITHUB_TOKEN atau GH_TOKEN untuk rate limit yang lebih lega.

Blog Sync

npm run sync:blog membaca artikel Markdown dari IndopenSource/Blog-IndopenSource, mengambil tanggal commit pertama, commit terbaru, dan seluruh kontributor unik setiap artikel, lalu menulis hasilnya ke src/data/blog-posts.json. Halaman artikel menautkan commit terbaru tersebut agar riwayat sumber dapat diperiksa langsung.

Artikel berstatus draft tetap dibangun pada URL /blog/preview/{slug}/, tetapi tidak ditampilkan di indeks blog, tidak masuk sitemap, dan memakai noindex, nofollow, noarchive sampai statusnya diterbitkan.

Auto Sync

Workflow .github/workflows/sync-content.yml memperbarui data secara otomatis.

  • Manual: jalankan workflow Sync content data.
  • Schedule: berjalan setiap jam pada menit ke-17.
  • Dispatch dari repo lain:
    • sync-projects
    • sync-blog
    • sync-content

Jika data berubah, workflow membuat commit Sync content data. Setelah commit masuk main, perubahan mengikuti validasi dan alur promosi main ke release. Cloudflare kemudian membuat preview main; production tetap dipromosikan lewat pull request ke release.

Analytics & Search Verification

Analytics aktif saat build Cloudflare menerima environment variable berikut:

  • PUBLIC_CLOUDFLARE_WEB_ANALYTICS_TOKEN
  • PUBLIC_GOOGLE_ANALYTICS_ID (format G-XXXXXXXXXX)
  • PUBLIC_GOOGLE_SITE_VERIFICATION (opsional)

Nilainya merupakan identifier publik dan tidak perlu dimasukkan ke Git. Isi di pengaturan build Cloudflare untuk production dan preview sesuai kebutuhan.

Contributing

See CONTRIBUTING.md.

About

Website Komunitas Open Source Indonesia

Resources

License

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors