Fahmi's Project Library πΒΆ
A comprehensive online portfolio showcasing projects, certifications, and professional experience, built with MkDocs Material and deployed automatically via GitHub Actions.
π FeaturesΒΆ
- Modern Documentation Site: Built with MkDocs Material theme for a professional, responsive design
- Automatic Deployment: CI/CD pipeline using GitHub Actions for seamless updates
- Project Categorization: Organized sections for Assignment Projects, Academic Research, and Work Samples
- Interactive Elements: Code highlighting, search functionality, and navigation features
- Dark/Light Theme: Toggle between themes with custom color schemes
- Social Integration: Links to GitHub, LinkedIn, Instagram, and Postman profiles
π οΈ Tech StackΒΆ
- Documentation Generator: MkDocs with Material Theme
- Deployment: GitHub Actions + GitHub Pages
- Styling: Custom CSS with Material Design principles
- Markdown Extensions: Enhanced with PyMdown Extensions for advanced formatting
- Version Control: Git with automated revision dates
π Quick StartΒΆ
PrerequisitesΒΆ
- Python 3.x
- Git
Local DevelopmentΒΆ
-
Clone the repository
-
Install dependencies
-
Start development server
-
View locally Open your browser to
http://127.0.0.1:8000
Making ChangesΒΆ
- Edit markdown files in the
docs/directory - Modify
mkdocs.ymlfor configuration changes - Update styles in
docs/stylesheet/extra.cssif needed - Commit and push changes - GitHub Actions will handle deployment automatically
π Project StructureΒΆ
βββ .github/workflows/
β βββ ci.yml # GitHub Actions workflow
βββ docs/
β βββ index.md # Homepage content
β βββ introduction/ # About, experience, certifications
β βββ projects/ # Project documentation
β β βββ assignment/ # freeCodeCamp projects
β β βββ academic/ # Research projects (coming soon)
β β βββ workSample/ # Professional work samples
β βββ stylesheet/
β βββ extra.css # Custom styling
βββ mkdocs.yml # MkDocs configuration
βββ requirements.txt # Python dependencies
βββ README.md # This file
π§ ConfigurationΒΆ
MkDocs Configuration (mkdocs.yml)ΒΆ
Key features configured: - Navigation: Hierarchical menu structure - Theme: Material theme with custom colors and icons - Extensions: Code highlighting, tables, admonitions, diagrams - Plugins: Search, auto-references, git revision dates, lightbox gallery
Custom StylingΒΆ
The docs/stylesheet/extra.css file contains:
- Custom color schemes for headers, links, and navigation
- Responsive table styling
- Admonition (callout) box formatting
- Image centering utilities
π DeploymentΒΆ
Automatic Deployment (CI/CD)ΒΆ
The repository uses GitHub Actions for automatic deployment:
- Trigger: Push to
mainormasterbranch - Process:
- Checkout code
- Setup Python environment
- Install dependencies
- Build and deploy to GitHub Pages
- Caching: Weekly cache refresh for faster builds
Manual DeploymentΒΆ
If needed, you can deploy manually:
π Content SectionsΒΆ
IntroductionΒΆ
- About Fahmi: Personal background and skills
- Experience: Professional career journey
- Certification: Technical certifications and achievements
ProjectsΒΆ
- Assignment Projects: freeCodeCamp certifications
- Relational Database projects
- Backend Development & APIs
- Quality Assurance projects
- Postman API Test Automation
- Academic Research: Bachelor's degree research work
- Work Samples: Professional automation tools and scripts
π¨ CustomizationΒΆ
Adding New ProjectsΒΆ
- Create a new markdown file in the appropriate
docs/projects/subdirectory - Add the page to the navigation in
mkdocs.yml - Follow the existing documentation structure and formatting
Modifying ThemesΒΆ
- Update color schemes in
mkdocs.ymlunder thepalettesection - Modify custom CSS in
docs/stylesheet/extra.css - Add new icons using Material Design icons
Extending FunctionalityΒΆ
Add new MkDocs plugins in requirements.txt and configure them in mkdocs.yml
π Writing DocumentationΒΆ
This portfolio uses extended Markdown with additional features:
- Code blocks with syntax highlighting
- Admonitions for notes, warnings, and tips
- Tables with custom styling
- Diagrams using Mermaid
- Tabbed content for organized information
- Footnotes and cross-references
π LicenseΒΆ
This project is licensed under the MIT License. See the repository for full license details.
π LinksΒΆ
- Live Site: Fahmi's Project Library
- GitHub Repository: docs-portfolio
- LinkedIn: Fahmi Wahyu Wiradika
- Postman: API Collections
π§ ContactΒΆ
For questions or collaboration opportunities, feel free to reach out through any of the social media links provided in the portfolio.
Built with β€οΈ using MkDocs Material and deployed with GitHub Actions