notes icon indicating copy to clipboard operation
notes copied to clipboard

我的笔记

这是我的 Notes/Wiki。在线查看:http://tangzx.qiniudn.com/notes

                                                      +-------------------+
                                                      |                   |
                                                      | How To Contribute |
                                                      |                   |
                                                      +-------------------+

请以处女座的标准排版自己的文字。至少遵循下面的要求:

  • 关于中英文:请手工加上中英文间的空格。

  • 关于格式:

    1. Markdown 格式书写,请遵循如下准则:

      加粗用加粗,斜体用斜体,加粗并斜体用加粗并斜体

      上标:x^2^ + y^2^ = z^2^

      下标:H~2~O

      这是引用。

      | 这是诗句(自然换行)。

      链接标题

      图片 caption

      还可以加上一点 CSS{align=right}

      列表的使用如下:

      -   无序列表 item 1
      -   无序列表 item 2
      

      下面则是有序列表:

      1.  one
      2.  two
      

      或者这样也是可以的:

      #.  still one
      #.  still two
      

      列表可以嵌套:

      1.  one
          -   11
          -   12
      2.  two
      

      当然,我倾向于更易于辨识的:

      1.  one
      
          -   11
          -   12
      
      2.  two
      

      缩进永远用 4 个空格,所以不要这样写:

      - 糟糕的无序列表 item 1
      - 糟糕的无序列表 item 2
      

      更多格式说明见 pandoc 文档:https://github.com/jgm/pandoc/blob/master/MANUAL.txt

      注:我几乎完全同意 jgm 的排版细节,除了:

      1. H1~H6 两边都括起来:我用 # header' 而不用 # header #'

      2. 两个空格代表句子结束:我用 Hello. Where are you?' 而不用 Hello. Where are you?'

      3. 用缩进表示代码块:我用

        下面是一点 C++ 代码:
        
        ```cpp
        std::cout << "explicit is better than implicit.\n";
        ```
        

        而不用

        下面是一点 C++ 代码:
        
            std::cout << "explicit is better than implicit.\n";
        
    2. 内容折叠

      内容折叠是一种信息隐藏(褒义)手段。不能折叠内容会导致某种程度的【信息过度接收 panic】, 它损害了一个好的笔记原有的清晰的层次结构。所以本笔记提供内容折叠功能。

      在 Emacs org-mode 格式中,它被称为 drawer。

      内容折叠主要用于

      组合中。只需在 Markdown 源码
      行的最末尾添加“-<”或“+<”。 前者初始为关闭,后者为打开。两种 drawer 都可以 toggle 其中的内容。 例子如下:
      这个抽屉默认折叠起来 -<
      
      :   这是抽屉里面的内容。
      
          内容。
      
          内容……
      
          嵌套一个默认打开的折叠抽屉 +<
      
          :   这是抽屉里面的内容。
      
              内容。
      
              内容……
      
              内层完。
      
          外层完。
      
      这不是个“抽屉”,因为不具备 toggle “内容”的功能。
      
      :   内容。
      

      注意:Pandoc 要求源码中

      块只能是单行。
    3. 引入其它文件

      在文本中使用 `@include <-=path/to/file='

      “@”前面的符号会 prepend 到 included 文件的每一行。 “-”和“=”之间可以插入额外的字符。

      示例:

      +-----------------------------------------------+ | | | - include code | | | | : cpp | | @include <-=2016/democode.cpp= | | | | | | - include excerpts | | | | @include <-| =2016/poem.txt= | | | +-----------------------------------------------+

      如果 2016/democode.cpp(目录从 repo 根目录起)内容如下:

      +------------------------2016/democode.cpp------+ | | | #include <stdio.h> | | | | int main() { | | printf( "hello world.\n" ); | | } | | | +-----------------------------------------------+

      如果 2016/poem.txt 内容如下:

      +------------------------2016/poem.txt----------+ | | | Like tears | | in the rain. | | | +-----------------------------------------------+

      include 后的效果如下:

      +-----------------------------------------------+ | | | - include code | | | | : cpp | | #include <stdio.h> | | | | int main() { | | printf( "hello world.\n" ); | | } | | | | | | - include excerpts | | | | | Like tears | | | in the rain. | | | +-----------------------------------------------+

      引入语法支持嵌套,且能正确处理“环”的问题。