This repository provides a template for creating a professional freelance portfolio website using MkDocs Material. Originally designed for technical documentation, MkDocs Material has evolved into a powerful framework that's perfect for portfolios, blogs, and personal websites - all manageable through simple Markdown and YAML files.
- Quick Setup: Get your site running in minutes
- Markdown-Based: Write content in simple Markdown
- Code-Friendly: Built-in syntax highlighting and code blocks
- Responsive Design: Looks great on all devices
- No Frontend Skills Needed: Professional design out of the box
- SEO Optimized: Built-in SEO features
- Search Functionality: Full-text search included
- Social Cards: Auto-generated preview cards for social media sharing
- Dark Mode: Automatic dark/light theme switching
As you go through this setup, please find all the most up to date information in the official documentation here.
-
Clone this repository
git clone https://github.com/data-freelancer-mastermind/mkdocs-website-template.git cd mkdocs-website-template -
Install MkDocs Material
pip install "mkdocs-material[imaging]" # For MacOS, install required dependencies brew install cairo freetype libffi libjpeg libpng zlib pngquant
-
Preview your site
# For MacOS M1/M2 users export DYLD_FALLBACK_LIBRARY_PATH=/opt/homebrew/lib mkdocs serve
Visit
http://localhost:8000to see your site.
Note on Operating Systems:
- This setup has been thoroughly tested on MacOS (Intel and Apple Silicon)
- Windows setup instructions are still being updated
- If you encounter any issues on Windows:
- First, check the official MkDocs Material documentation
- Try to resolve the issue using their troubleshooting guides
- If the problem persists, please message Dave on Circle for assistance
- Your feedback will help improve the documentation for other Windows users!
Docker provides a consistent environment across all operating systems, making it an excellent choice for development. This method works reliably on Windows, MacOS, and Linux.
-> Special thanks to our community member, Nisar, for contributing the Docker implementation! 🐳
-
Download & Install Docker Desktop https://docs.docker.com/get-started/get-docker/
-
Clone this repository
git clone https://github.com/data-freelancer-mastermind/mkdocs-website-template.git cd mkdocs-website-template -
Start the server
chmod +x start_server.sh ./start_server.sh
Visit
http://localhost:8000to see your site.
Edit mkdocs.yml to customize your site:
- Site name and metadata
- Navigation structure
- Color scheme and fonts
- Custom CSS settings in
stylesheets/extra.css - Social links
- Extensions and plugins
docs/
├── index.md # Your homepage
├── about.md # About page
├── portfolio/ # Your work
├── blog/ # Blog posts
└── assets/ # Images and other filesI recommend publishing your site with GitHub Pages. If you want to keep your repo private, you need a GitHub Pro subscription. Public repos can be deployed with a free GitHub account.
- Push your repository to GitHub
- Follow the instructions here: Publishing your site
- Set up the GitHub actions for your project
- Test the deployment by pushing changes
- Add a
CNAMEfile in yourdocsfolder with your domain - Go to
repository/settings/pagesand check the domain settings - Follow the instructions here to configure your domain and DNS settings
- GitHub recently changed the DNS linking process: Let me know if we need to update these docs!
- Also enable HTTPS on this page