# HEC IA Wiki 🤖 ![HEC IA Wiki](public/hec-ia-og.jpg) The official wiki and knowledge base for HEC IA student association. Built with [Astro](https://astro.build/) and the [AstroPaper](https://github.com/satnaing/astro-paper) theme. ## 📚 About This wiki serves as a central hub for HEC IA's content, including: - **Events**: Information about upcoming and past events - **Workshops**: Hands-on technical workshops and tutorials - **News**: Latest updates and announcements from HEC IA - **Technical Deep Dives**: In-depth technical articles on AI topics ## 🚀 Quick Start ### Prerequisites - Node.js 18+ - npm or pnpm ### Installation ```bash # Clone the repository git clone https://github.com/hec-ia/wiki.git cd wiki # Install dependencies npm install # Start development server npm run dev ``` The site will be available at `http://localhost:4321` ### Building for Production ```bash # Build the site npm run build # Preview the build npm run preview ``` ## 📝 Adding Content ### Events Create a new markdown file in `src/data/events/`: ```markdown --- title: "Your Event Title" description: "Event description" author: "HEC IA" pubDatetime: 2026-01-15T10:00:00Z eventDate: 2026-02-05T14:00:00Z eventEndDate: 2026-02-05T18:00:00Z location: "Event Location" tags: ["tag1", "tag2"] featured: true registrationLink: "https://registration-link.com" --- Your event content here... ``` ### Workshops Create a new markdown file in `src/data/workshops/`: ```markdown --- title: "Workshop Title" description: "Workshop description" author: "HEC IA" pubDatetime: 2026-01-15T10:00:00Z workshopDate: 2026-02-05T14:00:00Z duration: "3 hours" level: "beginner" # beginner, intermediate, or advanced tags: ["machine-learning", "python"] featured: true materials: "https://github.com/hec-ia/workshop-materials" --- Your workshop content here... ``` ### News Create a new markdown file in `src/data/news/`: ```markdown --- title: "News Title" description: "News description" author: "HEC IA" pubDatetime: 2026-01-25T10:00:00Z tags: ["news", "announcement"] featured: true --- Your news content here... ``` ### Technical Deep Dives Create a new markdown file in `src/data/technical/`: ```markdown --- title: "Technical Article Title" description: "Article description" author: "HEC IA Technical Team" pubDatetime: 2026-01-28T10:00:00Z tags: ["deep-learning", "nlp"] difficulty: "advanced" # beginner, intermediate, or advanced readingTime: "25 min" featured: true --- Your technical content here... ``` ## 🎨 Customization ### Site Configuration Edit `src/config.ts` to customize: - Site title and description - Author information - Social links - Posts per page - And more... ### Theme Colors The site uses Tailwind CSS. Customize colors in: - `src/styles/base.css` for global styles - `tailwind.config.js` for theme configuration ## 📂 Project Structure ```bash / ├── public/ │ └── assets/ # Static assets ├── src/ │ ├── assets/ # SVG icons and images │ ├── components/ # Astro components │ ├── data/ # Content collections │ │ ├── events/ │ │ ├── workshops/ │ │ ├── news/ │ │ └── technical/ │ ├── layouts/ # Page layouts │ ├── pages/ # Route pages │ ├── styles/ # Global styles │ ├── utils/ # Utility functions │ ├── config.ts # Site configuration │ └── content.config.ts # Content collections config ├── astro.config.ts ├── package.json └── README.md ``` ## 🧞 Available Commands | Command | Action | | :--------------------- | :----------------------------------------------- | | `npm install` | Installs dependencies | | `npm run dev` | Starts local dev server at `localhost:4321` | | `npm run build` | Build your production site to `./dist/` | | `npm run preview` | Preview your build locally, before deploying | | `npm run format:check` | Check code format with Prettier | | `npm run format` | Format codes with Prettier | | `npm run sync` | Generates TypeScript types for all Astro modules | | `npm run lint` | Lint with ESLint | ## 🤝 Contributing Contributions are welcome! Please feel free to submit a Pull Request. 1. Fork the repository 2. Create your feature branch (`git checkout -b feature/AmazingFeature`) 3. Commit your changes (`git commit -m 'Add some AmazingFeature'`) 4. Push to the branch (`git push origin feature/AmazingFeature`) 5. Open a Pull Request ## 📄 License This project is licensed under the MIT License - see the LICENSE file for details. ## 🙏 Acknowledgments Built with: - [Astro](https://astro.build/) - The web framework for content-driven websites - [AstroPaper](https://github.com/satnaing/astro-paper) - The base theme - [Tailwind CSS](https://tailwindcss.com/) - For styling - [TypeScript](https://www.typescriptlang.org/) - For type safety --- Made with ❤️ by HEC IA │ │ ├── icons/ │ │ └── images/ │ ├── components/ │ ├── data/ │ │ └── blog/ │ │ └── some-blog-posts.md │ ├── layouts/ │ ├── pages/ │ ├── scripts/ │ ├── styles/ │ ├── utils/ │ ├── config.ts │ ├── constants.ts │ ├── content.config.ts │ ├── env.d.ts │ └── remark-collapse.d.ts └── astro.config.ts ```` Astro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name. Any static assets, like images, can be placed in the `public/` directory. All blog posts are stored in `src/data/blog` directory. ## 📖 Documentation Documentation can be read in two formats\_ _markdown_ & _blog post_. - Configuration - [markdown](src/data/blog/how-to-configure-astropaper-theme.md) | [blog post](https://astro-paper.pages.dev/posts/how-to-configure-astropaper-theme/) - Add Posts - [markdown](src/data/blog/adding-new-post.md) | [blog post](https://astro-paper.pages.dev/posts/adding-new-posts-in-astropaper-theme/) - Customize Color Schemes - [markdown](src/data/blog/customizing-astropaper-theme-color-schemes.md) | [blog post](https://astro-paper.pages.dev/posts/customizing-astropaper-theme-color-schemes/) - Predefined Color Schemes - [markdown](src/data/blog/predefined-color-schemes.md) | [blog post](https://astro-paper.pages.dev/posts/predefined-color-schemes/) ## 💻 Tech Stack **Main Framework** - [Astro](https://astro.build/) **Type Checking** - [TypeScript](https://www.typescriptlang.org/) **Styling** - [TailwindCSS](https://tailwindcss.com/) **UI/UX** - [Figma Design File](https://www.figma.com/community/file/1356898632249991861) **Static Search** - [FuseJS](https://pagefind.app/) **Icons** - [Tablers](https://tabler-icons.io/) **Code Formatting** - [Prettier](https://prettier.io/) **Deployment** - [Cloudflare Pages](https://pages.cloudflare.com/) **Illustration in About Page** - [https://freesvgillustration.com](https://freesvgillustration.com/) **Linting** - [ESLint](https://eslint.org) ## 👨🏻‍💻 Running Locally You can start using this project locally by running the following command in your desired directory: ```bash # pnpm pnpm create astro@latest --template satnaing/astro-paper # pnpm pnpm create astro@latest -- --template satnaing/astro-paper # yarn yarn create astro --template satnaing/astro-paper # bun bun create astro@latest -- --template satnaing/astro-paper ```` Then start the project by running the following commands: ```bash # install dependencies if you haven't done so in the previous step. pnpm install # start running the project pnpm run dev ``` As an alternative approach, if you have Docker installed, you can use Docker to run this project locally. Here's how: ```bash # Build the Docker image docker build -t astropaper . # Run the Docker container docker run -p 4321:80 astropaper ``` ## Google Site Verification (optional) You can easily add your [Google Site Verification HTML tag](https://support.google.com/webmasters/answer/9008080#meta_tag_verification&zippy=%2Chtml-tag) in AstroPaper using an environment variable. This step is optional. If you don't add the following environment variable, the google-site-verification tag won't appear in the HTML `` section. ```bash # in your environment variable file (.env) PUBLIC_GOOGLE_SITE_VERIFICATION=your-google-site-verification-value ``` > See [this discussion](https://github.com/satnaing/astro-paper/discussions/334#discussioncomment-10139247) for adding AstroPaper to the Google Search Console. ## 🧞 Commands All commands are run from the root of the project, from a terminal: > **_Note!_** For `Docker` commands we must have it [installed](https://docs.docker.com/engine/install/) in your machine. | Command | Action | | :------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------- | | `pnpm install` | Installs dependencies | | `pnpm run dev` | Starts local dev server at `localhost:4321` | | `pnpm run build` | Build your production site to `./dist/` | | `pnpm run preview` | Preview your build locally, before deploying | | `pnpm run format:check` | Check code format with Prettier | | `pnpm run format` | Format codes with Prettier | | `pnpm run sync` | Generates TypeScript types for all Astro modules. [Learn more](https://docs.astro.build/en/reference/cli-reference/#astro-sync). | | `pnpm run lint` | Lint with ESLint | | `docker compose up -d` | Run AstroPaper on docker, You can access with the same hostname and port informed on `dev` command. | | `docker compose run app pnpm install` | You can run any command above into the docker container. | | `docker build -t astropaper .` | Build Docker image for AstroPaper. | | `docker run -p 4321:80 astropaper` | Run AstroPaper on Docker. The website will be accessible at `http://localhost:4321`. | > **_Warning!_** Windows PowerShell users may need to install the [concurrently package](https://www.npmjs.com/package/concurrently) if they want to [run diagnostics](https://docs.astro.build/en/reference/cli-reference/#astro-check) during development (`astro check --watch & astro dev`). For more info, see [this issue](https://github.com/satnaing/astro-paper/issues/113). ## ✨ Feedback & Suggestions If you have any suggestions/feedback, you can contact me via [my email](mailto:contact@satnaing.dev). Alternatively, feel free to open an issue if you find bugs or want to request new features. ## 📜 License Licensed under the MIT License, Copyright © 2025 --- Made with 🤍 by [Sat Naing](https://satnaing.dev) 👨🏻‍💻 and [contributors](https://github.com/satnaing/astro-paper/graphs/contributors).