🧐 Transform your documentation with MkDocs and the Material theme! Follow this guide to publish your portal online in no time. Want more content like this? Let me know, and I'll dive deeper in future tutorials!
A quick note to say that I've spent the better part of the past three days using this video to build my own set of pages and I can't thank you enough. The presentation, the links, the code examples, the chapters/timestamps in the video, and just so much of this was wildly helpful. Thank you so much for your effort! :D
very cool video, thanks for getting me started. your blog page helped loads too. i think what might have been useful would be to explain how important it is to make sure certain parts of the code need to be written to the letter or things break, e.g. the YML file structure and things like the triple backticks with syntax highlighting. also the best practice to Markdown as well is useful to read over. Otherwise a great video. thanks again.
Excellent tutorial. If there will be a next tutorial, could you please cover adding functionality to pdf export. Something like a plugin to add the "export to pdf" button for each page.
These videos are great, thank you! this content is very good quality. Question: do you know how to implement authentication? like with Django maybe? this would be for a documentation site that's private to a company for example to have it private for team members only.
I looked at your blog site and studied the source code of your site on your github for a while, and I didn't understand how you implemented the author info on the left and the back to index button in your post!
I'm actually working on a new video that'll showcase how to setup a blog just like mine (but with more features). To answer your question, I think the author info is part of the Insiders program currently - see squidfunk.github.io/mkdocs-material/setup/setting-up-a-blog/#adding-author-profiles I'll be sure to cover this functionality in my next video
What setting do we implement so every time I push to github it stops resetting my custom URL! I have been trying for weeks, I even added the CNAME.txt to the docs directory and still, when I do a push it drops the custom URL. The CNAME folder shows the URL, but no resolution unless I go to the repo github page settings and set it again.
Sorry to hear you are having this problem. It's hard for me to diagnose without seeing your repo, but theres a few things you might want to try: 1. Ensure the CNAME File is in the Correct Location The CNAME file should be in your source directory (e.g., docs/) so that it gets copied to the root of the built site during deployment. 2. Modify Your GitHub Actions or Deployment Script GitHub Actions might be overwriting or exclude the CNAME file during each deployment. You can modify your workflow to ensure that the CNAME file is always included in the deployment. You can add a step to ensure that the CNAME file is copied into the build output before deploying, e.g: jobs: deploy: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v2 - name: Set up Python uses: actions/setup-python@v2 with: python-version: '3.x' - name: Install dependencies run: pip install mkdocs mkdocs-material - name: Build site run: mkdocs build - name: Add CNAME file run: echo "yourcustomdomain.com" > ./site/CNAME - name: Deploy to GitHub Pages run: mkdocs gh-deploy --force 3. Check GitHub Pages Settings Check your repository's GitHub Pages settings, Go to Settings > Pages. Make sure that under "Custom domain," your custom domain is listed and saved. Hope that helps...
How many levels can a ToC have (left pane navigation)? For example, can these amount of levels be supported: APIs -> Weather Forecast Requests-> Daily --> Centigrade Thanks
Good question - I’m pretty sure you can nest multiple times. Make sure you enable “navigation.sections” in your config . See squidfunk.github.io/mkdocs-material/setup/setting-up-navigation/#navigation-sections
Thanks for the great video, this is really helpful. For the Github Actions though, I don't think the caching step is set up correctly because the ".cache" folder just doesn't exist. If you jump into the action logs, you will see something like this: Warning: Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.
Yes, when you create a Python virtual environment inside your project folder, it will isolate all the installed packages and dependencies within that environment. This means that the files related to the virtual environment (e.g., Python executables, pip, and any installed packages) will reside in the project folder itself, and nott clutter global directories like APPDATA on Windows.
Yes its possible. By default, MkDocs uses the gh-pages branch for deployment. However, you can change this behavior by specifying the remote-branch option in the mkdocs.yml configuration file or by passing it as a command-line argument. For example, if you want to deploy from the docs branch, you can run: mkdocs gh-deploy --remote-branch docs Make sure to also update the branch in the GitHub settings when you are configuring GitHub Pages
🧐 Transform your documentation with MkDocs and the Material theme! Follow this guide to publish your portal online in no time. Want more content like this? Let me know, and I'll dive deeper in future tutorials!
One of the best MkDocs tutorials I have watched! Incredibly helpful, thank you!
Appreciate that - thank you ! 🙏
Excellent presentation 😮
A quick note to say that I've spent the better part of the past three days using this video to build my own set of pages and I can't thank you enough. The presentation, the links, the code examples, the chapters/timestamps in the video, and just so much of this was wildly helpful.
Thank you so much for your effort! :D
Thanks for taking the time to write this comment. Lots more content planned ☺️
Man, you made this video just in time for me! I think that you are an amazing presenter.
Thanks - appreciate your feedback ☺️
Great tutorial! Thank you for sharing your nice work
Thank you - appreciate it 😊
Incredibly concise and well put together video. Thank a lot!
Glad it was helpful!
Thanks for the video James! just started with mkdocs to host my personal blog and loving it so far.
Great to hear! Please share a link , would love to take a look
very cool video, thanks for getting me started. your blog page helped loads too. i think what might have been useful would be to explain how important it is to make sure certain parts of the code need to be written to the letter or things break, e.g. the YML file structure and things like the triple backticks with syntax highlighting. also the best practice to Markdown as well is useful to read over. Otherwise a great video. thanks again.
Wow, I love this video style. It's well edited and well spoken!
Thanks so much for this feedback - highly appreciated.
Thank You!
Great video, very helpful!
Glad to hear that! Thanks for letting me know :)
Really nice stunning video! Thanks a lot! 🔥🔥
Thanks so much - appreciate it.
jeefan loves your Tutorials :SMILKE:
That is an incredible content 🎉
Thank you so much for sharing this with us!
Glad you enjoyed it!
Super video! Thanks for this!
Glad you liked it!
I'm trying to get the Glightbox plugin working for an image gallery but not having much luck at the mo. Maybe you can cover this in your next video? 😁
❤❤❤❤❤
Super
10/10 😎
what about customizing theme further than the basics (partial overrides, custom css which i've done) and then publishing it to gh pages
Excellent tutorial. If there will be a next tutorial, could you please cover adding functionality to pdf export. Something like a plugin to add the "export to pdf" button for each page.
Thanks for the great suggestion. I've added it to my list and I'll look to cover it in a follow up video.
Superb video, thank you.
When I get to the last step though I'm getting Page not found on the URL rather than the documentation. Any ideas?
Check the GitHub settings , maybe you missed setting to the new branch ?
Not sure if it has changed but for windows the commands for python are:
python --version
python3 --version
These videos are great, thank you! this content is very good quality. Question: do you know how to implement authentication? like with Django maybe? this would be for a documentation site that's private to a company for example to have it private for team members only.
Thanks for the kind words. Maybe try staticrypt? github.com/robinmoisson/staticrypt
I looked at your blog site and studied the source code of your site on your github for a while, and I didn't understand how you implemented the author info on the left and the back to index button in your post!
I'm actually working on a new video that'll showcase how to setup a blog just like mine (but with more features).
To answer your question, I think the author info is part of the Insiders program currently - see squidfunk.github.io/mkdocs-material/setup/setting-up-a-blog/#adding-author-profiles
I'll be sure to cover this functionality in my next video
@james-willett thanks
What setting do we implement so every time I push to github it stops resetting my custom URL! I have been trying for weeks, I even added the CNAME.txt to the docs directory and still, when I do a push it drops the custom URL. The CNAME folder shows the URL, but no resolution unless I go to the repo github page settings and set it again.
Sorry to hear you are having this problem. It's hard for me to diagnose without seeing your repo, but theres a few things you might want to try:
1. Ensure the CNAME File is in the Correct Location
The CNAME file should be in your source directory (e.g., docs/) so that it gets copied to the root of the built site during deployment.
2. Modify Your GitHub Actions or Deployment Script
GitHub Actions might be overwriting or exclude the CNAME file during each deployment. You can modify your workflow to ensure that the CNAME file is always included in the deployment.
You can add a step to ensure that the CNAME file is copied into the build output before deploying, e.g:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: Install dependencies
run: pip install mkdocs mkdocs-material
- name: Build site
run: mkdocs build
- name: Add CNAME file
run: echo "yourcustomdomain.com" > ./site/CNAME
- name: Deploy to GitHub Pages
run: mkdocs gh-deploy --force
3. Check GitHub Pages Settings
Check your repository's GitHub Pages settings, Go to Settings > Pages.
Make sure that under "Custom domain," your custom domain is listed and saved.
Hope that helps...
How many levels can a ToC have (left pane navigation)? For example, can these amount of levels be supported: APIs -> Weather Forecast Requests-> Daily --> Centigrade
Thanks
Good question - I’m pretty sure you can nest multiple times. Make sure you enable “navigation.sections” in your config . See squidfunk.github.io/mkdocs-material/setup/setting-up-navigation/#navigation-sections
Thanks for the great video, this is really helpful.
For the Github Actions though, I don't think the caching step is set up correctly because the ".cache" folder just doesn't exist. If you jump into the action logs, you will see something like this:
Warning: Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.
Thanks for commenting. I think the ".cache" folder gets created earlier in the video when we did `pip install `or `mkdocs build`
Virtual environment for python is created, so if your loaded files will reside in project folder, and wont clutter APPDATA (Windows) ?
Yes, when you create a Python virtual environment inside your project folder, it will isolate all the installed packages and dependencies within that environment. This means that the files related to the virtual environment (e.g., Python executables, pip, and any installed packages) will reside in the project folder itself, and nott clutter global directories like APPDATA on Windows.
i wanna put the docs in a docs branch and wannna deploy from there. is this possible?
Yes its possible. By default, MkDocs uses the gh-pages branch for deployment. However, you can change this behavior by specifying the remote-branch option in the mkdocs.yml configuration file or by passing it as a command-line argument.
For example, if you want to deploy from the docs branch, you can run:
mkdocs gh-deploy --remote-branch docs
Make sure to also update the branch in the GitHub settings when you are configuring GitHub Pages
short video with all you need to know to start, congrate
Thanks!