DC's blog DC's blog
首页
  • 计算机基础
  • linux基础
  • mysql
  • git
  • 数据结构与算法
  • axure
  • english
  • docker
  • opp
  • oop
  • 网络并发编程
  • 不基础的py基础
  • 设计模式
  • html
  • css
  • javascript
  • jquery
  • UI
  • 第一次学vue
  • 第二次学vue
  • Django
  • drf
  • drf_re
  • 温故知新
  • flask
  • 前后端不分离

    • BBS
    • 订单系统
    • CRM
  • 前后端部分分离

    • pear-admin-flask
    • pear-admin-django
  • 前后端分离

    • 供应链系统
  • 理论基础
  • py数据分析包
  • 机器学习
  • 深度学习
  • 华中科大的网课
  • cursor
  • deepseek
  • 杂文
  • 罗老师语录
  • 关于我

    • me
  • 分类
  • 归档
GitHub (opens new window)

DC

愿我一生欢喜,不为世俗所及.
首页
  • 计算机基础
  • linux基础
  • mysql
  • git
  • 数据结构与算法
  • axure
  • english
  • docker
  • opp
  • oop
  • 网络并发编程
  • 不基础的py基础
  • 设计模式
  • html
  • css
  • javascript
  • jquery
  • UI
  • 第一次学vue
  • 第二次学vue
  • Django
  • drf
  • drf_re
  • 温故知新
  • flask
  • 前后端不分离

    • BBS
    • 订单系统
    • CRM
  • 前后端部分分离

    • pear-admin-flask
    • pear-admin-django
  • 前后端分离

    • 供应链系统
  • 理论基础
  • py数据分析包
  • 机器学习
  • 深度学习
  • 华中科大的网课
  • cursor
  • deepseek
  • 杂文
  • 罗老师语录
  • 关于我

    • me
  • 分类
  • 归档
GitHub (opens new window)
  • 杂文

    • 一些工具
    • mkdocs-material
      • Pycharm技巧
      • vuepress
      • 大模型
      • UML养成记
    • 罗老师语录

    • 其他
    • 杂文
    DC
    2023-12-02
    目录

    mkdocs-material

    官网地址: https://squidfunk.github.io/mkdocs-material/
    参考文档:
    https://cyent.github.io/markdown-with-mkdocs-material/
    https://zhuanlan.zhihu.com/p/613038183

    Q: mkdocs和material是什么?
    A: mkdocs: 可以用于生成静态文档网站..不需要安装node.js,与gitbook、hexo相比,搭建过程更加简便!!
           material: material是mkdocs的主题之一. 我觉得还不错.

    有一个弊端,mkdocs是支持 热更新 的,文档一多,一旦修改下,会全部重新加载... 我直接裂开.
    它要是能只重新加载修改的文件该多好.. ╮( ̄▽ ̄"")╭

    Ps: 我还发现了一个博客搭建平台,有超多好看的模版 https://halo.run/

    # Mkdown格式

    为了让文档内容和目录看起来更美观, 我会这样做

    ○ 换行用硬换行 两下空格+shift+enter
    ○ mkdown会将多个空格识别为一个空格, So, 使用多个  进行缩进
       若是mac玩家,可以在 系统偏好设置-键盘-文本里 进行快捷设置
    (eg: 设置后键盘输入 aa 就会提示 4个  , 再按空格输入成功)
    ○ ##二级目录
    ### <font color='orange'>三级目录</font>
    ##### <font color='purple' size=4>五级目录</font>
    ○ ** ** 左右按一下空格,*号包裹的内容要与*紧贴, 但与外面内容接触时中间要有个空格
    ○ 切记代码块里用连续多个空格,不要用tab键..


    # 搭建

    # 安装依赖,创建项目

    pip3 install mkdocs-material
    python3 -m mkdocs new Dc_IT (Dc_IT是我的项目名)

    文档树结构如下:

    .
    ├── docs
    │   ├── 2_python面向过程  # -- 可以在docs下创建新文件夹,在该文件夹下放置mkdown文档
    │   ├── index.md  # -- 首页
    │   ├── readme.md
    │   ├── resources # -- 我用来存放logo、css的
    │   │       ├── css
    │   │       │    └── extra.css
    │   │       └── images
    │   └── favicon.ico
    │   └── tips  # -- 我新创建的另外的一个目录
    └── mkdocs.yml
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    注意:
            重新打开网站, 呈现的是 index.md 的内容, 哪怕你没有将它夹到nav中..
            navigation的配置最好放到前面, 放后面有时候不生效..折腾了我半天..╮( ̄▽ ̄"")╭

    # 配置文件

    mkdocs.yml 配置文件说明. 参考博客: https://blog.csdn.net/m0_63203517/article/details/129765689

    mkdocs.yml里添加:

    site_name: IT之旅
    site_description: These are my study notes.
    site_author: DC
    copyright:  Copyright © 2022 from Dc_OnePiece
    extra:
      generator: false
    
    # -- 在网站上输入http://127.0.0.1:8000/就已经定位到了docs文件夹下
    # -- navs里第一层(Tips、Python面向对象)是导航栏标签;第二层对应每个导航下左侧的目录
    nav:
      - Tips:
        - mkdocs-material的搭建: tips/mkdocs-material.md
      - python面向对象:
        - 数据类型:
            - python语言介绍: 2_python面向过程/00_python语言介绍.md
            - 基本运算符和流程控制: 2_python面向过程/01_基本运算符和流程控制.md
            - 数据类型之序列: 2_python面向过程/02_数据类型之序列.md
            - 数据类型之哈希: 2_python面向过程/03_数据类型之哈希.md
        - 函数:
            - 函数基础: 2_python面向过程/04_函数基础.md
            - 函数高级: 2_python面向过程/05_函数高级.md
            - 函数进阶: 2_python面向过程/06_函数进阶.md
      - Me: 
        - About Me: ./readme.md
    
    theme:
      name: 'material'      # 主题
      features:
        - navigation.tabs   # 导航标签 注意,不是tabs:true
        - navigation.top    # 回到顶部
        - navigation.expand # 默认打开左侧导航所有小节
        # - navigation.instant
        # - navigation.tracking
        # - navigation.tabs.sticky
        # - navigation.sections
        # - navigation.indexes
        # - toc.integrate
        # - header.autohide
      palette:
        primary: "blue grey"
        accent: 'amber'
      custom_dir: docs/resources/ # 额外的配置(eg:logo css)
      favicon: resources/images/favicon.ico
      logo: resources/images/favicon.ico
      language: 'zh'
      # font:
      #   code: Roboto Mono
    
    
    extra_css:
      - resources/css/extra.css  # 修改css默认的样式
    
    
    markdown_extensions:
      # Python Markdown
      - abbr
      - admonition
      - attr_list
      - def_list
      - footnotes
      - md_in_html
      - toc:
          permalink: true
      # Python Markdown Extensions
      - pymdownx.arithmatex:
          generic: true
      - pymdownx.betterem:
          smart_enable: all
      - pymdownx.caret
      - pymdownx.details
      - pymdownx.emoji:
          emoji_index: !!python/name:materialx.emoji.twemoji
          emoji_generator: !!python/name:materialx.emoji.to_svg
      - pymdownx.highlight
      - pymdownx.inlinehilite
      - pymdownx.keys
      - pymdownx.mark
      - pymdownx.smartsymbols
      - pymdownx.superfences
      - pymdownx.tabbed:
          alternate_style: true
      - pymdownx.tasklist:
          custom_checkbox: true
      - pymdownx.tilde
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84

    extra.css里添加: 这是按照我自个儿的想法来的

    /* 整体内容占据宽度 */
    .md-grid {
        max-width: 64rem;
    }
    
    /* 隐藏页脚 */
    /* .md-footer-meta__inner {
        display: none;
    } */
    
    /* 改变当前选中目录的颜色 */
    .md-nav__item .md-nav__link--active {
        color: #ea8685;
    }
    
    /* 更改h1标签内容的颜色 */
    .md-typeset h1 {
        /* color: #718093; */
        /* color: #01a3a4; */
        color: #ea8685;
    }
    
    /* 更改导航栏的背景颜色 */
    [data-md-color-primary=blue-grey] {
        --md-primary-fg-color: #718093;
    }
    
    /* 更改右侧 目录一丢丢排版的间距 */
    .md-sidebar--secondary .md-nav {
        padding-left: 0.8rem;
    }
    
    /* 试着添加背景图片 效果不佳. 还是以简约为主吧Hhh */
    /* .md-main {
        background-image: url("../images/bac.jpg");
        background-repeat: no-repeat;
        background-attachment: fixed;
        background-position: right bottom;
        opacity: 0.7;
    } */
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    # 启动网站

    python3 -m mkdocs serve cd到项目路径下,要保证该路径下有mkdocs.yml文件


    # 部署

    弄好后,可以部署到gitee page或github page上!

    1> mkdocs的yml文件的配置
       https://wcowin.work/blog/Mkdocs/mkdocs2/
    2> 运行 python3 -m mkdocs serve 看看效果
    3> 配置同时使用 Gitlab、Github、Gitee(码云) 共存的开发环境
       https://www.jianshu.com/p/68578d52470c
       注: 
          1> 先清除在电脑里已有的私钥和公钥 
          2>一定要ssh-add!! 
          3>设置Port 443,修改后修改后,在本地add commit后.执行mkdocs gh-deploy.会快很多!!!
            (指定gh-deploy之前,有site先删除site文件夹!!放心,该命令会重新生成的!)
       ssh-keygen -t rsa -f ~/.ssh/id_rsa.github -C "[email protected]"
       ssh-keygen -t rsa -f ~/.ssh/id_rsa.gitee -C "[email protected]"
    4> 我们现在是如何部署的呢?
       - 先在github上创建一个跟docs目录的上级目录一样的项目,便于管理!(创建时,公开、勾选自动创建readme文件)
       - 在本地运行感觉没问题后. 进入该目录下. 
         git init    git status 
         git add .
         git commit -m ".."     git status 
         git remote add origin 刚在github上创建的项目的ssh的远程地址
         (还很奇怪,名称要命名为origin..不然不成功; So,现在要部署另外一个项目时,该origin对应的远程地址也得变一下.)
       - 在有mkdocs.yml的目录下,运行命令  mkdocs gh-deploy
         (不出意外,本地会多个site文件夹,远程会多个gh-deploy分支,并且里面是site文件夹里的内容!!)
       - 然后进入github中,选择项目的gh-deploy分支,点击项目的settings,在左侧找到Pages!!
         它会说 Your site is live at https://onepiecedc.github.io/项目名/
    5> 如何更新的呢?
       现目前我是,修改后,在本地add commit后.执行mkdocs gh-deploy.
       (其实我想试一试,mkdocs bulid后,将其内容传到项目已有的gh-deploy分支,不晓得行不行?!)
    
    其他的
    下次可以试试不传docs目录和site,
    (看了下,好像不将docs和site写到.gitignore文件也没关系,它是这么一回事:
     mkdocs gh-deploy仅仅会在远程创建分支,并把生成的静态资源传进去.
     而我们在本地执行python3 -m mkdocs bulid后,出现的site目录下就是生成的静态资源!!)
    https://www.cnblogs.com/paulwhw/p/12725523.html
    
    
    To do:
    GitHub+Travis+Mkdocs自动化构建文档库
    https://cloud.tencent.com/developer/article/1644675
    另外的:  
    https://cloud.tencent.com/developer/article/1935771
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41

    我现在认为 cloudflare page是 静态网页访问最稳定最快速 部署最方便的方案!!(国内不用梯子也可以很流畅的访问
    
    1

    一些工具
    Pycharm技巧

    ← 一些工具 Pycharm技巧→

    最近更新
    01
    deepseek本地部署+知识库
    02-17
    02
    实操-微信小程序
    02-14
    03
    教学-cursor深度探讨
    02-13
    更多文章>
    Theme by Vdoing | Copyright © 2023-2025 DC | One Piece
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式