mirror of
https://github.com/MichaelCurrin/mkdocs-quickstart.git
synced 2026-06-22 02:55:30 +02:00
chore: Move files to tutorial
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
# Advanced configuration
|
||||
|
||||
Once you've got the [Setup Project](setup_project.md) section, you can customize further using this guide. Or skip this and go to [Usage](usage.md).
|
||||
|
||||
|
||||
## Navbar nesting
|
||||
|
||||
You can add an additional level to your navbar like this:
|
||||
|
||||
```yaml
|
||||
nav:
|
||||
- Home: index.md
|
||||
- About: about.md
|
||||
- Foo:
|
||||
- Overview: foo/index.md
|
||||
- Bar: foo/bar.md
|
||||
```
|
||||
|
||||
However, adding a path when nesting as below is **invalid** and will give an error:
|
||||
|
||||
```yaml
|
||||
nav:
|
||||
- Home: index.md
|
||||
- About: about.md
|
||||
- Foo: foo/index.md
|
||||
- Bar: foo/bar.md
|
||||
```
|
||||
|
||||
See [issue #1139](https://github.com/mkdocs/mkdocs/issues/1139).
|
||||
|
||||
|
||||
## Add config options
|
||||
|
||||
See [Configuration](https://www.mkdocs.org/user-guide/configuration/) page on MkDocs site for options.
|
||||
|
||||
|
||||
## Separate docs directory approach
|
||||
|
||||
You can also structure your project to have the setup above nested inside a `docs` directory. This is useful you have a few other directories and you want to keep the project root clean.
|
||||
|
||||
|
||||
- `docs/`
|
||||
- `docs/`
|
||||
- `index.md`
|
||||
- `theme/`
|
||||
- `main.html`
|
||||
- `nav.html`
|
||||
- `toc.html`
|
||||
- `mkdocs.yml`
|
||||
|
||||
|
||||
An example of this is the [Poetry](https://github.com/python-poetry/poetry/tree/master/docs) repo. That project is also how I got into MkDocs in the first place.
|
||||
@@ -0,0 +1,50 @@
|
||||
# Deploy
|
||||
> Build and deploy to a remote public site
|
||||
|
||||
|
||||
See [Deploying Your Docs](https://www.mkdocs.org/user-guide/deploying-your-docs/) on the Mkdocs site for more details.
|
||||
|
||||
|
||||
## Github Pages
|
||||
> How to deploy your docs site to Github Pages.
|
||||
|
||||
_Note this is for a Project Page and not Organization and User Pages._
|
||||
|
||||
|
||||
### Run deploy command
|
||||
|
||||
MkDocs needs to know where to publish commits on Github - so make sure you are working with a repo that you cloned, or that you initialize the local repo and add a `remote` repo.
|
||||
|
||||
Run this command locally:
|
||||
|
||||
```sh
|
||||
mkdocs gh-deploy
|
||||
```
|
||||
|
||||
That will do the following:
|
||||
|
||||
1. Clean and build to `site` directory.
|
||||
2. Push to `gh-pages` branch. Note: You must not edit this branch directly.
|
||||
3. Enable Github Pages if it was not yet enabled
|
||||
|
||||
Then go to your repo on Github, see the *environment* tab and click _View deployment_.
|
||||
|
||||
e.g.
|
||||
|
||||
- [michaelcurrin.github.io/mkdocs-quickstart/](https://michaelcurrin.github.io/mkdocs-quickstart/)
|
||||
|
||||
|
||||
See deploy options:
|
||||
|
||||
```sh
|
||||
mkdocs gh-deploy --help
|
||||
```
|
||||
|
||||
### Remote build
|
||||
> How to trigger a rebuild of your docs site on changes
|
||||
|
||||
When you make changes to your docs config or the docs directory, especially editing on Github directly, it's often useful to have the docs site build and deploy without you running a command. A remote build also means you not need to setup Python or MkDocs on your local machine just to get the docs site to work.
|
||||
|
||||
So setup a Github Action such as this to your project.
|
||||
|
||||
- [deploy-mkdocs](https://github.com/marketplace/actions/deploy-mkdocs) action in marketplace.
|
||||
@@ -0,0 +1,58 @@
|
||||
# Installation
|
||||
> How to install MkDocs locally.
|
||||
|
||||
|
||||
## Requirements
|
||||
|
||||
- [Python](https://www.python.org/)
|
||||
|
||||
|
||||
## Install system dependencies
|
||||
|
||||
<script src="https://gist.github.com/MichaelCurrin/57caae30bd7b0991098e9804a9494c23.js"></script>
|
||||
|
||||
|
||||
## Setup repo
|
||||
|
||||
Choose or setup a MkDocs project.
|
||||
|
||||
- Follow the tutorial page to setup a project.
|
||||
- Or click _Use this template_ on this repo to create your own copy of the repo, then clone it.
|
||||
|
||||
|
||||
## Install project dependencies
|
||||
> Install MkDocs
|
||||
|
||||
For more info, see the [Installation](https://www.mkdocs.org/#installation) page on the MkDocs site.
|
||||
|
||||
### Use a virtual environment
|
||||
|
||||
Create a virtual environment at the project root.
|
||||
|
||||
```sh
|
||||
python3 -m venv venv
|
||||
```
|
||||
|
||||
Activate it.
|
||||
|
||||
```
|
||||
source venv/bin/activate
|
||||
```
|
||||
|
||||
Install dependencies.
|
||||
|
||||
```sh
|
||||
pip install mkdocs
|
||||
```
|
||||
|
||||
### Globally
|
||||
|
||||
If you prefer to install MkDocs once and reuse it across projects, you can install it globally.
|
||||
|
||||
MkDocs is available with package managers like `apt-get`, `homebrew` and `yum`.
|
||||
|
||||
You can install like this too:
|
||||
|
||||
```sh
|
||||
python3 -m pip install mkdocs
|
||||
```
|
||||
@@ -0,0 +1,76 @@
|
||||
# Setup project
|
||||
> How to create a MkDocs site from scratch
|
||||
|
||||
This is a summary of the tutorial on [mkdocs.org](https://www.mkdocs.org/).
|
||||
|
||||
|
||||
## How to use this guide
|
||||
|
||||
Use one of the approaches below:
|
||||
|
||||
- Create a quickstart project with the `new` command covered in [Create a starter site](#create-a-starter-site).
|
||||
- Follow the extended guide to create a [Setup up docs site](#setup-a-docs-site) by hand.
|
||||
- Click *Use this Template* button on the Github repo to get your own copy.
|
||||
|
||||
|
||||
### Basic structure
|
||||
|
||||
This is the simplest MkDocs site you can make:
|
||||
|
||||
- `docs/`
|
||||
- `index.md` - Homepage in the `docs` directory (by default).
|
||||
- `mkdocs.yml` - Config at the root.
|
||||
|
||||
|
||||
### Create a starter site
|
||||
|
||||
Run this command to create the starter site outline above. This make the steps below go quicker.
|
||||
|
||||
```sh
|
||||
cd my-project
|
||||
mkdocs new PATH
|
||||
```
|
||||
|
||||
|
||||
### Setup a docs site
|
||||
|
||||
_Tip: Optionally use the `new` command covered above to setup the config and index page first and then continue_.
|
||||
|
||||
1. Create doc pages.
|
||||
1. Create a `docs` directory.
|
||||
2. Create `index.md` as your homepage.
|
||||
3. Create other markdown pages (optional).
|
||||
- Use placeholder content if you want to move on and then come back to expand them.
|
||||
- If you have any existing markdown docs, these will work too.
|
||||
2. Setup config.
|
||||
1. Create `mkdocs.yml` at project root.
|
||||
2. Setup navbar there. e.g.
|
||||
```yaml
|
||||
nav:
|
||||
- Home: index.md
|
||||
- About: about.md
|
||||
```
|
||||
3. Choose a theme. e.g.
|
||||
```yaml
|
||||
theme: readthedocs
|
||||
```
|
||||
3. Create a favicon (optional).
|
||||
- It will be picked up at this path: `docs/img/favicon.ico`.
|
||||
4. Add to your `.gitignore`.
|
||||
- Add build directory. This will prevent it from being versioned on `master` branch.
|
||||
- Add virtual environment, if using one.
|
||||
- e.g.
|
||||
```
|
||||
site/
|
||||
|
||||
venv
|
||||
```
|
||||
|
||||
You project should now look this this:
|
||||
|
||||
- `docs/`
|
||||
- `index.md`
|
||||
- Other pages...
|
||||
- `mkdocs.yml`
|
||||
- `.gitignore`
|
||||
- `venv`
|
||||
@@ -0,0 +1,8 @@
|
||||
## TL;DR
|
||||
> A simplified version of the tutorial.
|
||||
|
||||
1. `pip install mkdocs`
|
||||
2. `mkdocs new .` or click _Use this Template_
|
||||
3. `mkdocs serve`
|
||||
4. `mkdocs gh-deploy`
|
||||
5. View published site at [https://USERNAME.github.io/REPO-NAME/]()
|
||||
@@ -0,0 +1,33 @@
|
||||
# Usage
|
||||
> Build and preview a site locally
|
||||
|
||||
_Note: If using VS Code, you can use the command palette instead to run the configured tasks - these are setup in `.vscode/tasks.json`._
|
||||
|
||||
|
||||
## Serve docs
|
||||
|
||||
This will build the docs in memory (not to disk) and serve an auto-reloading server.
|
||||
|
||||
```sh
|
||||
mkdocs serve
|
||||
```
|
||||
|
||||
Open URL:
|
||||
|
||||
- [localhost:8000](http://localhost:8000)
|
||||
|
||||
|
||||
## Build docs
|
||||
|
||||
Build docs site to `site` directory. Useful for production build or simulating that locally.
|
||||
|
||||
|
||||
```sh
|
||||
mkdocs build
|
||||
```
|
||||
|
||||
Add this flag to remove stale files when building.
|
||||
|
||||
```sh
|
||||
mkdocs build --clean
|
||||
```
|
||||
Reference in New Issue
Block a user