Studying Notes in Computer Science

In this page, I just take study notes.

Website & FrontEnd

Create personal wikis based on MKDocs

I actually found this out from SheronW, then I thought about the real needs and decided to get one too.

The needs that could be met are as follows.

  • Can be used as a blogging alternative, language is English (posture level provided).

  • Used for writing study notes only, subjects are Math, Physics, Materials Science, Computer Science, language is English.

  • Forcing yourself to take study notes as if it were an assignment, which helps to make the study abroad experience more efficient.

Therefore, this Python based Wiki program is suitable for international students, but the disadvantage is that there is only one three-column topic.

Build

The official tutorial for MKDocs is written in great detail and can be viewed on the official website: https://www.mkdocs.org

It supports multiple versions of python and just uses the pip module to install it. So check the installed version and pip under CMD (recommended to open with administrator privileges) to execute the installation.

python --version

pip --version
Note that it only needs to show a newer version of the pip here, so don't follow the official tutorial to update the pip unless the installation fails! Easy to delete by mistake! My python version is python3.7 and the pip version is pip19.2.1. so just start installing and check the version.
pip install mkdocs

mkdocs --version
The installation was successful, showing mkdocs version 1.0.4, matching python 3.7. Note that the installation directory is the python installation directory \lib\site-packages\mkdocs, so before writing the article, create the project in the directory you want first, for later backup! I'm used to putting it on disk D. The name is my-project. so
D:
cd D:\\
mkdocs new my-project
cd my-project
Then install the material theme.
pip install mkdocs-material
Then before you configure the yml file, consider how to build this web-accessible site? It can be put on GitHub Pages, which means you can bind domains and enable https. whereas a github account can only open one personal Github Pages under numerous project GitHub Pages, so first you have to set up project GitHub Pages. here I referenced: https:// segmentfault.com/a/1190000003946969

The actual operation is not as difficult as the article makes it out to be, nothing more.

  • Feel free to create a repo, name it as you wish, pull it directly into GitHub Pages in setting, Source select master branch, Custom domain set as your own second level domain (of course you can tie other domains, it doesn't matter one or two). This will automatically generate a CNAME file with the second-level domain name, without HTTPS! Such as wiki.chnliefeng.ink.

  • Another thing that you need to do is to get your own personal information. I set the CNAME host record for wiki, the record value for liefeng.github.io. Then resolution, a short while later you can access https://wiki.chnliefeng.ink.

Then refer to the official guide to configure mkdocs.yml at this time. note that pages should be described by nav.

Deploy

First git clone the repo, remember to change the branch to gh-pages, then put everything in my-project into the repo directory, after that

mkdocs gh-deploy
That's how it's deployed.

Mkdocs supports markdown math equations.

I recently had to use it to write study notes for physics/math, so I researched it. It's actually very simple to set up. Just install pymdown-extensions and configure the mkdoc.yml file.

Install the plug-in first

pip install pymdown-extensions
Then create a new mathjax-config.js file in the docs folder in the root folder of mkdocs, which is the auxiliary configuration of MathJax.
/* mathjax-loader.js file */
/* ref: http://facelessuser.github.io/pymdown-extensions/extensions/arithmatex/ */
(function (win, doc) {
  win.MathJax = {
    config: ["MMLorHTML.js"],
    extensions: ["tex2jax.js"],
    jax: ["input/TeX"],
    tex2jax: {
      inlineMath: [["\\\\(","\\\\)"]],
      displayMath: ["\\\\[","\\\\]"]]
    },
    TeX: {
      TagSide: "right",
      TagIndent: ".8em",
      MultLineWidth: "85%",
      equationNumbers: {
        autoNumber: "AMS",
      },
      unicode: {
        fonts: "STIXGeneral, 'Arial Unicode MS'"
      }
    },
    displayAlign: 'center',
    showProcessingMessages: false,
    messageStyle: 'none'
  };
})(window, document);
After the mkdocs.yml file in the following code can be added
markdown_extensions:
  - pymdownx.arithmatex
  - pymdownx.betterem. smart_enable: all
      smart_enable: all
  - pymdownx.caret
  - pymdownx.critical
  - pymdownx.details
  - pymdownx.emoji:
      emoji_generator: ! !python/name:pymdownx.emoji.to_svg
  - pymdownx.inlinehilite
  - pymdownx.magiclink
  - pymdownx.mark
  - pymdownx.smartsymbols
  - pymdownx.superfences
  - pymdownx.tasklist. custom_checkbox: true
      custom_checkbox: true
  - pymdownx.tilde
mathjax-config.js
  - mathjax-config.js
  - https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-MML-AM_CHTML
Then deploy the document with the markdown mathematical formula to see the web page effect.

Machine Learning

Computational Visual