瀏覽代碼

init repo

joe 4 年之前
當前提交
0b350d3811

+ 7 - 0
.gitignore

@@ -0,0 +1,7 @@
+# created by virtualenv automatically
+bin/
+lib/
+site/__pycache__/
+site/_website/
+site/.doctrees/
+pyvenv.cfg

+ 0 - 0
README.md


+ 14 - 0
install.sh

@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+
+# need install python3, pip3 in advance
+pip install virtualenv
+cd /tmp
+virtualenv blog
+cd blog
+source bin/activate
+pip install ablog
+cd -
+cp -r ./site /tmp/blog
+cd -
+ablog build
+ablog serve

+ 5 - 0
site/.vscode/settings.json

@@ -0,0 +1,5 @@
+{
+    "restructuredtext.linter.disabled": true,
+    "restructuredtext.preview.sphinx.disabled": true,
+    "restructuredtext.confPath": "${workspaceFolder}"
+}

+ 8 - 0
site/about.rst

@@ -0,0 +1,8 @@
+
+.. _about:
+
+About me
+============================
+
+The world wants to know more about you.
+

+ 343 - 0
site/conf.py

@@ -0,0 +1,343 @@
+#!/usr/bin/env python
+
+
+# eyefall build configuration file, created by
+# `ablog start` on Mon Jan 25 22:18:43 2021.
+#
+# Note that not all possible configuration values are present in this file.
+# All configuration values have a default; values that are commented out
+# serve to show the default.
+
+import os
+import sys
+import ablog
+import alabaster
+
+# -- General ABlog Options ----------------------------------------------------
+
+# A path relative to the configuration directory for blog archive pages.
+# blog_path = 'blog'
+
+# The "title" for the blog, used in active pages.  Default is ``'Blog'``.
+blog_title = u'Eyefall Blog'
+
+# Base URL for the website, required for generating feeds.
+# e.g. blog_baseurl = "http://example.com/"
+blog_baseurl = u''
+
+# Choose to archive only post titles. Archiving only titles can speed
+# up project building.
+# blog_archive_titles = False
+
+# -- Blog Authors, Languages, and Locations -----------------------------------
+
+# A dictionary of author names mapping to author full display names and
+# links. Dictionary keys are what should be used in ``post`` directive
+# to refer to the author.  Default is ``{}``.
+blog_authors = {
+    'woo': ('woo', None),
+}
+
+
+# A dictionary of language code names mapping to full display names and
+# links of these languages. Similar to :confval:`blog_authors`, dictionary
+# keys should be used in ``post`` directive to refer to the locations.
+# Default is ``{}``.
+# blog_languages = {
+#    'en': ('English', None),
+# }
+
+
+# A dictionary of location names mapping to full display names and
+# links of these locations. Similar to :confval:`blog_authors`, dictionary
+# keys should be used in ``post`` directive to refer to the locations.
+# Default is ``{}``.
+# blog_locations = {
+#    'Earth': ('The Blue Planet', 'https://en.wikipedia.org/wiki/Earth),
+# }
+
+# -- Blog Post Related --------------------------------------------------------
+
+# Format date for a post.
+# post_date_format = '%b %d, %Y'
+
+# Number of paragraphs (default is ``1``) that will be displayed as an excerpt
+# from the post. Setting this ``0`` will result in displaying no post excerpt
+# in archive pages.  This option can be set on a per post basis using
+# post_auto_excerpt = 1
+
+# Index of the image that will be displayed in the excerpt of the post.
+# Default is ``0``, meaning no image.  Setting this to ``1`` will include
+# the first image, when available, to the excerpt.  This option can be set
+# on a per post basis using :rst:dir:`post` directive option ``image``.
+# post_auto_image = 0
+
+# Number of seconds (default is ``5``) that a redirect page waits before
+# refreshing the page to redirect to the post.
+# post_redirect_refresh = 5
+
+# When ``True``, post title and excerpt is always taken from the section that
+# contains the :rst:dir:`post` directive, instead of the document. This is the
+# behavior when :rst:dir:`post` is used multiple times in a document. Default
+# is ``False``.
+# post_always_section = False
+
+# When ``False``, the :rst:dir:`orphan` directive is not automatically set
+# for each post. Without this directive, Sphinx will warn about posts that
+# are not explicitly referenced via another document. :rst:dir:`orphan` can
+# be set on a per-post basis as well if this is false. Default is ``True``.
+# post_auto_orphan = True
+
+# -- ABlog Sidebars -------------------------------------------------------
+
+# There are seven sidebars you can include in your HTML output.
+# postcard.html provides information regarding the current post.
+# recentposts.html lists most recent five posts. Others provide
+# a link to a archive pages generated for each tag, category, and year.
+# In addition, there are authors.html, languages.html, and locations.html
+# sidebars that link to author and location archive pages.
+html_sidebars = {
+    '**': [ 'about.html',
+            'postcard.html', 'navigation.html',
+            'recentposts.html', 'tagcloud.html',
+            'categories.html',  'archives.html',
+            'searchbox.html',
+            ],
+    }
+
+# -- Blog Feed Options --------------------------------------------------------
+
+# Turn feeds by setting :confval:`blog_baseurl` configuration variable.
+# Choose to create feeds per author, location, tag, category, and year,
+# default is ``False``.
+# blog_feed_archives = False
+
+# Choose to display full text in blog feeds, default is ``False``.
+# blog_feed_fulltext = False
+
+# Blog feed subtitle, default is ``None``.
+# blog_feed_subtitle = None
+
+# Choose to feed only post titles, default is ``False``.
+# blog_feed_titles = False
+
+# Specify number of recent posts to include in feeds, default is ``None``
+# for all posts.
+# blog_feed_length = None
+
+# -- Font-Awesome Options -----------------------------------------------------
+
+# ABlog templates will use of Font Awesome icons if one of the following
+# is ``True``
+
+# Link to `Font Awesome`_ at `Bootstrap CDN`_ and use icons in sidebars
+# and post footers.  Default: ``None``
+# fontawesome_link_cdn = None
+
+# Sphinx_ theme already links to `Font Awesome`_.  Default: ``False``
+# fontawesome_included = False
+
+# Alternatively, you can provide the path to `Font Awesome`_ :file:`.css`
+# with the configuration option: fontawesome_css_file
+# Path to `Font Awesome`_ :file:`.css` (default is ``None``) that will
+# be linked to in HTML output by ABlog.
+# fontawesome_css_file = None
+
+# -- Disqus Integration -------------------------------------------------------
+
+# You can enable Disqus_ by setting ``disqus_shortname`` variable.
+# Disqus_ short name for the blog.
+# disqus_shortname = None
+
+# Choose to disqus pages that are not posts, default is ``False``.
+# disqus_pages = False
+
+# Choose to disqus posts that are drafts (without a published date),
+# default is ``False``.
+# disqus_drafts = False
+
+# -- Sphinx Options -----------------------------------------------------------
+
+# If your project needs a minimal Sphinx version, state it here.
+needs_sphinx = '1.2'
+
+# Add any Sphinx extension module names here, as strings. They can be
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
+# ones.
+extensions = [
+    'sphinx.ext.extlinks',
+    'sphinx.ext.intersphinx',
+    'sphinx.ext.todo',
+    'alabaster',
+    'ablog',
+]
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['_templates', ablog.get_html_templates_path()]
+
+# The suffix(es) of source filenames.
+source_suffix = '.rst'
+
+# The encoding of source files.
+# source_encoding = 'utf-8-sig'
+
+# The master toctree document.
+master_doc = 'index'
+
+# General information about the project.
+project = u'Eyefall'
+copyright = u'2021, woo'
+author = u'woo'
+
+# The version info for the project you're documenting, acts as replacement for
+# |version| and |release|, also used in various other places throughout the
+# built documents.
+#
+# The short X.Y version.
+version = ''
+# The full version, including alpha/beta/rc tags.
+release = ''
+
+# The language for content autogenerated by Sphinx. Refer to documentation
+# for a list of supported languages.
+#
+# This is also used if you do content translation via gettext catalogs.
+# Usually you set "language" from the command line for these cases.
+language = 'en'
+
+# There are two options for replacing |today|: either, you set today to some
+# non-false value, then it is used:
+# today = ''
+# Else, today_fmt is used as the format for a strftime call.
+# today_fmt = '%B %d, %Y'
+
+# List of patterns, relative to source directory, that match files and
+# directories to ignore when looking for source files.
+exclude_patterns = []
+
+# The reST default role (used for this markup: `text`) to use for all
+# documents.
+# default_role = None
+
+# If true, '()' will be appended to :func: etc. cross-reference text.
+# add_function_parentheses = True
+
+# If true, the current module name will be prepended to all description
+# unit titles (such as .. function::).
+# add_module_names = True
+
+# If true, sectionauthor and moduleauthor directives will be shown in the
+# output. They are ignored by default.
+# show_authors = False
+
+# The name of the Pygments (syntax highlighting) style to use.
+pygments_style = 'sphinx'
+
+# A list of ignored prefixes for module index sorting.
+# modindex_common_prefix = []
+
+# If true, keep warnings as "system message" paragraphs in the built documents.
+# keep_warnings = False
+
+# If true, `todo` and `todoList` produce output, else they produce nothing.
+todo_include_todos = False
+
+
+# -- Options for HTML output ----------------------------------------------
+
+# The theme to use for HTML and HTML Help pages.  See the documentation for
+# a list of builtin themes.
+html_theme = 'alabaster'
+
+# Theme options are theme-specific and customize the look and feel of a theme
+# further.  For a list of options available for each theme, see the
+# documentation.
+html_theme_options = {
+    'github_button': False,
+}
+
+# Add any paths that contain custom themes here, relative to this directory.
+html_theme_path = [alabaster.get_path()]
+
+# The name for this set of Sphinx documents.  If None, it defaults to
+# "<project> v<release> documentation".
+# html_title = None
+
+# A shorter title for the navigation bar.  Default is the same as html_title.
+# html_short_title = None
+
+# The name of an image file (relative to this directory) to place at the top
+# of the sidebar.
+# html_logo = None
+
+# The name of an image file (within the static path) to use as favicon of the
+# docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32
+# pixels large.
+# html_favicon = None
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = ['_static']
+
+# Add any extra paths that contain custom files (such as robots.txt or
+# .htaccess) here, relative to this directory. These files are copied
+# directly to the root of the documentation.
+# html_extra_path = []
+
+# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
+# using the given strftime format.
+# html_last_updated_fmt = '%b %d, %Y'
+
+# If true, SmartyPants will be used to convert quotes and dashes to
+# typographically correct entities.
+# html_use_smartypants = True
+
+# Additional templates that should be rendered to pages, maps page names to
+# template names.
+# html_additional_pages = {}
+
+# If false, no module index is generated.
+# html_domain_indices = True
+
+# If false, no index is generated.
+# html_use_index = True
+
+# If true, the index is split into individual pages for each letter.
+# html_split_index = False
+
+# If true, links to the reST sources are added to the pages.
+# html_show_sourcelink = True
+
+# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
+# html_show_sphinx = True
+
+# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
+# html_show_copyright = True
+
+# If true, an OpenSearch description file will be output, and all pages will
+# contain a <link> tag referring to it.  The value of this option must be the
+# base URL from which the finished HTML is served.
+# html_use_opensearch = ''
+
+# This is the file name suffix for HTML files (e.g. ".xhtml").
+# html_file_suffix = None
+
+# Language to be used for generating the HTML full-text search index.
+# Sphinx supports the following languages:
+#   'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja'
+#   'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr'
+# html_search_language = 'en'
+
+# A dictionary with options for the search language support, empty by default.
+# Now only 'ja' uses this config value
+# html_search_options = {'type': 'default'}
+
+# The name of a javascript file (relative to the configuration directory) that
+# implements a search results scorer. If empty, the default will be used.
+# html_search_scorer = 'scorer.js'
+
+# Output file base name for HTML help builder.
+htmlhelp_basename = 'eyefalldoc'
+
+

+ 29 - 0
site/index.rst

@@ -0,0 +1,29 @@
+
+.. eyefall index file, created by `ablog start` on Mon Jan 25 22:18:43 2021.
+   You can adapt this file completely to your liking, but it should at least
+   contain the root `toctree` directive.
+
+Keep writing to learn
+===================================
+
+Hello World! Find more about me here: :ref:`about`
+
+
+Here is a list of most recent posts:
+
+.. postlist:: 5
+   :excerpts:
+
+
+.. `toctree` directive, below, contains list of non-post `.rst` files.
+   This is how they appear in Navigation sidebar. Note that directive
+   also contains `:hidden:` option so that it is not included inside the page.
+
+   Posts are excluded from this directive so that they aren't double listed
+   in the sidebar both under Navigation and Recent Posts.
+
+.. toctree::
+   :hidden:
+
+   about.rst
+

+ 22 - 0
site/notes_env_config.rst

@@ -0,0 +1,22 @@
+
+环境变量配置
+===============
+
+.. post:: Jan 25, 2021
+   :tags: configure
+   :category: notes
+
+
+Golang环境变量
+---------------
+
+.. code-block:: shell
+
+   # uncompress tarball
+   $tar xzf go-x.tar.gz
+   # add path to environment
+   $sudo vi /etc/profile
+   export PATH=$PATH:/location/to/golang
+   # test it
+   $go version
+

+ 13 - 0
site/programming_b_tree.rst

@@ -0,0 +1,13 @@
+
+.. eyefall post example, created by `ablog start` on Jan 25, 2021.
+
+B+ tree
+==========
+
+.. post:: Jan 25, 2021
+   :tags: algorithm
+   :author: woo
+   :category: programming
+
+
+

+ 88 - 0
site/programming_git_useful.rst

@@ -0,0 +1,88 @@
+.. eyefall post example, created by `ablog start` on Jan 25, 2021.
+
+Git in real world
+===================
+
+.. post:: Jan 30, 2021
+   :tags: git
+   :category: programming
+
+
+
+Fetch tags from remote repository
+----------------------------------
+
+.. code-block:: shell 
+
+   $git fetch --all --tags
+
+Checkout a tag as a branch
+----------------------------
+
+.. code-block:: shell
+
+   $git checkout tags/<tag_name> -b <new_branch_name>
+
+Ignore ^M as a newline when execute 'git diff'
+-----------------------------------------------
+
+.. code-block:: shell
+
+   $git config --global core.autocrlf true
+
+查看指定文件修改历史
+-------------------------
+
+.. code-block:: shell
+
+   $git log --pretty=oneline [--oneline] <filename>
+
+查看单次提交详情
+----------------------------
+
+.. code-block:: shell
+
+   $git show <commit>
+
+撤销 git add 
+------------------------
+.. code-block:: shell
+
+   $git reset HEAD 
+   $git reset HEAD <filename>
+   $git reset HEAD <path>
+   $git rm --cached <filename>
+
+撤销 commit (没 push)
+-----------------------------
+
+.. code-block:: shell
+
+   $git reset --soft HEAD^
+
+   # 如果撤销 2 次 commit
+   $git reset --soft HEAD~2
+
+   # 其他参数
+   --mixed 为默认参数,不删除工作空间代码改动,撤销 commit,并撤销 add
+   # $git reset --mixed HEAD~2 == $git reset HEAD~2
+   --soft 不删除工作空间代码改动,撤销 commit, 不撤销 add
+   --hard 删除工作空间代码改动,撤销 commit,撤销 add
+
+rebase 远程分支
+---------------------------
+假设情景如下: 有一些本地分支,其中 master 是用来同步的主分支
+对应自己有一个远程仓库 origin, origin 是 clone 自另一个仓库
+假设地址在 https://github.com/a/b.git. 现在需要拉取原始仓库的更新
+
+.. code-block:: shell
+   
+   $git remote add upstream https://github.com/a/b.git
+
+   $git fetch upstream
+
+   $git checkout master
+
+   $git rebase upstream/master
+
+   $git push -f origin master

+ 16 - 0
site/programming_server_side_design_for_board_games.rst

@@ -0,0 +1,16 @@
+
+桌游服务端设计思考
+==================================
+
+.. post:: Jan 25, 2021
+   :tags: design
+   :category: programming
+
+
+目标
+-------
+
+* 高可用同时不过度复杂,保持模型的简单性。程序编写面向可维护开发,面向运维开发。
+* 分布式系统中各个组件/进程不必使用同一种语言,即支持跨语言开发。
+* 易于扩展。
+

+ 8 - 0
site/wonderful.rst

@@ -0,0 +1,8 @@
+
+Wonderful
+=========
+
+.. post:: Feb 04, 2021
+   :tags:
+   :category:
+