diff --git a/.DS_Store b/.DS_Store
index 2f5f5a4..7d9ecf7 100644
Binary files a/.DS_Store and b/.DS_Store differ
diff --git a/README.md b/README.md
index dbed5a4..86f8a3d 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1 @@
-2021-07-18 21:24:30
-* 2021-07-18 21:27:02
-* 2021-07-18 21:30:33
\ No newline at end of file
+旧的维基系统。Dokuwiki稳定运行以后,这个网站基本可以下架。
\ No newline at end of file
diff --git a/_config.yml b/_config.yml
index 8cf8353..3550d34 100644
--- a/_config.yml
+++ b/_config.yml
@@ -29,7 +29,7 @@ admin:
# Directory
source_dir: source
-public_dir: docs # 改为 docs 就可以自动发布
+public_dir: public # 改为 docs 就可以自动发布
tag_dir: tags
archive_dir: archives
category_dir: categories
diff --git a/db.json b/db.json
index deee9f4..24c4a7d 100644
--- a/db.json
+++ b/db.json
@@ -1 +1 @@
-{"meta":{"version":1,"warehouse":"2.2.0"},"models":{"Asset":[{"_id":"themes/Wikitten/source/css/style.styl","path":"css/style.styl","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/js/insight.js","path":"js/insight.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/images/mobile2.png","path":"images/mobile2.png","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/js/main.js","path":"js/main.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/images/mobile1.png","path":"images/mobile1.png","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/css/images/favicon.ico","path":"css/images/favicon.ico","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/css/images/logo.png","path":"css/images/logo.png","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/css/images/thumb-default-small.png","path":"css/images/thumb-default-small.png","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/fonts/glyphicons-halflings-regular.woff2","path":"libs/fonts/glyphicons-halflings-regular.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/fonts/glyphicons-halflings-regular.woff","path":"libs/fonts/glyphicons-halflings-regular.woff","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/fonts/glyphicons-halflings-regular.ttf","path":"libs/fonts/glyphicons-halflings-regular.ttf","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/justified-gallery/justifiedGallery.min.css","path":"libs/justified-gallery/justifiedGallery.min.css","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/justified-gallery/jquery.justifiedGallery.min.js","path":"libs/justified-gallery/jquery.justifiedGallery.min.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/source-code-pro/styles.css","path":"libs/source-code-pro/styles.css","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/styles.css","path":"libs/open-sans/styles.css","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/images/SitePreview.png","path":"images/SitePreview.png","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/uploads/road-to-asset-freedom-mindmap.html","path":"uploads/road-to-asset-freedom-mindmap.html","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/fonts/glyphicons-halflings-regular.eot","path":"libs/fonts/glyphicons-halflings-regular.eot","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/fonts/glyphicons-halflings-regular.svg","path":"libs/fonts/glyphicons-halflings-regular.svg","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/font-awesome/css/font-awesome.css","path":"libs/font-awesome/css/font-awesome.css","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lg-fb-comment-box.css","path":"libs/lightgallery/css/lg-fb-comment-box.css","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/font-awesome/css/font-awesome.min.css","path":"libs/font-awesome/css/font-awesome.min.css","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lg-fb-comment-box.css.map","path":"libs/lightgallery/css/lg-fb-comment-box.css.map","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lg-fb-comment-box.min.css","path":"libs/lightgallery/css/lg-fb-comment-box.min.css","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lg-transitions.css","path":"libs/lightgallery/css/lg-transitions.css","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lg-transitions.css.map","path":"libs/lightgallery/css/lg-transitions.css.map","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lg-transitions.min.css","path":"libs/lightgallery/css/lg-transitions.min.css","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lightgallery.css","path":"libs/lightgallery/css/lightgallery.css","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lightgallery.css.map","path":"libs/lightgallery/css/lightgallery.css.map","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lightgallery.min.css","path":"libs/lightgallery/css/lightgallery.min.css","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/fonts/lg.eot","path":"libs/lightgallery/fonts/lg.eot","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/fonts/lg.svg","path":"libs/lightgallery/fonts/lg.svg","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/fonts/lg.woff","path":"libs/lightgallery/fonts/lg.woff","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-autoplay.js","path":"libs/lightgallery/js/lg-autoplay.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/fonts/lg.ttf","path":"libs/lightgallery/fonts/lg.ttf","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-autoplay.min.js","path":"libs/lightgallery/js/lg-autoplay.min.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-fullscreen.js","path":"libs/lightgallery/js/lg-fullscreen.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-fullscreen.min.js","path":"libs/lightgallery/js/lg-fullscreen.min.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-hash.js","path":"libs/lightgallery/js/lg-hash.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-hash.min.js","path":"libs/lightgallery/js/lg-hash.min.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-pager.js","path":"libs/lightgallery/js/lg-pager.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-pager.min.js","path":"libs/lightgallery/js/lg-pager.min.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-share.js","path":"libs/lightgallery/js/lg-share.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-share.min.js","path":"libs/lightgallery/js/lg-share.min.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-thumbnail.js","path":"libs/lightgallery/js/lg-thumbnail.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-thumbnail.min.js","path":"libs/lightgallery/js/lg-thumbnail.min.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-video.js","path":"libs/lightgallery/js/lg-video.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-video.min.js","path":"libs/lightgallery/js/lg-video.min.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-zoom.js","path":"libs/lightgallery/js/lg-zoom.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-zoom.min.js","path":"libs/lightgallery/js/lg-zoom.min.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lightgallery.js","path":"libs/lightgallery/js/lightgallery.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lightgallery.min.js","path":"libs/lightgallery/js/lightgallery.min.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/img/loading.gif","path":"libs/lightgallery/img/loading.gif","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/img/video-play.png","path":"libs/lightgallery/img/video-play.png","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/img/vimeo-play.png","path":"libs/lightgallery/img/vimeo-play.png","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/img/youtube-play.png","path":"libs/lightgallery/img/youtube-play.png","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/59ZRklaO5bWGqF5A9baEERJtnKITppOI_IvcXXDNrsc.woff2","path":"libs/open-sans/fonts/59ZRklaO5bWGqF5A9baEERJtnKITppOI_IvcXXDNrsc.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/K88pR3goAWT7BTt32Z01mxJtnKITppOI_IvcXXDNrsc.woff2","path":"libs/open-sans/fonts/K88pR3goAWT7BTt32Z01mxJtnKITppOI_IvcXXDNrsc.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/LWCjsQkB6EMdfHrEVqA1KRJtnKITppOI_IvcXXDNrsc.woff2","path":"libs/open-sans/fonts/LWCjsQkB6EMdfHrEVqA1KRJtnKITppOI_IvcXXDNrsc.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNShWV49_lSm1NYrwo-zkhivY.woff2","path":"libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNShWV49_lSm1NYrwo-zkhivY.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSj0LW-43aMEzIO6XUTLjad8.woff2","path":"libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSj0LW-43aMEzIO6XUTLjad8.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSpX5f-9o1vgP2EXwfjgl7AY.woff2","path":"libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSpX5f-9o1vgP2EXwfjgl7AY.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSq-j2U0lmluP9RWlSytm3ho.woff2","path":"libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSq-j2U0lmluP9RWlSytm3ho.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSqaRobkAwv3vxw3jMhVENGA.woff2","path":"libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSqaRobkAwv3vxw3jMhVENGA.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSugdm0LZdjqr5-oayXSOefg.woff2","path":"libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSugdm0LZdjqr5-oayXSOefg.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSv8zf_FOSsgRmwsS7Aa9k2w.woff2","path":"libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSv8zf_FOSsgRmwsS7Aa9k2w.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/RjgO7rYTmqiVp7vzi-Q5URJtnKITppOI_IvcXXDNrsc.woff2","path":"libs/open-sans/fonts/RjgO7rYTmqiVp7vzi-Q5URJtnKITppOI_IvcXXDNrsc.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/cJZKeOuBrn4kERxqtaUH3VtXRa8TVwTICgirnJhmVJw.woff2","path":"libs/open-sans/fonts/cJZKeOuBrn4kERxqtaUH3VtXRa8TVwTICgirnJhmVJw.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/u-WUoqrET9fUeobQW7jkRRJtnKITppOI_IvcXXDNrsc.woff2","path":"libs/open-sans/fonts/u-WUoqrET9fUeobQW7jkRRJtnKITppOI_IvcXXDNrsc.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBiYE0-AqJ3nfInTTiDXDjU4.woff2","path":"libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBiYE0-AqJ3nfInTTiDXDjU4.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBjTOQ_MqJVwkKsUn0wKzc2I.woff2","path":"libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBjTOQ_MqJVwkKsUn0wKzc2I.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBjUj_cnvWIuuBMVgbX098Mw.woff2","path":"libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBjUj_cnvWIuuBMVgbX098Mw.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBkbcKLIaa1LC45dFaAfauRA.woff2","path":"libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBkbcKLIaa1LC45dFaAfauRA.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBmo_sUJ8uO4YLWRInS22T3Y.woff2","path":"libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBmo_sUJ8uO4YLWRInS22T3Y.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBo4P5ICox8Kq3LLUNMylGO4.woff2","path":"libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBo4P5ICox8Kq3LLUNMylGO4.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBr6up8jxqWt8HVA3mDhkV_0.woff2","path":"libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBr6up8jxqWt8HVA3mDhkV_0.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xozscpT2726on7jbcb_pAhJtnKITppOI_IvcXXDNrsc.woff2","path":"libs/open-sans/fonts/xozscpT2726on7jbcb_pAhJtnKITppOI_IvcXXDNrsc.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/source-code-pro/fonts/mrl8jkM18OlOQN8JLgasD9V_2ngZ8dMf8fLgjYEouxg.woff2","path":"libs/source-code-pro/fonts/mrl8jkM18OlOQN8JLgasD9V_2ngZ8dMf8fLgjYEouxg.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/source-code-pro/fonts/mrl8jkM18OlOQN8JLgasDy2Q8seG17bfDXYR_jUsrzg.woff2","path":"libs/source-code-pro/fonts/mrl8jkM18OlOQN8JLgasDy2Q8seG17bfDXYR_jUsrzg.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/font-awesome/fonts/fontawesome-webfont.woff","path":"libs/font-awesome/fonts/fontawesome-webfont.woff","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/font-awesome/fonts/fontawesome-webfont.woff2","path":"libs/font-awesome/fonts/fontawesome-webfont.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/font-awesome/fonts/FontAwesome.otf","path":"libs/font-awesome/fonts/FontAwesome.otf","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/font-awesome/fonts/fontawesome-webfont.eot","path":"libs/font-awesome/fonts/fontawesome-webfont.eot","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/font-awesome/fonts/fontawesome-webfont.ttf","path":"libs/font-awesome/fonts/fontawesome-webfont.ttf","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/jquery/2.1.3/jquery.min.js","path":"libs/jquery/2.1.3/jquery.min.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/jquery/plugins/cookie/1.4.1/jquery.cookie.js","path":"libs/jquery/plugins/cookie/1.4.1/jquery.cookie.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/font-awesome/fonts/fontawesome-webfont.svg","path":"libs/font-awesome/fonts/fontawesome-webfont.svg","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/uploads/tianya.png","path":"uploads/tianya.png","modified":0,"renderable":1}],"Cache":[{"_id":"S_Store","hash":"a9cabec0ae931e7048f423a95c704c714780b5e1","modified":1588882647870},{"_id":"themes/Wikitten/LICENSE","hash":"feadcd728a8e828cfc507b4586d7a7ab94b66fe8","modified":1563743114000},{"_id":"themes/Wikitten/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565719634000},{"_id":"themes/Wikitten/README.md","hash":"8c9fc9b9ebdf37c9289a4e1d72ac8aedbe23316c","modified":1563743114000},{"_id":"themes/Wikitten/README_zh-CN.md","hash":"8a4e600ff1f75007df8facf15a9c127aafec5e18","modified":1563743114000},{"_id":"themes/Wikitten/_config.yml","hash":"c9bfc67c810f7a79227daad8af59f57b6ef020b3","modified":1588912541465},{"_id":"themes/Wikitten/package.json","hash":"2b308f996333d1d9def3e536dbf302afcdd8e1f0","modified":1563743114000},{"_id":"arkeditor/file_manager_status.config","hash":"c750fd1fe3f1407005c5d2b5d7b7f9bca54970c3","modified":1564688931000},{"_id":"arkeditor/file_manager_width.config","hash":"2c427b959b7a35c68831d16645d2afde8cb67ddd","modified":1564594162000},{"_id":"rafts/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"rafts/典故-md.md","hash":"2b33e03ac046894df112a9d45da13a690f621ed2","modified":1563856606000},{"_id":"osts/.DS_Store","hash":"6f8ff578f75eaeb17eeb676dc7e41d9fe37fa6af","modified":1588882832887},{"_id":"out/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"out/index.md","hash":"282d4c506b467c746d1154f25338d16be6abbb62","modified":1563816667000},{"_id":"tegories/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"tegories/index.md","hash":"53bbe27e36d98a4a55fdce6a7fd9cac3e6671439","modified":1563766746000},{"_id":"gs/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"gs/index.md","hash":"163f9d816dac6cc50a48347bf7f93f29fa503736","modified":1563766671000},{"_id":"themes/Wikitten/_scaffolds/embed.md","hash":"0830c3a5b134fbd21a6ddeda141a4de8345cabb1","modified":1563743114000},{"_id":"themes/Wikitten/_scaffolds/post.md","hash":"af892af6f7dafdd617c5aa17ee91e9e445d20fa4","modified":1563743114000},{"_id":"themes/Wikitten/languages/en.yml","hash":"ade241498b85503a8953a1deca963222f47067a7","modified":1563743114000},{"_id":"themes/Wikitten/languages/es.yml","hash":"d7432219be5bee4cb569331378ade61b749688e0","modified":1563743114000},{"_id":"themes/Wikitten/languages/fr.yml","hash":"cb3e597cbec7e8f458858c457bafd1f3a225083d","modified":1563743114000},{"_id":"themes/Wikitten/languages/id.yml","hash":"70ec9ab2ac04cf882e81377ca5ad15bf8adceca8","modified":1563743114000},{"_id":"themes/Wikitten/languages/ja.yml","hash":"ff972961e5f468a695d80d21b62c3e9032cdf561","modified":1563743114000},{"_id":"themes/Wikitten/languages/ko.yml","hash":"7c4ad4577dc0577ad2ca1c0410507f5e5fadf530","modified":1563743114000},{"_id":"themes/Wikitten/languages/pt-BR.yml","hash":"3c5d5293575593705b9a2dfa9d97b017eb4bc8c3","modified":1563743114000},{"_id":"themes/Wikitten/_source/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1588912619614},{"_id":"themes/Wikitten/languages/ru.yml","hash":"d1aab2b0c939d0c6020f881d664b660a01ee7327","modified":1563743114000},{"_id":"themes/Wikitten/languages/tr.yml","hash":"8b7eb6aec264db50dbabea89f680acca256f4cd1","modified":1563743114000},{"_id":"themes/Wikitten/languages/zh-Hans.yml","hash":"3dc8ec524805afd090438be717908750da439204","modified":1563743114000},{"_id":"themes/Wikitten/languages/zh-TW.yml","hash":"d8d96a0a17c20af11919ce036e87379a6b163db9","modified":1563743114000},{"_id":"themes/Wikitten/layout/archive.ejs","hash":"34180dcc26b8fcc59f8644ce506aadf7db5f07e5","modified":1563743114000},{"_id":"themes/Wikitten/layout/categories.ejs","hash":"aa95629b770cff8cca9d663aeb6b17928f070de5","modified":1563743114000},{"_id":"themes/Wikitten/layout/category.ejs","hash":"1d407f9176db84e83062c52ad4755aaea9e74401","modified":1563743114000},{"_id":"themes/Wikitten/layout/embed.ejs","hash":"9e4e14d7adf20225e26d3943bdae8d08cf2d0d8b","modified":1563743114000},{"_id":"themes/Wikitten/layout/page.ejs","hash":"50170783bac99946ae8af483920568de9b2d9801","modified":1563743114000},{"_id":"themes/Wikitten/layout/index.ejs","hash":"abda4978fe246ec7f2a240e591d5caaea6de327c","modified":1588913059866},{"_id":"themes/Wikitten/layout/layout.ejs","hash":"b81b084839a6944c99cceedf743422aea4d856fa","modified":1589039520929},{"_id":"themes/Wikitten/layout/post.ejs","hash":"50170783bac99946ae8af483920568de9b2d9801","modified":1563743114000},{"_id":"themes/Wikitten/layout/tag.ejs","hash":"f6c220d4e5c231028bc71ddc11aec97d7b5a9943","modified":1563743114000},{"_id":"themes/Wikitten/layout/tags.ejs","hash":"b0fcea68d7c11e5899bf0375d80997685111653f","modified":1563743114000},{"_id":"themes/Wikitten/scripts/fold.js","hash":"2c8cfa7dac0b2665db9c148882f18a11d7d78957","modified":1563907083000},{"_id":"themes/Wikitten/scripts/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1563908768000},{"_id":"themes/Wikitten/scripts/meta.js","hash":"1993754a2f3dffa283fa0538eb8f056385b69ad4","modified":1563743114000},{"_id":"themes/Wikitten/scripts/tags.js","hash":"259bc8f40e9f8eb457c1bdc99744b34d1e8602e8","modified":1563907013000},{"_id":"themes/Wikitten/scripts/thumbnail.js","hash":"e667a611f9baac270281b765832020d50bf8fb7f","modified":1563743114000},{"_id":"themes/Wikitten/source/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1581539379000},{"_id":"osts/.markeditor/file_manager_status.config","hash":"26ccad3385b35b5dd4b33232ba36d0da4f190c00","modified":1588848849111},{"_id":"osts/IT/.DS_Store","hash":"f31c5797d3b40ff7f36965331428bf17084dc289","modified":1565813210000},{"_id":"osts/.markeditor/file_manager_width.config","hash":"2c427b959b7a35c68831d16645d2afde8cb67ddd","modified":1588848807781},{"_id":"osts/常用文件/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"osts/常用文件/Hexo日常管理.md","hash":"48184f3ce76a6679a525e3349ec30ae4608ac5ec","modified":1564718092000},{"_id":"osts/摘录/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"osts/摘录/《驴得水》影评.md","hash":"dcd7ea1a8643fe06ff14022c5d5577ccf810a33c","modified":1565905736000},{"_id":"osts/摘录/典故.md","hash":"bd9982cfe6eea388c4f99b79d479939974cf0d1e","modified":1564545095000},{"_id":"osts/摘录/爱乐之城——影评.md","hash":"dd74130851f4565e9a4ae2d8b1218e4b74fb9672","modified":1565764310000},{"_id":"osts/文档/RZF-Organisation.md","hash":"37c4c97661f0ac8203e1b0c4f7f1df70dfe2c4a1","modified":1566463161000},{"_id":"osts/读书笔记/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"osts/读书笔记/《少有人走的路》笔记.md","hash":"5a6ce1a62ddca691e7aa49658a6a1ea8cd8215e3","modified":1564632258000},{"_id":"osts/读书笔记/斯多葛主义手册.md","hash":"a56ce651794cbedea74361202e9f1868a0b10f61","modified":1565764288000},{"_id":"osts/读书笔记/财富自由之路-李笑来.md","hash":"0f1bb3b57fb1b23e38984f0343c31431c0592ab8","modified":1565764569000},{"_id":"osts/随笔/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"osts/随笔/hello-world.md","hash":"5c562e2b6c5184f490c0ea1b6d820fe50579406b","modified":1564545095000},{"_id":"themes/Wikitten/_source/about/index.md","hash":"3b3e8701e1e68d422641c456dc808bb4a665720c","modified":1563745735000},{"_id":"themes/Wikitten/_source/categories/index.md","hash":"994c1641a9b4b9ef0c604c197dffb6b0ce0513a0","modified":1563745700000},{"_id":"themes/Wikitten/_source/tags/index.md","hash":"b5cea9db4620416c871ea1b14b7eddf23b330779","modified":1563745653000},{"_id":"themes/Wikitten/layout/comment/counter.ejs","hash":"e109d3256b004b027d029bd5bd67feeb72dc5388","modified":1563743114000},{"_id":"themes/Wikitten/layout/comment/disqus.ejs","hash":"1b32a90f400dc580f4b8298de75b94429ca6de68","modified":1563743114000},{"_id":"themes/Wikitten/layout/comment/duoshuo.ejs","hash":"ce46d7410a99b57704da32e9d09071cef6c9fa93","modified":1563743114000},{"_id":"themes/Wikitten/layout/comment/index.ejs","hash":"f0f00cce7a5c37f00dbc4acf49529bdd6a6bdc5d","modified":1563743114000},{"_id":"themes/Wikitten/layout/comment/scripts.ejs","hash":"8a9a20f72ba0923afa776396fb67d8c5d446a666","modified":1563743114000},{"_id":"themes/Wikitten/layout/comment/youyan.ejs","hash":"6fe807992832939caf6c3e7651d052df9520d88e","modified":1563743114000},{"_id":"themes/Wikitten/layout/common/article.ejs","hash":"595a086a42a156dd44d30ee7f9e7189ca370bcf1","modified":1563743114000},{"_id":"themes/Wikitten/layout/common/footer.ejs","hash":"2e5c72b780ac21462976108aec769a215d2f1f45","modified":1563812254000},{"_id":"themes/Wikitten/layout/common/head.ejs","hash":"5f2df8713f0ef723b3bfc79ae580fe8707ea2036","modified":1563743114000},{"_id":"themes/Wikitten/layout/common/header.ejs","hash":"738c6a923b2a6de6a81c4892c8a47e03d8b34f88","modified":1563743114000},{"_id":"themes/Wikitten/layout/common/iframe.ejs","hash":"c3a8e71e1660d58b6ed106a045c6829e77e65881","modified":1563743114000},{"_id":"themes/Wikitten/layout/common/profile.ejs","hash":"0d5a9622d490652599e3ba3e4077a7d6bb2eb38e","modified":1563743114000},{"_id":"themes/Wikitten/layout/common/scripts.ejs","hash":"c0a1a9e53f89440c42c325d5bd8c7234652c8937","modified":1563743114000},{"_id":"themes/Wikitten/layout/common/sidebar.ejs","hash":"6e80fa52d23c9c39bfa357a1e00c26fc8b851b82","modified":1563743114000},{"_id":"themes/Wikitten/layout/common/thumbnail.ejs","hash":"1b70f8a98cd8650b159bda858dbee38dbdb7f0c5","modified":1563743114000},{"_id":"themes/Wikitten/layout/common/timeline.ejs","hash":"6420e34e0332c9b6670011519f341340db989343","modified":1563743114000},{"_id":"themes/Wikitten/layout/plugin/google-analytics.ejs","hash":"349f08b6521a16e79046b1f94f04317ac74f556e","modified":1563743114000},{"_id":"themes/Wikitten/layout/plugin/scripts.ejs","hash":"6e410c120dabac0dccbd8b0c312f261c9566cacb","modified":1563743114000},{"_id":"themes/Wikitten/layout/plugin/baidu-analytics.ejs","hash":"6a7bee18e666e627e62541a5e30906f87ba1bfe8","modified":1563743114000},{"_id":"themes/Wikitten/layout/plugin/mathjax.ejs","hash":"aa644e12c338cd595ae53c37c89b974fa4364966","modified":1588882392716},{"_id":"themes/Wikitten/layout/search/baidu.ejs","hash":"3e603a702d20c53fd3bcbeb570a16a86d54781ce","modified":1563743114000},{"_id":"themes/Wikitten/layout/search/index-mobile.ejs","hash":"50a727ac1dfe3073eb6fa6699ba01e66f4ac41c0","modified":1563743114000},{"_id":"themes/Wikitten/layout/search/index.ejs","hash":"24935e32e61d4706454b174ea3bed0726ae7fb34","modified":1563743114000},{"_id":"themes/Wikitten/layout/search/insight.ejs","hash":"130fe3d33ac71da0b50f7fee6a87979f30938a1b","modified":1563743114000},{"_id":"themes/Wikitten/layout/search/swiftype.ejs","hash":"379e66d2c13526e72e4120c443f95fccf4edef71","modified":1563743114000},{"_id":"themes/Wikitten/layout/share/addtoany.ejs","hash":"ac180c4c84b73a04d61b17e7dc18c257e20bf59f","modified":1563743114000},{"_id":"themes/Wikitten/layout/share/bdshare.ejs","hash":"a1e772c5a6f174d585b0c1e574058f75dc8e2898","modified":1563743114000},{"_id":"themes/Wikitten/layout/share/default.ejs","hash":"ebfb919dc525b3ed61a6a5ee05ee71410eedc541","modified":1563743114000},{"_id":"themes/Wikitten/layout/share/index.ejs","hash":"2a2c0095b95b11e5692bd8ad6a2337aa644189a2","modified":1563743114000},{"_id":"themes/Wikitten/layout/share/jiathis.ejs","hash":"21ebaa51e828cba2cefbeeaccb01514643565755","modified":1563743114000},{"_id":"themes/Wikitten/layout/widget/archive.ejs","hash":"91a4675876990c12bd252f00e13894e0e7e5e50a","modified":1563743114000},{"_id":"themes/Wikitten/layout/widget/category.ejs","hash":"d09317d5e328a9c6ff8fded93604ebe04764cc4c","modified":1563743114000},{"_id":"themes/Wikitten/layout/widget/links.ejs","hash":"0f58cafed5156488f550df6d560814f835a46854","modified":1563743114000},{"_id":"themes/Wikitten/layout/widget/recent_posts.ejs","hash":"dc83051ae67cfae0db0a6d9790c923ff2883ee25","modified":1563743114000},{"_id":"themes/Wikitten/layout/widget/tag.ejs","hash":"5d70b1bf3b1fc977135e458f9a50cb65cff91f17","modified":1563743114000},{"_id":"themes/Wikitten/layout/widget/tagcloud.ejs","hash":"73638a7c91c6d6433e766b35199508719bf27d19","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_extend.styl","hash":"9a5c72663c0da1b32ecb6a75773a5ccfb8c467ca","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_variables.styl","hash":"2eba1250b39115da9f32e8a70d271e04186419c0","modified":1563743114000},{"_id":"themes/Wikitten/source/css/style.styl","hash":"d37d6c7754805c60564c0d9a50b7b058e7f830c9","modified":1563743114000},{"_id":"themes/Wikitten/source/js/insight.js","hash":"c9dfd20ae82a446facad01439b7bb75332e3705b","modified":1563743114000},{"_id":"themes/Wikitten/source/images/mobile2.png","hash":"ba9a7a5464369c4272f6345ef879b5d1c2449de1","modified":1563743114000},{"_id":"themes/Wikitten/source/js/main.js","hash":"d1ab55b8f28037dab5512c40d33553fac966dc39","modified":1563908857000},{"_id":"themes/Wikitten/source/uploads/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1563652057000},{"_id":"themes/Wikitten/source/images/mobile1.png","hash":"db83e3ffbf60ff88443cd3b9d1c23666005e88f0","modified":1563743114000},{"_id":"osts/IT/Code/Javascript技术摘要.md","hash":"e949fc3ccd48cfba5e3064c7b39ed5f523553d86","modified":1568660025000},{"_id":"osts/IT/Mac/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1588882793782},{"_id":"osts/IT/Mac/Mac使用标签.md","hash":"c28b4fa4701f08fcfe5942ec8f151d7cfd2f8dad","modified":1564545094000},{"_id":"osts/IT/Tools/Gitbook攻略.md","hash":"c78d9b403444239f353b6a4a6ce0f97e6ad0fcd7","modified":1565862378000},{"_id":"osts/IT/Mac/Mac备忘录.md","hash":"5d7fb8ad7a1a59b6dd65df8a6eae0d8cb7b18fd5","modified":1588836517649},{"_id":"osts/IT/Tools/Ubuntu重设root用户密码.md","hash":"b7323a3ac81d57b3c489d97c7da56a991883089f","modified":1565764467000},{"_id":"osts/IT/Tools/使用Github维护知识库.md","hash":"27bf57527ac1d9061b1733540ac9f0b383a8a35f","modified":1565862053000},{"_id":"osts/IT/Tools/坚果云有关.md","hash":"1a966cbc37318b34551bf17be4bccfc16761fa7f","modified":1565820630000},{"_id":"osts/IT/Tools/编辑器工具使用技巧汇总.md","hash":"8103dd1e47e61523c797cf86e82bb26517f54b12","modified":1567357907000},{"_id":"osts/IT/Tools/配置服务器端MySQL.md","hash":"d44b85906db5816259dc4b2128dcac8a0766b447","modified":1565788245000},{"_id":"osts/IT/Web/Next主题添加内容折叠.md","hash":"0c381c884e0c77af522fdbf958536f2c217ceb1b","modified":1564545094000},{"_id":"osts/IT/Web/同步Hexo文章与Mac上原笔记的分类和标签.md","hash":"3af3acc8ed642c8c74ad89b87ee0e98bf0db9865","modified":1564837106000},{"_id":"osts/IT/Web/如何系统化管理Hexo博客.md","hash":"06aeeeb674ebf91cc550732fd7c5f5f30413e791","modified":1565905917000},{"_id":"osts/IT/Tools/有用的shell命令.md","hash":"1e3bffca5cac009d0f91cbd6bb96206076e50cae","modified":1565788356000},{"_id":"osts/IT/skill/用Typescript编写JS函数库.md","hash":"b189a07241dcd4bc6388fb40f92d1ec9b9835669","modified":1566646240000},{"_id":"osts/IT/Web/搭建Hexo博客的流水账.md","hash":"2bc4bf601a7c03ca17acf56806bd8aaf1b2e6f5c","modified":1565865865000},{"_id":"osts/IT/skill/还在用七牛.md","hash":"ee7b98bee940ef09c06ffcdc967b41af8d0752b1","modified":1565852093000},{"_id":"osts/摘录/片段/佛偈集合.md","hash":"fcc94a0d1fbabbd9ff5cc9a607bc07dec6b9fb8b","modified":1565905574000},{"_id":"osts/摘录/片段/名人语录.md","hash":"3c9d34d4393d3276a3ab8ad82ccabc6b3155f39f","modified":1564545095000},{"_id":"osts/摘录/娱乐/搞笑段子.md","hash":"a13e48400bba8b3427b7ac080073ec19fa20bc93","modified":1564545095000},{"_id":"osts/摘录/片段/简短书摘.md","hash":"a2586fd508f831d1631fbc0925c39288ffd23692","modified":1564545095000},{"_id":"osts/IT/skill/MathJax用于易学领域.md","hash":"a199fc359afe19f5ec89c2069defd27990b742f9","modified":1588930688489},{"_id":"osts/摘录/片段/零散句子.md","hash":"c6100208f88c30d1910c03d472cc96e53320c996","modified":1564942528000},{"_id":"osts/摘录/片段/缠中说禅.md","hash":"57bc98bc30aff6804eebbe9b5300af1f673973a3","modified":1564545095000},{"_id":"themes/Wikitten/layout/common/post/banner.ejs","hash":"47ced3f03525698c79c6b1c07b48383fb6c496b2","modified":1563743114000},{"_id":"themes/Wikitten/layout/common/post/category.ejs","hash":"75c9dda2e7ec041943855ca163a6b1c4c8b4f260","modified":1563743114000},{"_id":"themes/Wikitten/layout/common/post/date.ejs","hash":"45cb0bcad461036cdd1fe2e3fbb5f2f19940025c","modified":1563743114000},{"_id":"themes/Wikitten/layout/common/post/gallery.ejs","hash":"659f019761116313169148ec61773e7b84abb739","modified":1563743114000},{"_id":"themes/Wikitten/layout/common/post/nav.ejs","hash":"d7cd611e642327f33dff3963ef869c2b46824a11","modified":1563743114000},{"_id":"themes/Wikitten/layout/common/post/tag.ejs","hash":"2e966216256321aa0c76fe1b9be689601c76ef31","modified":1563743114000},{"_id":"themes/Wikitten/layout/common/post/title.ejs","hash":"669ddb46fefa100856588351a7a2d30ad996b755","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/agate.styl","hash":"601eb70448a16b918df132f6fc41e891ae053653","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/androidstudio.styl","hash":"65d09f1b0e81c6a182f549fd3de51e59823c97ae","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/arduino-light.styl","hash":"15e8572585cd708221c513dea4bdd89d8fe56c10","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/arta.styl","hash":"1a5accc115f41d1b669ed708ac6a29abac876599","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/ascetic.styl","hash":"32cff3bef6fac3760fe78f203096477052a90552","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-cave-dark.styl","hash":"bc647b2c1d971d7cc947aa1ed66e9fd115261921","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-cave-light.styl","hash":"a5be0744a7ecf4a08f600ade4cfd555afc67bc15","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-dune-dark.styl","hash":"df50a85a4b14c7ca6e825d665594b91229d0e460","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-dune-light.styl","hash":"931435fbc6f974e8ce9e32722680035d248a9dc1","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-estuary-dark.styl","hash":"d84382bc8298f96730757391d3e761b7e640f406","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-estuary-light.styl","hash":"344276ca9b27e51d4c907f76afe5d13cf8e60bdf","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-forest-dark.styl","hash":"57c154c6045a038dc7df0a25927853e10bf48c4a","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-forest-light.styl","hash":"95228d9f2102fad425536aac44b80b2cba1f5950","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-heath-dark.styl","hash":"b0cf13b2233e7bc38342032d2d7296591a4c2bcf","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-lakeside-dark.styl","hash":"bb0a8c4ad0dd8e3e7de7122ddf268fc42aa94acb","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-lakeside-light.styl","hash":"2c54cb9bdb259ae3b5b29f63ac2469ed34b08578","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-heath-light.styl","hash":"8c8c2e445abef85273be966d59770e9ced6aac21","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-plateau-dark.styl","hash":"09c64f1a7052aec9070c36c0431df25216afaea1","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-plateau-light.styl","hash":"d1a05fdd1ededc9063d181ab25bad55a164aeb4a","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-savanna-dark.styl","hash":"a16c919a1ccf2f845488078fb341381bec46b1f3","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-savanna-light.styl","hash":"f8244c93711c7cb59dd79d2df966806b30d171ea","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-seaside-dark.styl","hash":"ce233a101daea7124cbfcd34add43ccfe2e1e1c7","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-seaside-light.styl","hash":"0597342da6e2d0c5bdcc7d42dabb07322b1a4177","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-sulphurpool-dark.styl","hash":"414b0cfc142f70afe359c16450b651e28bf7325a","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-sulphurpool-light.styl","hash":"efa52713efc468abeeb2b9299704371583b857de","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/brown-paper.styl","hash":"c2326ba20a5020a66ca7895258d18833327d4334","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/brown-papersq.png","hash":"3a1332ede3a75a3d24f60b6ed69035b72da5e182","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/color-brewer.styl","hash":"2a439d6214430e2f45dd4939b4dfe1fe1a20aa0f","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/dark.styl","hash":"71ce56d311cc2f3a605f6e2c495ccd7236878404","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/codepen-embed.styl","hash":"f4dcc84d8e39f9831a5efe80e51923fc3054feb0","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/docco.styl","hash":"b1c176378bb275f2e8caa759f36294e42d614bf1","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/far.styl","hash":"d9928010ffe71e80b97a5afcba1a4975efdd7372","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/darkula.styl","hash":"ad0d5728d21645039c9f199e7a56814170ed3bab","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/foundation.styl","hash":"bf8ddc94b4ad995b8b8805b5a4cf95004553fdac","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/github-gist.styl","hash":"48211a03d33e7f7ada0b261162bea06676155a71","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/github.styl","hash":"3336aeba324c6d34a6fd41fef9b47bc598f7064c","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/googlecode.styl","hash":"bda816beee7b439814b514e6869dc678822be1bc","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/grayscale.styl","hash":"bf37d8b8d1e602126c51526f0cc28807440228ed","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/highlightjs.styl","hash":"0e198b7a59191c7a39b641a4ddd22c948edb9358","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/hopscotch.styl","hash":"b374c6550b89b4751aedc8fbc3cf98d95bd70ead","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/hybrid.styl","hash":"ea8d7ddc258b073308746385f5cb85aabb8bfb83","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/idea.styl","hash":"a02967cb51c16a34e0ee895d33ded2b823d35b21","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/index.styl","hash":"002d5596f6379cc87dbd43d9145bc764aa666be1","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/ir-black.styl","hash":"693078bbd72a2091ed30f506cc55949600b717af","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/kimbie.dark.styl","hash":"45dbb168f22d739d0109745d2decd66b5f94e786","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/kimbie.light.styl","hash":"61f8baed25be05288c8604d5070afbcd9f183f49","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/magula.styl","hash":"16d323f989b1420a0f72ef989242ece9bf17a456","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/mono-blue.styl","hash":"4c89a6ae29de67c0700585af82a60607e85df928","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/monokai-sublime.styl","hash":"25aa2fc1dbe38593e7c7ebe525438a39574d9935","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/monokai.styl","hash":"5a4fe9f957fd7a368c21b62a818403db4270452f","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/obsidian.styl","hash":"55572bbcfee1de6c31ac54681bb00336f5ae826d","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/paraiso-dark.styl","hash":"f1537bd868579fa018ecdbfd2eb922dcf3ba2cac","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/paraiso-light.styl","hash":"d224d1df0eb3395d9eea1344cee945c228af2911","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/pojoaque.jpg","hash":"c5fe6533b88b21f8d90d3d03954c6b29baa67791","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/pojoaque.styl","hash":"77dae9dc41945359d17fe84dbd317f1b40b2ee33","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/railscasts.styl","hash":"acd620f8bb7ff0e3fe5f9a22b4433ceef93a05e6","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/rainbow.styl","hash":"ce73b858fc0aba0e57ef9fb136c083082746bc1d","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/school-book.png","hash":"711ec983c874e093bb89eb77afcbdf6741fa61ee","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/school-book.styl","hash":"d43560fe519a931ce6da7d57416d7aa148441b83","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/solarized-dark.styl","hash":"702b9299a48c90124e3ac1d45f1591042f2beccc","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/solarized-light.styl","hash":"aa0dd3fd25c464183b59c5575c9bee8756b397f2","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/sunburst.styl","hash":"a0b5b5129547a23865d400cfa562ea0ac1ee3958","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/tomorrow-night-blue.styl","hash":"8b3087d4422be6eb800935a22eb11e035341c4ba","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/tomorrow-night-bright.styl","hash":"0ac6af6ecb446b5b60d6226748e4a6532db34f57","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/tomorrow-night-eighties.styl","hash":"fa57b3bb7857a160fc856dbe319b31e30cc5d771","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/tomorrow-night.styl","hash":"19b3080d4b066b40d50d7e7f297472482b5801fd","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/tomorrow.styl","hash":"15779cf6846725c7c35fc56cac39047d7e0aec1c","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/vs.styl","hash":"959a746f4b37aacb5d1d6ff1d57e0c045289d75d","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/xcode.styl","hash":"5e8532ae8366dcf6a4ef5e4813dc3d42ab3d0a50","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/zenburn.styl","hash":"fc5ec840435dad80964d04519d3f882ddc03746a","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_partial/archive.styl","hash":"146b5a86d6f602232d86e246ea20620ec923cccc","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_partial/article.styl","hash":"55392727ed6a4cc57dca7ed88ae8364d441e65e3","modified":1564810565000},{"_id":"themes/Wikitten/source/css/_partial/comment.styl","hash":"784646796184d4f27918c22395288a2fafbf9554","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_partial/footer.styl","hash":"484776654e4c1691dc844e6e93786a08855c1c99","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_partial/header.styl","hash":"154fcfe17c4a9833903b3a91efb1ddf315e7fcba","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_partial/insight.styl","hash":"d3195723c373a68a05b76d430f8aeb2d2dd1957f","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_partial/profile.styl","hash":"2ecc48d48ad8769556036f19f2769c84c428cbc6","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_partial/sidebar.styl","hash":"4a11aace0de3aeafdd88caef7cd238543ce1cd95","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_util/grid.styl","hash":"93fb6f1e2f40cd7d88ad0d56dd73d3f9a7bc853e","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_partial/timeline.styl","hash":"4ea679287d49f91634dd32ad812746cccc1e6281","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_util/mixin.styl","hash":"c8e1ddfc0fe9108bab592c7a73b73ce9344991fd","modified":1563743114000},{"_id":"themes/Wikitten/source/css/images/favicon.ico","hash":"b37ac89616b9e4c01a35991af59fe6b63e41a48e","modified":1563743114000},{"_id":"themes/Wikitten/source/css/images/logo.png","hash":"8c61e1ec0b7c7200045d7795bac097fce475ef16","modified":1563743114000},{"_id":"themes/Wikitten/source/css/images/thumb-default-small.png","hash":"e8403b97ed9251f9f5207765b0ce796c5000b4ba","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/fonts/glyphicons-halflings-regular.woff2","hash":"ca35b697d99cae4d1b60f2d60fcd37771987eb07","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/fonts/glyphicons-halflings-regular.woff","hash":"278e49a86e634da6f2a02f3b47dd9d2a8f26210f","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/fonts/glyphicons-halflings-regular.ttf","hash":"44bc1850f570972267b169ae18f1cb06b611ffa2","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/justified-gallery/justifiedGallery.min.css","hash":"13fbcba5e97aa88b748d94d3efc4718475279907","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/justified-gallery/jquery.justifiedGallery.min.js","hash":"b2683e7a872bc109b1756a65188a37cef7d0bd5c","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/source-code-pro/styles.css","hash":"93c308012738728f906cd4c5cfdb34189e0c712b","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/styles.css","hash":"5ca6e111046232bde112d33201a60532aee7d3c4","modified":1563743114000},{"_id":"themes/Wikitten/source/images/SitePreview.png","hash":"c37c32696828492d6a8a4dfb0f84af98f5fb1306","modified":1563743114000},{"_id":"themes/Wikitten/source/uploads/road-to-asset-freedom-mindmap.html","hash":"eed342d1dd1cac1d8635292caeac2ed90f64cc70","modified":1563735219000},{"_id":"themes/Wikitten/source/libs/fonts/glyphicons-halflings-regular.eot","hash":"86b6f62b7853e67d3e635f6512a5a5efc58ea3c3","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/fonts/glyphicons-halflings-regular.svg","hash":"de51a8494180a6db074af2dee2383f0a363c5b08","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/font-awesome/css/font-awesome.css","hash":"b5020c3860669185ba3f316fa7332cdf5c06f393","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lg-fb-comment-box.css","hash":"844ce27b8488968bccb3e50bb49184ba2aae0625","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/font-awesome/css/font-awesome.min.css","hash":"7cd5a3384333f95c3d37d9488ad82cd6c4b03761","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lg-fb-comment-box.css.map","hash":"51e9df39edf0faa3f38c1bab0c1fa6c922b9edcb","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lg-fb-comment-box.min.css","hash":"05830fadb8454f39dcc98c8686eb4d5c24b71fc0","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lg-transitions.css","hash":"7871c28498d74451d6aa438c8d3a1817810a1e19","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lg-transitions.css.map","hash":"50c3348638b4d82fa08a449c690e8d2bb593005d","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lg-transitions.min.css","hash":"5c22e2073a4c96d6212c72135391b599e8d1359f","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lightgallery.css","hash":"bef55316a32e512d5a8940e5d0bfe8bf7a9c5c61","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lightgallery.css.map","hash":"3175b4107078674d25798979f7666f4daf31e624","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lightgallery.min.css","hash":"c9a2e19c932b56f4a2ce30c98910d10b74edb38a","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/fonts/lg.eot","hash":"54caf05a81e33d7bf04f2e420736ce6f1de5f936","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/fonts/lg.svg","hash":"9a732790adc004b22022cc60fd5f77ec4c8e3e5a","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/fonts/lg.woff","hash":"3048de344dd5cad4624e0127e58eaae4b576f574","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-autoplay.js","hash":"426bb78b93acfc39d533ea2bab1cec8dc289cf24","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/fonts/lg.ttf","hash":"f6421c0c397311ae09f9257aa58bcd5e9720f493","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-autoplay.min.js","hash":"d845741bcaf961579622880eb2a445257efad1ac","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-fullscreen.js","hash":"65c47ac65362854ba44b00a010bb01e3630209d8","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-fullscreen.min.js","hash":"b6b9e4022700b7faf2a5a175ba44a3bd938fdd20","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-hash.js","hash":"15d16516c5642d3de1566ff8fc9160136ccaa405","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-hash.min.js","hash":"43f1e1e720ab0e241c19b83aa26bd6848eab8edc","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-pager.js","hash":"8092c692b244bb26343eb03b91bd97deb9dafc9c","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-pager.min.js","hash":"25caa6ff65b1c6dee09941e795ae2633bdbab211","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-share.js","hash":"b7fb5f6474911060a351b0a6fe9dbb9ac3fb22aa","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-share.min.js","hash":"39c615f07c5d3aaa65a2c3068a30fdd6dd5c372d","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-thumbnail.js","hash":"3a6476b6df1d2bef4a21861a78776282a7a11ef1","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-thumbnail.min.js","hash":"18dd7d2909d1bfd6852f031d03e774b4428c512b","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-video.js","hash":"4f99b598f6bb18de9eca8c45c5b4373a03962367","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-video.min.js","hash":"032c001ab045a69856f9c3ed4a2a3bf12a8e310f","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-zoom.js","hash":"a758e2c8fcf710f9ff761da0eea0ab9321f3484d","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-zoom.min.js","hash":"15b49f9728439819ece15e4295cce254c87a4f45","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lightgallery.js","hash":"3cd19b33ba99efd5ba1d167da91720566d274b2c","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lightgallery.min.js","hash":"956ef9b706755318da69ad0b5d7786339d831251","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/img/loading.gif","hash":"607810444094b8619fa4efa6273bc2a7e38dd4b4","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/img/video-play.png","hash":"3ea484cdc04d2e4547f80cbf80001dcf248c94ef","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/img/vimeo-play.png","hash":"6190254f2804904a4a1fa1eb390dfd334e416992","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/img/youtube-play.png","hash":"fea6df9d9d43151f9c9d15f000adb30eb3e26fc4","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/59ZRklaO5bWGqF5A9baEERJtnKITppOI_IvcXXDNrsc.woff2","hash":"c4248ea800bd5608344ce163f5658b57e7ef9410","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/K88pR3goAWT7BTt32Z01mxJtnKITppOI_IvcXXDNrsc.woff2","hash":"e0350190d720a8fec0557ab47b318ec4e4486448","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/LWCjsQkB6EMdfHrEVqA1KRJtnKITppOI_IvcXXDNrsc.woff2","hash":"2c5b039b57f62625e88226a938679ec937431ad1","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNShWV49_lSm1NYrwo-zkhivY.woff2","hash":"22413bb8bfb78608c1e25aa1ed5c1f38557df79f","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSj0LW-43aMEzIO6XUTLjad8.woff2","hash":"63eb74ef040aade256f2274a7f31a914edddb0ea","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSpX5f-9o1vgP2EXwfjgl7AY.woff2","hash":"328a22fe3eec71ad9e5ece4d67dd62e79dab6b7f","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSq-j2U0lmluP9RWlSytm3ho.woff2","hash":"4dc6d7174ea6d89f4c45e43e1bfc3e03d8ffebaf","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSqaRobkAwv3vxw3jMhVENGA.woff2","hash":"415eee05976ab8b2471602a5ddb78a6c58fc21aa","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSugdm0LZdjqr5-oayXSOefg.woff2","hash":"a0b0c389cf46d63c850e61fed572485ff0b68183","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSv8zf_FOSsgRmwsS7Aa9k2w.woff2","hash":"c5f29fed6632efe0aa83318369f0d8c4061b775b","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/RjgO7rYTmqiVp7vzi-Q5URJtnKITppOI_IvcXXDNrsc.woff2","hash":"be201d32a9aa5d186723ebb3c538be691aa8c53a","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/cJZKeOuBrn4kERxqtaUH3VtXRa8TVwTICgirnJhmVJw.woff2","hash":"afc44700053c9a28f9ab26f6aec4862ac1d0795d","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/u-WUoqrET9fUeobQW7jkRRJtnKITppOI_IvcXXDNrsc.woff2","hash":"113978181dcac77baecef6115a9121d8f6e4fc3a","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBiYE0-AqJ3nfInTTiDXDjU4.woff2","hash":"5067c81462c15422853c94d21a1726865a61634f","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBjTOQ_MqJVwkKsUn0wKzc2I.woff2","hash":"b366f2fda2e524eb5ef50058eefff249a3b96e6c","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBjUj_cnvWIuuBMVgbX098Mw.woff2","hash":"d22904914469be735490e3c8cb093c7862896dd5","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBkbcKLIaa1LC45dFaAfauRA.woff2","hash":"ae80fb3cd16339aa7b5da280ab53975523dcaac2","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBmo_sUJ8uO4YLWRInS22T3Y.woff2","hash":"b85efde42fa3a03c32b1d31c6cd74c622fc7916c","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBo4P5ICox8Kq3LLUNMylGO4.woff2","hash":"e75607ba1417181397c700775b84303d5a2957b9","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBr6up8jxqWt8HVA3mDhkV_0.woff2","hash":"d0b40a7848703556c6631f24e961a98ca5829255","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xozscpT2726on7jbcb_pAhJtnKITppOI_IvcXXDNrsc.woff2","hash":"be365eca44760ce3fc9b377c43d4634958479c69","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/source-code-pro/fonts/mrl8jkM18OlOQN8JLgasD9V_2ngZ8dMf8fLgjYEouxg.woff2","hash":"942addaec4d3a60af33947a84a3d85f926015947","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/source-code-pro/fonts/mrl8jkM18OlOQN8JLgasDy2Q8seG17bfDXYR_jUsrzg.woff2","hash":"b0e0bb5ef78db8b15d430d0b9be9d4329289a310","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/font-awesome/fonts/fontawesome-webfont.woff","hash":"6d7e6a5fc802b13694d8820fc0138037c0977d2e","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/font-awesome/fonts/fontawesome-webfont.woff2","hash":"97e438cc545714309882fbceadbf344fcaddcec5","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/font-awesome/fonts/FontAwesome.otf","hash":"1b22f17fdc38070de50e6d1ab3a32da71aa2d819","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/font-awesome/fonts/fontawesome-webfont.eot","hash":"965ce8f688fedbeed504efd498bc9c1622d12362","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/font-awesome/fonts/fontawesome-webfont.ttf","hash":"61d8d967807ef12598d81582fa95b9f600c3ee01","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/jquery/2.1.3/jquery.min.js","hash":"41b4bfbaa96be6d1440db6e78004ade1c134e276","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/jquery/plugins/cookie/1.4.1/jquery.cookie.js","hash":"31e1bcc4cf805a2c2fee21f48ded1e598f64a2a8","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/font-awesome/fonts/fontawesome-webfont.svg","hash":"c0522272bbaef2acb3d341912754d6ea2d0ecfc0","modified":1563743114000},{"_id":"themes/Wikitten/source/uploads/tianya.png","hash":"2d392e6eb508d31f7328d0c21492f3970f0ee213","modified":1563651881000},{"_id":"source/.DS_Store","hash":"a9cabec0ae931e7048f423a95c704c714780b5e1","modified":1588882647870},{"_id":"source/.markeditor/file_manager_status.config","hash":"c750fd1fe3f1407005c5d2b5d7b7f9bca54970c3","modified":1564688931000},{"_id":"source/.markeditor/file_manager_width.config","hash":"2c427b959b7a35c68831d16645d2afde8cb67ddd","modified":1564594162000},{"_id":"source/_drafts/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"source/_drafts/典故-md.md","hash":"2b33e03ac046894df112a9d45da13a690f621ed2","modified":1563856606000},{"_id":"source/_posts/.DS_Store","hash":"6f8ff578f75eaeb17eeb676dc7e41d9fe37fa6af","modified":1588882832887},{"_id":"source/about/index.md","hash":"282d4c506b467c746d1154f25338d16be6abbb62","modified":1563816667000},{"_id":"source/categories/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"source/about/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"source/categories/index.md","hash":"53bbe27e36d98a4a55fdce6a7fd9cac3e6671439","modified":1563766746000},{"_id":"source/tags/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"source/tags/index.md","hash":"163f9d816dac6cc50a48347bf7f93f29fa503736","modified":1563766671000},{"_id":"source/_posts/.markeditor/file_manager_status.config","hash":"26ccad3385b35b5dd4b33232ba36d0da4f190c00","modified":1588848849111},{"_id":"source/_posts/.markeditor/file_manager_width.config","hash":"2c427b959b7a35c68831d16645d2afde8cb67ddd","modified":1588848807781},{"_id":"source/_posts/IT/.DS_Store","hash":"f31c5797d3b40ff7f36965331428bf17084dc289","modified":1565813210000},{"_id":"source/_posts/常用文件/Hexo日常管理.md","hash":"48184f3ce76a6679a525e3349ec30ae4608ac5ec","modified":1564718092000},{"_id":"source/_posts/常用文件/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"source/_posts/摘录/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"source/_posts/摘录/《驴得水》影评.md","hash":"dcd7ea1a8643fe06ff14022c5d5577ccf810a33c","modified":1565905736000},{"_id":"source/_posts/摘录/典故.md","hash":"bd9982cfe6eea388c4f99b79d479939974cf0d1e","modified":1564545095000},{"_id":"source/_posts/摘录/爱乐之城——影评.md","hash":"dd74130851f4565e9a4ae2d8b1218e4b74fb9672","modified":1565764310000},{"_id":"source/_posts/文档/RZF-Organisation.md","hash":"37c4c97661f0ac8203e1b0c4f7f1df70dfe2c4a1","modified":1566463161000},{"_id":"source/_posts/读书笔记/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"source/_posts/读书笔记/《少有人走的路》笔记.md","hash":"5a6ce1a62ddca691e7aa49658a6a1ea8cd8215e3","modified":1564632258000},{"_id":"source/_posts/读书笔记/斯多葛主义手册.md","hash":"a56ce651794cbedea74361202e9f1868a0b10f61","modified":1565764288000},{"_id":"source/_posts/读书笔记/财富自由之路-李笑来.md","hash":"0f1bb3b57fb1b23e38984f0343c31431c0592ab8","modified":1565764569000},{"_id":"source/_posts/随笔/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"source/_posts/随笔/hello-world.md","hash":"5c562e2b6c5184f490c0ea1b6d820fe50579406b","modified":1564545095000},{"_id":"source/_posts/IT/Code/Javascript技术摘要.md","hash":"e949fc3ccd48cfba5e3064c7b39ed5f523553d86","modified":1589169243957},{"_id":"source/_posts/IT/Mac/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1588882793782},{"_id":"source/_posts/IT/Mac/Mac使用标签.md","hash":"c28b4fa4701f08fcfe5942ec8f151d7cfd2f8dad","modified":1564545094000},{"_id":"source/_posts/IT/Tools/Ubuntu重设root用户密码.md","hash":"b7323a3ac81d57b3c489d97c7da56a991883089f","modified":1565764467000},{"_id":"source/_posts/IT/Tools/坚果云有关.md","hash":"1a966cbc37318b34551bf17be4bccfc16761fa7f","modified":1565820630000},{"_id":"source/_posts/IT/Tools/Gitbook攻略.md","hash":"c78d9b403444239f353b6a4a6ce0f97e6ad0fcd7","modified":1565862378000},{"_id":"source/_posts/IT/Mac/Mac备忘录.md","hash":"5d7fb8ad7a1a59b6dd65df8a6eae0d8cb7b18fd5","modified":1588836517649},{"_id":"source/_posts/IT/Tools/使用Github维护知识库.md","hash":"27bf57527ac1d9061b1733540ac9f0b383a8a35f","modified":1565862053000},{"_id":"source/_posts/IT/Tools/有用的shell命令.md","hash":"1e3bffca5cac009d0f91cbd6bb96206076e50cae","modified":1565788356000},{"_id":"source/_posts/IT/Tools/编辑器工具使用技巧汇总.md","hash":"8103dd1e47e61523c797cf86e82bb26517f54b12","modified":1567357907000},{"_id":"source/_posts/IT/Tools/配置服务器端MySQL.md","hash":"d44b85906db5816259dc4b2128dcac8a0766b447","modified":1565788245000},{"_id":"source/_posts/IT/Web/Next主题添加内容折叠.md","hash":"0c381c884e0c77af522fdbf958536f2c217ceb1b","modified":1564545094000},{"_id":"source/_posts/IT/Web/同步Hexo文章与Mac上原笔记的分类和标签.md","hash":"3af3acc8ed642c8c74ad89b87ee0e98bf0db9865","modified":1564837106000},{"_id":"source/_posts/IT/Web/如何系统化管理Hexo博客.md","hash":"06aeeeb674ebf91cc550732fd7c5f5f30413e791","modified":1565905917000},{"_id":"source/_posts/IT/Web/搭建Hexo博客的流水账.md","hash":"2bc4bf601a7c03ca17acf56806bd8aaf1b2e6f5c","modified":1565865865000},{"_id":"source/_posts/IT/skill/用Typescript编写JS函数库.md","hash":"b189a07241dcd4bc6388fb40f92d1ec9b9835669","modified":1566646240000},{"_id":"source/_posts/IT/skill/还在用七牛.md","hash":"ee7b98bee940ef09c06ffcdc967b41af8d0752b1","modified":1565852093000},{"_id":"source/_posts/IT/skill/MathJax用于易学领域.md","hash":"a199fc359afe19f5ec89c2069defd27990b742f9","modified":1588930688489},{"_id":"source/_posts/摘录/娱乐/搞笑段子.md","hash":"a13e48400bba8b3427b7ac080073ec19fa20bc93","modified":1564545095000},{"_id":"source/_posts/摘录/片段/佛偈集合.md","hash":"fcc94a0d1fbabbd9ff5cc9a607bc07dec6b9fb8b","modified":1565905574000},{"_id":"source/_posts/摘录/片段/名人语录.md","hash":"3c9d34d4393d3276a3ab8ad82ccabc6b3155f39f","modified":1564545095000},{"_id":"source/_posts/摘录/片段/简短书摘.md","hash":"a2586fd508f831d1631fbc0925c39288ffd23692","modified":1564545095000},{"_id":"source/_posts/摘录/片段/缠中说禅.md","hash":"57bc98bc30aff6804eebbe9b5300af1f673973a3","modified":1564545095000},{"_id":"source/_posts/摘录/片段/零散句子.md","hash":"c6100208f88c30d1910c03d472cc96e53320c996","modified":1564942528000}],"Category":[{"name":"常用文件","_id":"cka1y594t00064huuvvjmyzwy"},{"name":"摘录","_id":"cka1y5953000b4huuyyfu5z4d"},{"name":"文档","_id":"cka1y5959000j4huug5k1h4j7"},{"name":"随笔","_id":"cka1y595b000o4huul85o0vh5"},{"name":"读书笔记","_id":"cka1y596g000v4huufrvfyl7e"},{"name":"IT","_id":"cka1y597u00184huu67j8phqt"},{"name":"Mac","parent":"cka1y597u00184huu67j8phqt","_id":"cka1y5987001q4huu2h0pcxc7"},{"name":"Code","parent":"cka1y597u00184huu67j8phqt","_id":"cka1y598b001w4huu0hxl1aoy"},{"name":"Tools","parent":"cka1y597u00184huu67j8phqt","_id":"cka1y598e00234huu3y8d3uke"},{"name":"Web","parent":"cka1y597u00184huu67j8phqt","_id":"cka1y598z003b4huuyf8flxmz"},{"name":"skill","parent":"cka1y597u00184huu67j8phqt","_id":"cka1y5997003q4huuzp1l2yal"},{"name":"片段","parent":"cka1y5953000b4huuyyfu5z4d","_id":"cka1y599a003w4huuplb2sm25"},{"name":"娱乐","parent":"cka1y5953000b4huuyyfu5z4d","_id":"cka1y599b00404huu2nbcrdvc"}],"Data":[],"Page":[{"title":"关于本站","date":"2019-07-20T20:03:56.000Z","layout":"page","_content":"自从过上了极简生活,家务变得很少。对于一个巨蟹座的中年大叔,整理笔记成了我主要的挥洒精力的地方。我是笔记App的重度用户,用了两年的印象笔记,然后又五年的为知笔记,乃至尝试了新生人类惊为天人的熊掌记、Notion、等等。仍然感觉各种不爽。自从有了Hexo,终于可以定下心来,专心做笔记了。\n\n\n\n作为不是处女座的强迫症患者,我把自己的这个笔记库部署到了两个不同的站点。内容基本一样,组织方式十分不同。\n\n[完整个人维基](https://maiernte.github.io/wiki)\n\n[心情版的博客](https://maiernte.github.io)","source":"about/index.md","raw":"---\ntitle: 关于本站\ndate: 2019-07-20 22:03:56\nlayout: \"page\"\n---\n自从过上了极简生活,家务变得很少。对于一个巨蟹座的中年大叔,整理笔记成了我主要的挥洒精力的地方。我是笔记App的重度用户,用了两年的印象笔记,然后又五年的为知笔记,乃至尝试了新生人类惊为天人的熊掌记、Notion、等等。仍然感觉各种不爽。自从有了Hexo,终于可以定下心来,专心做笔记了。\n\n\n\n作为不是处女座的强迫症患者,我把自己的这个笔记库部署到了两个不同的站点。内容基本一样,组织方式十分不同。\n\n[完整个人维基](https://maiernte.github.io/wiki)\n\n[心情版的博客](https://maiernte.github.io)","updated":"2019-07-22T17:31:07.000Z","path":"about/index.html","_id":"cka1y592h00014huu243mez1a","comments":1,"content":"
自从过上了极简生活,家务变得很少。对于一个巨蟹座的中年大叔,整理笔记成了我主要的挥洒精力的地方。我是笔记App的重度用户,用了两年的印象笔记,然后又五年的为知笔记,乃至尝试了新生人类惊为天人的熊掌记、Notion、等等。仍然感觉各种不爽。自从有了Hexo,终于可以定下心来,专心做笔记了。
\n作为不是处女座的强迫症患者,我把自己的这个笔记库部署到了两个不同的站点。内容基本一样,组织方式十分不同。
\n完整个人维基
\n心情版的博客
\n","site":{"data":{}},"excerpt":"","more":"自从过上了极简生活,家务变得很少。对于一个巨蟹座的中年大叔,整理笔记成了我主要的挥洒精力的地方。我是笔记App的重度用户,用了两年的印象笔记,然后又五年的为知笔记,乃至尝试了新生人类惊为天人的熊掌记、Notion、等等。仍然感觉各种不爽。自从有了Hexo,终于可以定下心来,专心做笔记了。
\n作为不是处女座的强迫症患者,我把自己的这个笔记库部署到了两个不同的站点。内容基本一样,组织方式十分不同。
\n完整个人维基
\n心情版的博客
\n"},{"title":"分类","date":"2019-07-20T19:59:23.000Z","type":"categories","layout":"categories","comments":0,"_content":"","source":"categories/index.md","raw":"---\ntitle: 分类\ndate: 2019-07-20 21:59:23\ntype: \"categories\"\nlayout: \"categories\"\ncomments: false\n---\n","updated":"2019-07-22T03:39:06.000Z","path":"categories/index.html","_id":"cka1y592j00024huuarbix88c","content":"","site":{"data":{}},"excerpt":"","more":""},{"title":"标签","date":"2019-07-20T19:49:33.000Z","type":"tags","layout":"tags","comments":0,"_content":"","source":"tags/index.md","raw":"---\ntitle: 标签\ndate: 2019-07-20 21:49:33\ntype: \"tags\"\nlayout: \"tags\"\ncomments: false\n---\n","updated":"2019-07-22T03:37:51.000Z","path":"tags/index.html","_id":"cka1y593q00034huu0cpu2qd8","content":"","site":{"data":{}},"excerpt":"","more":""}],"Post":[{"title":"典故.md","date":"2019-07-23T04:36:46.000Z","_content":"###### 豫让刺赵简子\n\n晋毕阳之孙豫让,始事范、中行氏而不说,去而就知伯,知伯宠之。及三晋分知氏,赵襄子最恐知伯,而将其头以为饮器。豫让遁逃山中曰:“磋乎!士为知己者死,女为悦己者容。吾其报知氏之仇矣。”\n\n乃变姓名,为刑人,入宫涂厕,欲以刺襄子。 襄子如厕,心动,执问涂者,则豫让也。 刃其曰:“欲为知伯报仇!”左右欲杀之。 赵襄子曰:“彼义士也,吾谨避之耳。且知伯已死,无后,而其臣至为报仇,此天下之贤人也。”卒释之。 豫让又漆身为厉,灭须去眉,自刑以变其容,为乞人而往乞,其妻不识,曰:“状貌不似吾夫,其音何类吾夫之甚也。”又吞炭为哑,变其音。 其友谓之曰:“子之道甚难而无功,谓子有志,则然矣,谓子知,则否。以子之才,而善事襄子,襄子必近幸子;子之得近而行所欲,此甚易而功必成。”豫让乃笑而应之曰:“是为先知报后知,为故君贼新君,大乱君臣之义者无此矣。凡吾所谓为此者,以明君臣之义,非从易也。且夫委质而事人,而求弑之,是怀二心以事君也。吾所为难,亦将以愧天下后世人臣怀二心者。”\n\n居顷之,襄子当出,豫让伏所当过桥下。 襄子至桥而马惊。 襄子曰:“此必豫让也。”使人问之,果豫让。 于是赵襄子面数豫让曰:“子不尝事范中行氏乎?知伯灭范中行氏,而子不为报仇,反委质事知伯。知伯已死,子独何为报仇之深也?”豫让曰:“臣事范中行氏,范中行氏以众人遇臣,臣故众人报之;知伯以国士遇臣,臣故国士报之。”襄子乃喟然叹泣曰:“嗟乎,豫子!豫子之为知伯,名既成矣,寡人舍子,亦以足矣。子自为计,寡人不舍子。”使兵环之。 豫让曰:“臣闻明主不掩人之义,忠臣不爱死以成名。君前已宽舍臣,天下莫不称君之贤。今日之事,臣故伏诛,然愿请君之衣而击之,虽死不恨。非所望也,敢布腹心。”于是襄子义之,乃使使者持衣与豫让。 豫让拔剑三跃,呼天击之曰:“而可以报知伯矣。”遂伏剑而死。 死之日,赵国之士闻之,皆为涕泣。\n\n—— 《战国策》","source":"_drafts/典故-md.md","raw":"title: 典故.md\ndate: 2019-07-23 06:36:46\ntags:\n---\n###### 豫让刺赵简子\n\n晋毕阳之孙豫让,始事范、中行氏而不说,去而就知伯,知伯宠之。及三晋分知氏,赵襄子最恐知伯,而将其头以为饮器。豫让遁逃山中曰:“磋乎!士为知己者死,女为悦己者容。吾其报知氏之仇矣。”\n\n乃变姓名,为刑人,入宫涂厕,欲以刺襄子。 襄子如厕,心动,执问涂者,则豫让也。 刃其曰:“欲为知伯报仇!”左右欲杀之。 赵襄子曰:“彼义士也,吾谨避之耳。且知伯已死,无后,而其臣至为报仇,此天下之贤人也。”卒释之。 豫让又漆身为厉,灭须去眉,自刑以变其容,为乞人而往乞,其妻不识,曰:“状貌不似吾夫,其音何类吾夫之甚也。”又吞炭为哑,变其音。 其友谓之曰:“子之道甚难而无功,谓子有志,则然矣,谓子知,则否。以子之才,而善事襄子,襄子必近幸子;子之得近而行所欲,此甚易而功必成。”豫让乃笑而应之曰:“是为先知报后知,为故君贼新君,大乱君臣之义者无此矣。凡吾所谓为此者,以明君臣之义,非从易也。且夫委质而事人,而求弑之,是怀二心以事君也。吾所为难,亦将以愧天下后世人臣怀二心者。”\n\n居顷之,襄子当出,豫让伏所当过桥下。 襄子至桥而马惊。 襄子曰:“此必豫让也。”使人问之,果豫让。 于是赵襄子面数豫让曰:“子不尝事范中行氏乎?知伯灭范中行氏,而子不为报仇,反委质事知伯。知伯已死,子独何为报仇之深也?”豫让曰:“臣事范中行氏,范中行氏以众人遇臣,臣故众人报之;知伯以国士遇臣,臣故国士报之。”襄子乃喟然叹泣曰:“嗟乎,豫子!豫子之为知伯,名既成矣,寡人舍子,亦以足矣。子自为计,寡人不舍子。”使兵环之。 豫让曰:“臣闻明主不掩人之义,忠臣不爱死以成名。君前已宽舍臣,天下莫不称君之贤。今日之事,臣故伏诛,然愿请君之衣而击之,虽死不恨。非所望也,敢布腹心。”于是襄子义之,乃使使者持衣与豫让。 豫让拔剑三跃,呼天击之曰:“而可以报知伯矣。”遂伏剑而死。 死之日,赵国之士闻之,皆为涕泣。\n\n—— 《战国策》","slug":"典故-md","published":0,"updated":"2019-07-23T04:36:46.000Z","_id":"cka1y592b00004huurtszb8lj","comments":1,"layout":"post","photos":[],"link":"","content":"豫让刺赵简子 \n晋毕阳之孙豫让,始事范、中行氏而不说,去而就知伯,知伯宠之。及三晋分知氏,赵襄子最恐知伯,而将其头以为饮器。豫让遁逃山中曰:“磋乎!士为知己者死,女为悦己者容。吾其报知氏之仇矣。”
\n乃变姓名,为刑人,入宫涂厕,欲以刺襄子。 襄子如厕,心动,执问涂者,则豫让也。 刃其曰:“欲为知伯报仇!”左右欲杀之。 赵襄子曰:“彼义士也,吾谨避之耳。且知伯已死,无后,而其臣至为报仇,此天下之贤人也。”卒释之。 豫让又漆身为厉,灭须去眉,自刑以变其容,为乞人而往乞,其妻不识,曰:“状貌不似吾夫,其音何类吾夫之甚也。”又吞炭为哑,变其音。 其友谓之曰:“子之道甚难而无功,谓子有志,则然矣,谓子知,则否。以子之才,而善事襄子,襄子必近幸子;子之得近而行所欲,此甚易而功必成。”豫让乃笑而应之曰:“是为先知报后知,为故君贼新君,大乱君臣之义者无此矣。凡吾所谓为此者,以明君臣之义,非从易也。且夫委质而事人,而求弑之,是怀二心以事君也。吾所为难,亦将以愧天下后世人臣怀二心者。”
\n居顷之,襄子当出,豫让伏所当过桥下。 襄子至桥而马惊。 襄子曰:“此必豫让也。”使人问之,果豫让。 于是赵襄子面数豫让曰:“子不尝事范中行氏乎?知伯灭范中行氏,而子不为报仇,反委质事知伯。知伯已死,子独何为报仇之深也?”豫让曰:“臣事范中行氏,范中行氏以众人遇臣,臣故众人报之;知伯以国士遇臣,臣故国士报之。”襄子乃喟然叹泣曰:“嗟乎,豫子!豫子之为知伯,名既成矣,寡人舍子,亦以足矣。子自为计,寡人不舍子。”使兵环之。 豫让曰:“臣闻明主不掩人之义,忠臣不爱死以成名。君前已宽舍臣,天下莫不称君之贤。今日之事,臣故伏诛,然愿请君之衣而击之,虽死不恨。非所望也,敢布腹心。”于是襄子义之,乃使使者持衣与豫让。 豫让拔剑三跃,呼天击之曰:“而可以报知伯矣。”遂伏剑而死。 死之日,赵国之士闻之,皆为涕泣。
\n—— 《战国策》
\n","site":{"data":{}},"excerpt":"","more":"豫让刺赵简子 \n晋毕阳之孙豫让,始事范、中行氏而不说,去而就知伯,知伯宠之。及三晋分知氏,赵襄子最恐知伯,而将其头以为饮器。豫让遁逃山中曰:“磋乎!士为知己者死,女为悦己者容。吾其报知氏之仇矣。”
\n乃变姓名,为刑人,入宫涂厕,欲以刺襄子。 襄子如厕,心动,执问涂者,则豫让也。 刃其曰:“欲为知伯报仇!”左右欲杀之。 赵襄子曰:“彼义士也,吾谨避之耳。且知伯已死,无后,而其臣至为报仇,此天下之贤人也。”卒释之。 豫让又漆身为厉,灭须去眉,自刑以变其容,为乞人而往乞,其妻不识,曰:“状貌不似吾夫,其音何类吾夫之甚也。”又吞炭为哑,变其音。 其友谓之曰:“子之道甚难而无功,谓子有志,则然矣,谓子知,则否。以子之才,而善事襄子,襄子必近幸子;子之得近而行所欲,此甚易而功必成。”豫让乃笑而应之曰:“是为先知报后知,为故君贼新君,大乱君臣之义者无此矣。凡吾所谓为此者,以明君臣之义,非从易也。且夫委质而事人,而求弑之,是怀二心以事君也。吾所为难,亦将以愧天下后世人臣怀二心者。”
\n居顷之,襄子当出,豫让伏所当过桥下。 襄子至桥而马惊。 襄子曰:“此必豫让也。”使人问之,果豫让。 于是赵襄子面数豫让曰:“子不尝事范中行氏乎?知伯灭范中行氏,而子不为报仇,反委质事知伯。知伯已死,子独何为报仇之深也?”豫让曰:“臣事范中行氏,范中行氏以众人遇臣,臣故众人报之;知伯以国士遇臣,臣故国士报之。”襄子乃喟然叹泣曰:“嗟乎,豫子!豫子之为知伯,名既成矣,寡人舍子,亦以足矣。子自为计,寡人不舍子。”使兵环之。 豫让曰:“臣闻明主不掩人之义,忠臣不爱死以成名。君前已宽舍臣,天下莫不称君之贤。今日之事,臣故伏诛,然愿请君之衣而击之,虽死不恨。非所望也,敢布腹心。”于是襄子义之,乃使使者持衣与豫让。 豫让拔剑三跃,呼天击之曰:“而可以报知伯矣。”遂伏剑而死。 死之日,赵国之士闻之,皆为涕泣。
\n—— 《战国策》
\n"},{"title":"Hexo日常管理","date":"2019-07-30T15:27:28.000Z","urlname":"hexo-blog-alltag-verwalten","toc":true,"notshow":true,"_content":"\n# 复制MD文件\n\n\n#### 查找最新文件\n\n```sh\nls -t /Users/mai/Projects/hexo/source/_posts/*.md | head -1 | xargs ls -l | awk '{print $6 \"-\" $7 \"-\" $8 }'\n\n# 最旧的文件就应该是\nls -t /Users/mai/Projects/hexo/source/_posts/*.md | tail -1 | xargs ls -l | awk '{print $6 \"-\" $7 \"-\" $8 }'\n```\n\n\n\n# 其它\n\nHexo 代码折叠\n\n```\n{% fold 点击显/隐内容 %}\n需要隐藏的内容。。。\n{% endfold %}\n```\n\n\n\n# 参考文件\n\n[有用的shell命令](helpfull-shell-command.html)\n\n# 会导致编译奔溃的错误\n\n大括号和井号连在一起\n\n```sh\n{#、 #}、{#} 这三种情况都会导致系统奔溃\n{} 和 # 之间如果有别的字符就不会。如 { # }\n或者放在代码段内也不会。行内代码不能避免这种情形。\n```\n\n","source":"_posts/常用文件/Hexo日常管理.md","raw":"---\ntitle: Hexo日常管理\ndate: 2019-07-30 17:27:28\nurlname: hexo-blog-alltag-verwalten\ntoc: true\ntags: [Hexo]\ncategories: [常用文件]\nnotshow: true\n\n---\n\n# 复制MD文件\n\n\n#### 查找最新文件\n\n```sh\nls -t /Users/mai/Projects/hexo/source/_posts/*.md | head -1 | xargs ls -l | awk '{print $6 \"-\" $7 \"-\" $8 }'\n\n# 最旧的文件就应该是\nls -t /Users/mai/Projects/hexo/source/_posts/*.md | tail -1 | xargs ls -l | awk '{print $6 \"-\" $7 \"-\" $8 }'\n```\n\n\n\n# 其它\n\nHexo 代码折叠\n\n```\n{% fold 点击显/隐内容 %}\n需要隐藏的内容。。。\n{% endfold %}\n```\n\n\n\n# 参考文件\n\n[有用的shell命令](helpfull-shell-command.html)\n\n# 会导致编译奔溃的错误\n\n大括号和井号连在一起\n\n```sh\n{#、 #}、{#} 这三种情况都会导致系统奔溃\n{} 和 # 之间如果有别的字符就不会。如 { # }\n或者放在代码段内也不会。行内代码不能避免这种情形。\n```\n\n","slug":"常用文件/Hexo日常管理","published":1,"updated":"2019-08-02T03:54:52.000Z","_id":"cka1y594p00044huusb0xswfi","comments":1,"layout":"post","photos":[],"link":"","content":"复制MD文件 \n\n查找最新文件 \n1 2 3 4 ls -t /Users/mai/Projects/hexo/source /_posts/*.md | head -1 | xargs ls -l | awk '{print $6 \"-\" $7 \"-\" $8 }' ls -t /Users/mai/Projects/hexo/source /_posts/*.md | tail -1 | xargs ls -l | awk '{print $6 \"-\" $7 \"-\" $8 }'
\n其它 \nHexo 代码折叠
\n1 2 3 {% fold 点击显/隐内容 %} 需要隐藏的内容。。。 {% endfold %}
\n参考文件 \n有用的shell命令
\n会导致编译奔溃的错误 \n大括号和井号连在一起
\n1 2 3 { {} 和 或者放在代码段内也不会。行内代码不能避免这种情形。
\n","site":{"data":{}},"excerpt":"","more":"复制MD文件 \n\n查找最新文件 \n\n其它 \nHexo 代码折叠
\n\n参考文件 \n有用的shell命令
\n会导致编译奔溃的错误 \n大括号和井号连在一起
\n\n"},{"title":"《驴得水》——影评","date":"2019-07-28T13:17:19.000Z","urlname":"lvdeshui-film","_content":"\n![](https://github.com/maiernte/img/raw/master/collection/%E9%A9%B4%E5%BE%97%E6%B0%B4%E5%89%A7%E7%85%A7.jpg)\n\n\n\n> 追求自由的人,疯了,死了。\n不愿低头的人,成了听话的牲口。\n宽容大度的人,成了唯利是图的小人。\n淳朴憨厚的人,成了狡诈的恶棍。\n正面积极的人,用谎言掩盖真相。\n\n你觉得这是电影吗?其实,这是现实。我们先来看一下电影故事讲的是什么:\n\n一群怀揣伟大梦想的人,却敌不过山区缺水的现实,养了一头驴拉水。上头却不给养驴费,于是就把驴谎报成老师。上头来检查,不能因为一头驴毁了梦想啊。于是为了捍卫梦想的道路,却失去了梦想的意义。《驴得水》的海报上说,“讲个笑话,你可别哭啊”。 就像另一句笑话讲的那样, “小的时候我想拯救世界,长大后却发现世界都拯救不了我”。\n\n好笑,但却想哭。\n\n谁TM还没点梦想啊。但有时梦想很脆弱,甚至敌不过一碗炸酱面。你想让自己闪闪发光,但总得先养活自己,饿着肚子的人怎么去谈梦想?这也是很多刚毕业不久的人,所要面对的最为矛盾的情况。“我有很多想法,有很多想做的事。但我现在没钱、没人脉、没背景,甚至还没长相。想要出去闯一片天地, 但还要为一日三餐和落脚地打拼。梦想是高潮,现实却是性冷淡。还能怎么办呢?先养活自己再说吧”。于是,你找了一份莫名其妙的工作,你一日三餐是不愁了,你做着日复一日重复的工作,但是你不敢停,你越来越迷茫,越来越看不清生活的方向。\n\n你害怕那种怀揣梦想,但却又碌碌无为的日子,但你却不知道从哪里开始改变。于是你只能在焦虑中慢慢对现实妥协,然后你变成了自己曾经最讨厌的那种人。冷漠、没有激情、不思进取、浑浑噩噩,就像影片中的人物一样。曾经那些他们坚信的东西在面对现实时,都变得不堪一击。铁男说,“我没有办法啊,你知道子弹从脸上呼啸而过的感觉吗”?像不像我们经常说的,“我没办法啊,现实就是这样”。\n\n是啊,现实就是这样!作为芸芸众生,普通屁民,谁TM还没被现实强奸过啊。但想要活得更好,重要的不是治愈,而是带着病痛活下去。而且我们要清醒的认识到一个事实,有时我们之所以像傻逼一样努力,不是为了改变世界,而是为了不让世界改变我们。或许,这才是我们对这个世界最大的善意。\n","source":"_posts/摘录/《驴得水》影评.md","raw":"---\ntitle: 《驴得水》——影评\ndate: 2019-07-28 15:17:19\nurlname: lvdeshui-film\ntags: [影视]\ncategories: 摘录\n\n---\n\n![](https://github.com/maiernte/img/raw/master/collection/%E9%A9%B4%E5%BE%97%E6%B0%B4%E5%89%A7%E7%85%A7.jpg)\n\n\n\n> 追求自由的人,疯了,死了。\n不愿低头的人,成了听话的牲口。\n宽容大度的人,成了唯利是图的小人。\n淳朴憨厚的人,成了狡诈的恶棍。\n正面积极的人,用谎言掩盖真相。\n\n你觉得这是电影吗?其实,这是现实。我们先来看一下电影故事讲的是什么:\n\n一群怀揣伟大梦想的人,却敌不过山区缺水的现实,养了一头驴拉水。上头却不给养驴费,于是就把驴谎报成老师。上头来检查,不能因为一头驴毁了梦想啊。于是为了捍卫梦想的道路,却失去了梦想的意义。《驴得水》的海报上说,“讲个笑话,你可别哭啊”。 就像另一句笑话讲的那样, “小的时候我想拯救世界,长大后却发现世界都拯救不了我”。\n\n好笑,但却想哭。\n\n谁TM还没点梦想啊。但有时梦想很脆弱,甚至敌不过一碗炸酱面。你想让自己闪闪发光,但总得先养活自己,饿着肚子的人怎么去谈梦想?这也是很多刚毕业不久的人,所要面对的最为矛盾的情况。“我有很多想法,有很多想做的事。但我现在没钱、没人脉、没背景,甚至还没长相。想要出去闯一片天地, 但还要为一日三餐和落脚地打拼。梦想是高潮,现实却是性冷淡。还能怎么办呢?先养活自己再说吧”。于是,你找了一份莫名其妙的工作,你一日三餐是不愁了,你做着日复一日重复的工作,但是你不敢停,你越来越迷茫,越来越看不清生活的方向。\n\n你害怕那种怀揣梦想,但却又碌碌无为的日子,但你却不知道从哪里开始改变。于是你只能在焦虑中慢慢对现实妥协,然后你变成了自己曾经最讨厌的那种人。冷漠、没有激情、不思进取、浑浑噩噩,就像影片中的人物一样。曾经那些他们坚信的东西在面对现实时,都变得不堪一击。铁男说,“我没有办法啊,你知道子弹从脸上呼啸而过的感觉吗”?像不像我们经常说的,“我没办法啊,现实就是这样”。\n\n是啊,现实就是这样!作为芸芸众生,普通屁民,谁TM还没被现实强奸过啊。但想要活得更好,重要的不是治愈,而是带着病痛活下去。而且我们要清醒的认识到一个事实,有时我们之所以像傻逼一样努力,不是为了改变世界,而是为了不让世界改变我们。或许,这才是我们对这个世界最大的善意。\n","slug":"摘录/《驴得水》影评","published":1,"updated":"2019-08-15T21:48:56.000Z","_id":"cka1y594r00054huunm0reb46","comments":1,"layout":"post","photos":[],"link":"","content":"\n追求自由的人,疯了,死了。 \n不愿低头的人,成了听话的牲口。 \n宽容大度的人,成了唯利是图的小人。 \n淳朴憨厚的人,成了狡诈的恶棍。 \n正面积极的人,用谎言掩盖真相。
\n \n你觉得这是电影吗?其实,这是现实。我们先来看一下电影故事讲的是什么:
\n一群怀揣伟大梦想的人,却敌不过山区缺水的现实,养了一头驴拉水。上头却不给养驴费,于是就把驴谎报成老师。上头来检查,不能因为一头驴毁了梦想啊。于是为了捍卫梦想的道路,却失去了梦想的意义。《驴得水》的海报上说,“讲个笑话,你可别哭啊”。 就像另一句笑话讲的那样, “小的时候我想拯救世界,长大后却发现世界都拯救不了我”。
\n好笑,但却想哭。
\n谁TM还没点梦想啊。但有时梦想很脆弱,甚至敌不过一碗炸酱面。你想让自己闪闪发光,但总得先养活自己,饿着肚子的人怎么去谈梦想?这也是很多刚毕业不久的人,所要面对的最为矛盾的情况。“我有很多想法,有很多想做的事。但我现在没钱、没人脉、没背景,甚至还没长相。想要出去闯一片天地, 但还要为一日三餐和落脚地打拼。梦想是高潮,现实却是性冷淡。还能怎么办呢?先养活自己再说吧”。于是,你找了一份莫名其妙的工作,你一日三餐是不愁了,你做着日复一日重复的工作,但是你不敢停,你越来越迷茫,越来越看不清生活的方向。
\n你害怕那种怀揣梦想,但却又碌碌无为的日子,但你却不知道从哪里开始改变。于是你只能在焦虑中慢慢对现实妥协,然后你变成了自己曾经最讨厌的那种人。冷漠、没有激情、不思进取、浑浑噩噩,就像影片中的人物一样。曾经那些他们坚信的东西在面对现实时,都变得不堪一击。铁男说,“我没有办法啊,你知道子弹从脸上呼啸而过的感觉吗”?像不像我们经常说的,“我没办法啊,现实就是这样”。
\n是啊,现实就是这样!作为芸芸众生,普通屁民,谁TM还没被现实强奸过啊。但想要活得更好,重要的不是治愈,而是带着病痛活下去。而且我们要清醒的认识到一个事实,有时我们之所以像傻逼一样努力,不是为了改变世界,而是为了不让世界改变我们。或许,这才是我们对这个世界最大的善意。
","site":{"data":{}},"excerpt":"
","more":"\n追求自由的人,疯了,死了。 \n不愿低头的人,成了听话的牲口。 \n宽容大度的人,成了唯利是图的小人。 \n淳朴憨厚的人,成了狡诈的恶棍。 \n正面积极的人,用谎言掩盖真相。
\n \n你觉得这是电影吗?其实,这是现实。我们先来看一下电影故事讲的是什么:
\n一群怀揣伟大梦想的人,却敌不过山区缺水的现实,养了一头驴拉水。上头却不给养驴费,于是就把驴谎报成老师。上头来检查,不能因为一头驴毁了梦想啊。于是为了捍卫梦想的道路,却失去了梦想的意义。《驴得水》的海报上说,“讲个笑话,你可别哭啊”。 就像另一句笑话讲的那样, “小的时候我想拯救世界,长大后却发现世界都拯救不了我”。
\n好笑,但却想哭。
\n谁TM还没点梦想啊。但有时梦想很脆弱,甚至敌不过一碗炸酱面。你想让自己闪闪发光,但总得先养活自己,饿着肚子的人怎么去谈梦想?这也是很多刚毕业不久的人,所要面对的最为矛盾的情况。“我有很多想法,有很多想做的事。但我现在没钱、没人脉、没背景,甚至还没长相。想要出去闯一片天地, 但还要为一日三餐和落脚地打拼。梦想是高潮,现实却是性冷淡。还能怎么办呢?先养活自己再说吧”。于是,你找了一份莫名其妙的工作,你一日三餐是不愁了,你做着日复一日重复的工作,但是你不敢停,你越来越迷茫,越来越看不清生活的方向。
\n你害怕那种怀揣梦想,但却又碌碌无为的日子,但你却不知道从哪里开始改变。于是你只能在焦虑中慢慢对现实妥协,然后你变成了自己曾经最讨厌的那种人。冷漠、没有激情、不思进取、浑浑噩噩,就像影片中的人物一样。曾经那些他们坚信的东西在面对现实时,都变得不堪一击。铁男说,“我没有办法啊,你知道子弹从脸上呼啸而过的感觉吗”?像不像我们经常说的,“我没办法啊,现实就是这样”。
\n是啊,现实就是这样!作为芸芸众生,普通屁民,谁TM还没被现实强奸过啊。但想要活得更好,重要的不是治愈,而是带着病痛活下去。而且我们要清醒的认识到一个事实,有时我们之所以像傻逼一样努力,不是为了改变世界,而是为了不让世界改变我们。或许,这才是我们对这个世界最大的善意。
"},{"title":"典故","date":"2019-07-29T06:45:50.000Z","urlname":"old-stories-collection","toc":true,"notshow":true,"_content":"\n###### 豫让刺赵简子\n\n晋毕阳之孙豫让,始事范、中行氏而不说,去而就知伯,知伯宠之。及三晋分知氏,赵襄子最恐知伯,而将其头以为饮器。豫让遁逃山中曰:“磋乎!士为知己者死,女为悦己者容。吾其报知氏之仇矣。”\n\n\n\n乃变姓名,为刑人,入宫涂厕,欲以刺襄子。 襄子如厕,心动,执问涂者,则豫让也。 刃其曰:“欲为知伯报仇!”左右欲杀之。 赵襄子曰:“彼义士也,吾谨避之耳。且知伯已死,无后,而其臣至为报仇,此天下之贤人也。”卒释之。 豫让又漆身为厉,灭须去眉,自刑以变其容,为乞人而往乞,其妻不识,曰:“状貌不似吾夫,其音何类吾夫之甚也。”又吞炭为哑,变其音。 其友谓之曰:“子之道甚难而无功,谓子有志,则然矣,谓子知,则否。以子之才,而善事襄子,襄子必近幸子;子之得近而行所欲,此甚易而功必成。”豫让乃笑而应之曰:“是为先知报后知,为故君贼新君,大乱君臣之义者无此矣。凡吾所谓为此者,以明君臣之义,非从易也。且夫委质而事人,而求弑之,是怀二心以事君也。吾所为难,亦将以愧天下后世人臣怀二心者。”\n\n居顷之,襄子当出,豫让伏所当过桥下。 襄子至桥而马惊。 襄子曰:“此必豫让也。”使人问之,果豫让。 于是赵襄子面数豫让曰:“子不尝事范中行氏乎?知伯灭范中行氏,而子不为报仇,反委质事知伯。知伯已死,子独何为报仇之深也?”豫让曰:“臣事范中行氏,范中行氏以众人遇臣,臣故众人报之;知伯以国士遇臣,臣故国士报之。”襄子乃喟然叹泣曰:“嗟乎,豫子!豫子之为知伯,名既成矣,寡人舍子,亦以足矣。子自为计,寡人不舍子。”使兵环之。 豫让曰:“臣闻明主不掩人之义,忠臣不爱死以成名。君前已宽舍臣,天下莫不称君之贤。今日之事,臣故伏诛,然愿请君之衣而击之,虽死不恨。非所望也,敢布腹心。”于是襄子义之,乃使使者持衣与豫让。 豫让拔剑三跃,呼天击之曰:“而可以报知伯矣。”遂伏剑而死。 死之日,赵国之士闻之,皆为涕泣。\n\n—— 《战国策》\n","source":"_posts/摘录/典故.md","raw":"---\ntitle: 典故\ndate: 2019-07-29 08:45:50\nurlname: old-stories-collection\ntoc: true\ntags: [历史政治]\ncategories: [摘录]\nnotshow: true\n\n---\n\n###### 豫让刺赵简子\n\n晋毕阳之孙豫让,始事范、中行氏而不说,去而就知伯,知伯宠之。及三晋分知氏,赵襄子最恐知伯,而将其头以为饮器。豫让遁逃山中曰:“磋乎!士为知己者死,女为悦己者容。吾其报知氏之仇矣。”\n\n\n\n乃变姓名,为刑人,入宫涂厕,欲以刺襄子。 襄子如厕,心动,执问涂者,则豫让也。 刃其曰:“欲为知伯报仇!”左右欲杀之。 赵襄子曰:“彼义士也,吾谨避之耳。且知伯已死,无后,而其臣至为报仇,此天下之贤人也。”卒释之。 豫让又漆身为厉,灭须去眉,自刑以变其容,为乞人而往乞,其妻不识,曰:“状貌不似吾夫,其音何类吾夫之甚也。”又吞炭为哑,变其音。 其友谓之曰:“子之道甚难而无功,谓子有志,则然矣,谓子知,则否。以子之才,而善事襄子,襄子必近幸子;子之得近而行所欲,此甚易而功必成。”豫让乃笑而应之曰:“是为先知报后知,为故君贼新君,大乱君臣之义者无此矣。凡吾所谓为此者,以明君臣之义,非从易也。且夫委质而事人,而求弑之,是怀二心以事君也。吾所为难,亦将以愧天下后世人臣怀二心者。”\n\n居顷之,襄子当出,豫让伏所当过桥下。 襄子至桥而马惊。 襄子曰:“此必豫让也。”使人问之,果豫让。 于是赵襄子面数豫让曰:“子不尝事范中行氏乎?知伯灭范中行氏,而子不为报仇,反委质事知伯。知伯已死,子独何为报仇之深也?”豫让曰:“臣事范中行氏,范中行氏以众人遇臣,臣故众人报之;知伯以国士遇臣,臣故国士报之。”襄子乃喟然叹泣曰:“嗟乎,豫子!豫子之为知伯,名既成矣,寡人舍子,亦以足矣。子自为计,寡人不舍子。”使兵环之。 豫让曰:“臣闻明主不掩人之义,忠臣不爱死以成名。君前已宽舍臣,天下莫不称君之贤。今日之事,臣故伏诛,然愿请君之衣而击之,虽死不恨。非所望也,敢布腹心。”于是襄子义之,乃使使者持衣与豫让。 豫让拔剑三跃,呼天击之曰:“而可以报知伯矣。”遂伏剑而死。 死之日,赵国之士闻之,皆为涕泣。\n\n—— 《战国策》\n","slug":"摘录/典故","published":1,"updated":"2019-07-31T03:51:35.000Z","_id":"cka1y594x00084huu6k4ch39z","comments":1,"layout":"post","photos":[],"link":"","content":"豫让刺赵简子 \n晋毕阳之孙豫让,始事范、中行氏而不说,去而就知伯,知伯宠之。及三晋分知氏,赵襄子最恐知伯,而将其头以为饮器。豫让遁逃山中曰:“磋乎!士为知己者死,女为悦己者容。吾其报知氏之仇矣。”
\n \n乃变姓名,为刑人,入宫涂厕,欲以刺襄子。 襄子如厕,心动,执问涂者,则豫让也。 刃其曰:“欲为知伯报仇!”左右欲杀之。 赵襄子曰:“彼义士也,吾谨避之耳。且知伯已死,无后,而其臣至为报仇,此天下之贤人也。”卒释之。 豫让又漆身为厉,灭须去眉,自刑以变其容,为乞人而往乞,其妻不识,曰:“状貌不似吾夫,其音何类吾夫之甚也。”又吞炭为哑,变其音。 其友谓之曰:“子之道甚难而无功,谓子有志,则然矣,谓子知,则否。以子之才,而善事襄子,襄子必近幸子;子之得近而行所欲,此甚易而功必成。”豫让乃笑而应之曰:“是为先知报后知,为故君贼新君,大乱君臣之义者无此矣。凡吾所谓为此者,以明君臣之义,非从易也。且夫委质而事人,而求弑之,是怀二心以事君也。吾所为难,亦将以愧天下后世人臣怀二心者。”
\n居顷之,襄子当出,豫让伏所当过桥下。 襄子至桥而马惊。 襄子曰:“此必豫让也。”使人问之,果豫让。 于是赵襄子面数豫让曰:“子不尝事范中行氏乎?知伯灭范中行氏,而子不为报仇,反委质事知伯。知伯已死,子独何为报仇之深也?”豫让曰:“臣事范中行氏,范中行氏以众人遇臣,臣故众人报之;知伯以国士遇臣,臣故国士报之。”襄子乃喟然叹泣曰:“嗟乎,豫子!豫子之为知伯,名既成矣,寡人舍子,亦以足矣。子自为计,寡人不舍子。”使兵环之。 豫让曰:“臣闻明主不掩人之义,忠臣不爱死以成名。君前已宽舍臣,天下莫不称君之贤。今日之事,臣故伏诛,然愿请君之衣而击之,虽死不恨。非所望也,敢布腹心。”于是襄子义之,乃使使者持衣与豫让。 豫让拔剑三跃,呼天击之曰:“而可以报知伯矣。”遂伏剑而死。 死之日,赵国之士闻之,皆为涕泣。
\n—— 《战国策》
\n","site":{"data":{}},"excerpt":"豫让刺赵简子 \n晋毕阳之孙豫让,始事范、中行氏而不说,去而就知伯,知伯宠之。及三晋分知氏,赵襄子最恐知伯,而将其头以为饮器。豫让遁逃山中曰:“磋乎!士为知己者死,女为悦己者容。吾其报知氏之仇矣。”
","more":"乃变姓名,为刑人,入宫涂厕,欲以刺襄子。 襄子如厕,心动,执问涂者,则豫让也。 刃其曰:“欲为知伯报仇!”左右欲杀之。 赵襄子曰:“彼义士也,吾谨避之耳。且知伯已死,无后,而其臣至为报仇,此天下之贤人也。”卒释之。 豫让又漆身为厉,灭须去眉,自刑以变其容,为乞人而往乞,其妻不识,曰:“状貌不似吾夫,其音何类吾夫之甚也。”又吞炭为哑,变其音。 其友谓之曰:“子之道甚难而无功,谓子有志,则然矣,谓子知,则否。以子之才,而善事襄子,襄子必近幸子;子之得近而行所欲,此甚易而功必成。”豫让乃笑而应之曰:“是为先知报后知,为故君贼新君,大乱君臣之义者无此矣。凡吾所谓为此者,以明君臣之义,非从易也。且夫委质而事人,而求弑之,是怀二心以事君也。吾所为难,亦将以愧天下后世人臣怀二心者。”
\n居顷之,襄子当出,豫让伏所当过桥下。 襄子至桥而马惊。 襄子曰:“此必豫让也。”使人问之,果豫让。 于是赵襄子面数豫让曰:“子不尝事范中行氏乎?知伯灭范中行氏,而子不为报仇,反委质事知伯。知伯已死,子独何为报仇之深也?”豫让曰:“臣事范中行氏,范中行氏以众人遇臣,臣故众人报之;知伯以国士遇臣,臣故国士报之。”襄子乃喟然叹泣曰:“嗟乎,豫子!豫子之为知伯,名既成矣,寡人舍子,亦以足矣。子自为计,寡人不舍子。”使兵环之。 豫让曰:“臣闻明主不掩人之义,忠臣不爱死以成名。君前已宽舍臣,天下莫不称君之贤。今日之事,臣故伏诛,然愿请君之衣而击之,虽死不恨。非所望也,敢布腹心。”于是襄子义之,乃使使者持衣与豫让。 豫让拔剑三跃,呼天击之曰:“而可以报知伯矣。”遂伏剑而死。 死之日,赵国之士闻之,皆为涕泣。
\n—— 《战国策》
"},{"title":"RZF Organisation","urlname":"rzf-organisation","toc":true,"notshow":true,"date":"2019-07-22T18:23:00.000Z","_content":"\n# Kontakt\n\n## Abteilung\n- Verteiler \"**V-Krank**\"\n Für Ihre Krank- bzw. Gesundmeldung sowie alle übrigen Mitteilungen zum Thema Krankheit nutzen Sie bitte den Verteiler V-Krank (V-Krank-5011@fv.nrw.de).\n- Verteiler \"**V-Heimarbeitszeiten**\"\n Für die Meldung der Heimarbeitszeiten nutzen Sie bitte den Verteiler V-Heimarbeitszeiten (V-Heimarbeitszeiten-5011@fv.nrw.de).\n- Verteiler \"**V-Dienstreisezeiten**\"\n Über den Verteiler V-Dienstreisezeiten (V-Dienstreisezeiten-5011@fv.nrw.de) teilen Sie bitte Ihre Dienstreisezeiten, Lehrgangzeiten sowie das Ende des Dienstgeschäftes bei Dienstgängen mit. Zur Berechnung der Reisezeiten nutzen Sie bitte das im OASE-Vordruckschrank hinterlegte Berechnungsblatt (Vordruck H76 Reisezeitenberechnung).\n- Verteiler \"**V-GST**\"\n Den Verteiler V-GST (V-GST-5011@fv.nrw.de) verwenden Sie insbesondere für die nachfolgenden Angelegenheiten:\n Fragen/Mitteilungen zum Thema Urlaub, Sonderurlaub, Dienstbefreiung\n - Mitteilung von Zeiten bei vergessenen oder fehlerhaften GLAZ-Buchungen\n - Mitteilung über die ganztägige Kernzeitinanspruchnahme (GLAZ-Tag)\n - alle Fragen/Mitteilungen zu den übrigen Personalangelegenheiten, die nicht über die vorgenannten Verteiler abgedeckt sind.\n\n## Personal\n### Rohde, Rainer\nTelefon : (0211) 4572 - 2554\nE-Mail: rainer.rohde@fv.nrw.de\n### Uphoff, Christian\nchristian.uphoff@fv.nrw.de\n\n\\Drucker \\C0114237\\DR011226","source":"_posts/文档/RZF-Organisation.md","raw":"---\ntitle: RZF Organisation\nurlname: rzf-organisation\ntoc: true\ntags: [工作]\ncategories: 文档\nnotshow: true\ndate: 2019-07-22 20:23:00\n\n---\n\n# Kontakt\n\n## Abteilung\n- Verteiler \"**V-Krank**\"\n Für Ihre Krank- bzw. Gesundmeldung sowie alle übrigen Mitteilungen zum Thema Krankheit nutzen Sie bitte den Verteiler V-Krank (V-Krank-5011@fv.nrw.de).\n- Verteiler \"**V-Heimarbeitszeiten**\"\n Für die Meldung der Heimarbeitszeiten nutzen Sie bitte den Verteiler V-Heimarbeitszeiten (V-Heimarbeitszeiten-5011@fv.nrw.de).\n- Verteiler \"**V-Dienstreisezeiten**\"\n Über den Verteiler V-Dienstreisezeiten (V-Dienstreisezeiten-5011@fv.nrw.de) teilen Sie bitte Ihre Dienstreisezeiten, Lehrgangzeiten sowie das Ende des Dienstgeschäftes bei Dienstgängen mit. Zur Berechnung der Reisezeiten nutzen Sie bitte das im OASE-Vordruckschrank hinterlegte Berechnungsblatt (Vordruck H76 Reisezeitenberechnung).\n- Verteiler \"**V-GST**\"\n Den Verteiler V-GST (V-GST-5011@fv.nrw.de) verwenden Sie insbesondere für die nachfolgenden Angelegenheiten:\n Fragen/Mitteilungen zum Thema Urlaub, Sonderurlaub, Dienstbefreiung\n - Mitteilung von Zeiten bei vergessenen oder fehlerhaften GLAZ-Buchungen\n - Mitteilung über die ganztägige Kernzeitinanspruchnahme (GLAZ-Tag)\n - alle Fragen/Mitteilungen zu den übrigen Personalangelegenheiten, die nicht über die vorgenannten Verteiler abgedeckt sind.\n\n## Personal\n### Rohde, Rainer\nTelefon : (0211) 4572 - 2554\nE-Mail: rainer.rohde@fv.nrw.de\n### Uphoff, Christian\nchristian.uphoff@fv.nrw.de\n\n\\Drucker \\C0114237\\DR011226","slug":"文档/RZF-Organisation","published":1,"updated":"2019-08-22T08:39:21.000Z","_id":"cka1y595000094huuoh5kztsj","comments":1,"layout":"post","photos":[],"link":"","content":"Kontakt \nAbteilung \n\nVerteiler “V-Krank ” \nFür Ihre Krank- bzw. Gesundmeldung sowie alle übrigen Mitteilungen zum Thema Krankheit nutzen Sie bitte den Verteiler V-Krank (V-Krank-5011@fv.nrw.de ). \nVerteiler “V-Heimarbeitszeiten ” \nFür die Meldung der Heimarbeitszeiten nutzen Sie bitte den Verteiler V-Heimarbeitszeiten (V-Heimarbeitszeiten-5011@fv.nrw.de ). \nVerteiler “V-Dienstreisezeiten ” \nÜber den Verteiler V-Dienstreisezeiten (V-Dienstreisezeiten-5011@fv.nrw.de ) teilen Sie bitte Ihre Dienstreisezeiten, Lehrgangzeiten sowie das Ende des Dienstgeschäftes bei Dienstgängen mit. Zur Berechnung der Reisezeiten nutzen Sie bitte das im OASE-Vordruckschrank hinterlegte Berechnungsblatt (Vordruck H76 Reisezeitenberechnung). \nVerteiler “V-GST ” \nDen Verteiler V-GST (V-GST-5011@fv.nrw.de ) verwenden Sie insbesondere für die nachfolgenden Angelegenheiten: \nFragen/Mitteilungen zum Thema Urlaub, Sonderurlaub, Dienstbefreiung\n\nMitteilung von Zeiten bei vergessenen oder fehlerhaften GLAZ-Buchungen \nMitteilung über die ganztägige Kernzeitinanspruchnahme (GLAZ-Tag) \nalle Fragen/Mitteilungen zu den übrigen Personalangelegenheiten, die nicht über die vorgenannten Verteiler abgedeckt sind. \n \n \n \nPersonal \nRohde, Rainer \nTelefon : (0211) 4572 - 2554 \nE-Mail: rainer.rohde@fv.nrw.de
\nUphoff, Christian \nchristian.uphoff@fv.nrw.de
\n\\Drucker \\C0114237\\DR011226
\n","site":{"data":{}},"excerpt":"","more":"Kontakt \nAbteilung \n\nVerteiler “V-Krank ” \nFür Ihre Krank- bzw. Gesundmeldung sowie alle übrigen Mitteilungen zum Thema Krankheit nutzen Sie bitte den Verteiler V-Krank (V-Krank-5011@fv.nrw.de ). \nVerteiler “V-Heimarbeitszeiten ” \nFür die Meldung der Heimarbeitszeiten nutzen Sie bitte den Verteiler V-Heimarbeitszeiten (V-Heimarbeitszeiten-5011@fv.nrw.de ). \nVerteiler “V-Dienstreisezeiten ” \nÜber den Verteiler V-Dienstreisezeiten (V-Dienstreisezeiten-5011@fv.nrw.de ) teilen Sie bitte Ihre Dienstreisezeiten, Lehrgangzeiten sowie das Ende des Dienstgeschäftes bei Dienstgängen mit. Zur Berechnung der Reisezeiten nutzen Sie bitte das im OASE-Vordruckschrank hinterlegte Berechnungsblatt (Vordruck H76 Reisezeitenberechnung). \nVerteiler “V-GST ” \nDen Verteiler V-GST (V-GST-5011@fv.nrw.de ) verwenden Sie insbesondere für die nachfolgenden Angelegenheiten: \nFragen/Mitteilungen zum Thema Urlaub, Sonderurlaub, Dienstbefreiung\n\nMitteilung von Zeiten bei vergessenen oder fehlerhaften GLAZ-Buchungen \nMitteilung über die ganztägige Kernzeitinanspruchnahme (GLAZ-Tag) \nalle Fragen/Mitteilungen zu den übrigen Personalangelegenheiten, die nicht über die vorgenannten Verteiler abgedeckt sind. \n \n \n \nPersonal \nRohde, Rainer \nTelefon : (0211) 4572 - 2554 \nE-Mail: rainer.rohde@fv.nrw.de
\nUphoff, Christian \nchristian.uphoff@fv.nrw.de
\n\\Drucker \\C0114237\\DR011226
\n"},{"title":"Hello World","urlname":"hellow-world","date":"2019-06-26T15:51:03.000Z","sage":false,"notshow":true,"password":123456,"abstract":"此文章含敏感性描述。","message":"输入通用密码,查看文章。","_content":"Welcome to [Hexo](https://hexo.io/)! This is your very first post. Check [documentation](https://hexo.io/docs/) for more info. If you get any problems when using Hexo, you can find the answer in [troubleshooting](https://hexo.io/docs/troubleshooting.html) or you can ask me on [GitHub](https://github.com/hexojs/hexo/issues).\n\n## Quick Start\n\n### Create a new post\n\n``` bash\n$ hexo new \"My New Post\"\n```\n\nMore info: [Writing](https://hexo.io/docs/writing.html)\n\n### Run server\n\n``` bash\n$ hexo server\n```\n\nMore info: [Server](https://hexo.io/docs/server.html)\n\n### Generate static files\n\n``` bash\n$ hexo generate\n```\n\nMore info: [Generating](https://hexo.io/docs/generating.html)\n\n### Deploy to remote sites\n\n``` bash\n$ hexo deploy\n```\n\nMore info: [Deployment](https://hexo.io/docs/deployment.html)\n","source":"_posts/随笔/hello-world.md","raw":"---\ntitle: Hello World\nurlname: hellow-world\ndate: 2019-06-26 17:51:03\ntags: [Hexo]\ncategories: 随笔\nsage: false\nnotshow: true\npassword: 123456\nabstract: 此文章含敏感性描述。\nmessage: 输入通用密码,查看文章。\n\n---\nWelcome to [Hexo](https://hexo.io/)! This is your very first post. Check [documentation](https://hexo.io/docs/) for more info. If you get any problems when using Hexo, you can find the answer in [troubleshooting](https://hexo.io/docs/troubleshooting.html) or you can ask me on [GitHub](https://github.com/hexojs/hexo/issues).\n\n## Quick Start\n\n### Create a new post\n\n``` bash\n$ hexo new \"My New Post\"\n```\n\nMore info: [Writing](https://hexo.io/docs/writing.html)\n\n### Run server\n\n``` bash\n$ hexo server\n```\n\nMore info: [Server](https://hexo.io/docs/server.html)\n\n### Generate static files\n\n``` bash\n$ hexo generate\n```\n\nMore info: [Generating](https://hexo.io/docs/generating.html)\n\n### Deploy to remote sites\n\n``` bash\n$ hexo deploy\n```\n\nMore info: [Deployment](https://hexo.io/docs/deployment.html)\n","slug":"随笔/hello-world","published":1,"updated":"2019-07-31T03:51:35.000Z","_id":"cka1y5952000a4huuo6qb7h3o","comments":1,"layout":"post","photos":[],"link":"","content":"\n\nIncorrect Password!
\nNo content to display!
\n\nU2FsdGVkX1+7TT9oNPf8Ce6TsmnuE5YQQXxozWhmsuuF8mq1PvXU4mByRPaYweIRznY6oCgPv8PipL/etOooY2bmAe5/3BxQPyniuSdeXJ0C8awHa6up+5gRmhbjHKwIyovE/4OXJCIEADUg4aMBMa9uSdqheJEgFVNyPPHF0SaFQ52G3ucPq54SmB4P4g9x3NQUTCy3LZOw3KP4fN3hEQXaitjd6Cn6Lm9AmvAzXtLiGjHUcV6IuwFqWko+akLURrPiZQDdJ6Wses5F/+F8sPMAcYdJQsn0nRpUhtggnhCysFe8FBNX9eoICJITSymRzNMIymZvJi+1q8pVPEj89QDy91U9gQwoHEy1G7bGNr4dnS+l7KWbill6olGvfwu7rJbMgUnnEiu/7B511/VkDVUSUVlggncrZ/KEU4XT8Gx4OYLgZfS7r9uNDceAq694BMF4m1dVeagck8ls2+DCVvQRe3ciyrHhrkK1ouAwMxYcf1IR8kCyyScnx4X4XIk+5P2KhjZiP+z0pb0GWxX30qVUHsQrCveU0Amhdc2F70VRUghCOo83gRWgs8HlQXaqWmTPJmrFkOuKELGTlW08UKA6RR7Wx21bZcH9k+ZVxatWfUhob3K9hZuROPfo5t/xFby5Jp035iZggzfT3J7Zj22X0WD1+mTIepPLg98r6WFGnIVadH4o1kQOSX6zUrknvBqVVm4toRD25n2RgCw0EpxpAmyyvFe6nDVqrCIpe9W4NkfYXM+yR5oclXdvAdOB9M3FFc1iizhNZzCrWNI2c+m+DGnqeKBHb5AB/cpbv0RdolELqm9KsuoE3GHMBFZp78H1ef+4SNONQVKmaiTrI2WBiGvhGYcQd8xHtq3uCDf99oREjkBDn86xTCk0KgrAg53Ijn5k0+P/PehZStsYZc5ysJxIgaANrW+hyuSwPblwsHUBUEGm/ZB84NvzgIZPYLVWqC+6ujB10CAY0M3XOGo2u8U2VZ5IAD27XMiwZC+pLJBHQFFwsO2T99xuJw1OBWF9BhslpeMtxIRByV1z/6znnolei0ZgDIPCcbEeuqJb7zeoWp70sdEZQGHI5BNOEew2uCpLJjw5uaVGZCY0uZkLYBW5XD0WlOpXbqqPIrRT/naYC3YywZCBOenymdhbRKlCHoopCccLbfgFQJqDvlVQen3fA/eqnmw37wk8j7XKHb4nKIOl1q6P2YFQ+qVNNb1qiIC66SNXqrbyNWHyhDkqFSlzcrJAcSqTVtCsVqhw42BotrpjPiJ/8Zyq4aSfnR6G+eZsznHvoGqM237/Vy/faDFZTA6d/MrkExzhwjllt1svb00ZBFyF2CNv5H9daJ1EvG+HZXhPKOVq/ryYh59UXG3ypmIvKlMXjzzMHKwLfYHeel8s8kjel7u2iGAXML5uSbaCqCmfIxAazPuKhlapElEGH2AgjNRqwLoM3BH+Nq5rgYlVQkmympCoOSgTquAx6hxsiUId+sL5nCAkGb5flhQdChPYAvlhLVVaMUesmJuUF4OqAmY4sfd5BHR2uCmdSYTaborGQtTIEhnwcpUF6qYVrwes4K8nOYXZKGk6ELLHa1IlChe70KxP6qHeQ3Xq+X4teFvbcyZ/3z6SDNhob1WLAfYb2szPGOVtdT3DEsFw7YHGhgcI5X1njL4b4Vkd3Fd98PZQdrgfZlB8QO5/YC75EgdfDFqUgaR86+9Sa6AzFlXvZscPtgPMvG6RIveULyZDflsFgCqJy9W3UiU9H9wiEb+9tPEgRlf0SZ4F0V3lqksOdj6qEv6YM4KtFF1Y+mlSocp0tCIW2PcwUcJPMB54y5NwI7Qji6FbP/SmYkHBOS2HAAKyx3dnxuoIJneAfQOT70PoXt8YVxZyPtg17hcLlORU/KqcGXZhks9VvS/4bbsM5CLH6wJUAeom/NOZZkMQgK/KAiUL4WM6bjLaMYCFx/bt6WAPYeFYFZ3wyQrAhd+EFs68+79klIdtzNYivK+j3GuIRfAF+/rhqZ6ISgQEBqD6AmlRnRsFaW8AKier61VuISlGlJ3WebWf/DViHUI5RrxNJnZDLGT6ENuGvYmzVRWOsoks3tObuimBl4G7ZZVxYNCrm+uSJQ34dh+f0rg7ckoANFDBHnZsDsIF/4doX/umiCMPufqfZIKDaJKnVzd8SdiArq9vprdrDNLYHhz+I6vM8IW3ZILl0rQFx6enT4XvVeuG1fiY30b6wzNqH21Mp6w3nSpVu0tZ82R79xr1iQn9KT+ekQCqwJNGbp9yRurcB3Myv78DEN0329B+eNUXqtc64xivaiIMOHMxOVHu6UGPryNFvA+iKrBM1a5DXyjkJwOIGzIoqf0Y8vDlB92PScUk4pVymupZ5BTBk++ziHDir/CkkALuBsJqe+Z7Ct/tvAsVUbsbJPO+4bY8W0ZK++cUh8Y32x62D2j7M1nQ4wpcxsmIPngGVsuFT41WCSF6d4u56Brz+DVdBpsiMODiXQr74zKFWubjzkSou9f11FLr2dnjhx1DrGNn1mqsx0gRBWBKtdFc849injMomeJrCUhaPwV4f3EjkMrsMi3x0MzV0xBvf2ktwNck+eTY6AQa1UvH63Cka9J7Z8DsciBgkCNkd7exgtboc6bqI7c2Ai4/HMP+hQtdYg0uie7GBbRdOVqhuR++GZL6UBrEois54aUPJxK6Xype6v7qHIf3XSH7NR5qlLIOcPE6rp7lfdhUvB9mkJ5jQ1phkJjkbZ0HcohfzhlledQb5njrA6JndP0+3eKyvwLYuZxCup92FrS6X+u/PVFkuUD/y9PNmU/RsJrRsGWt0qPSvyRIzVKFdP6tdvwkUYHdHlbe0/Y5TXcGUyB0tuNCBNsJXLZvQq+3vZ8MI8ZQW7I7zpbwcIvK/n1HEISPZF974e7CROWpAcUSKFYzoC7QF4kDDbab5mbetaWclUh7qMOt0q5orAGCMTcejIRGivHMODoq6S8eeExpVqSEwn7OTsDk02z6k7kWjANzYSpClR6RGgHJa0aFNoAbFeo83/p21XFcLL/eVCrfku5kEOfyERL/nuycdX/g/rVmgxL8Lskvql8HJAxy4bzQARWazQn9xGqLnVQGjmuTETf7A1I/IcxIdV+7ojCQxb5rLxVcUiQLOMgqb74XJzDtMgBqXkRUVnVwHPosQg8L4eYg9wgUET1jQayMzEeR+e22wvEMDvM2qz7yffFtpI4B3xRIbTsDJA==\n
\n ","site":{"data":{}},"excerpt":"此文章含敏感性描述。","more":"此文章含敏感性描述。","origin":"Welcome to Hexo ! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub .
\nQuick Start \nCreate a new post \n\nMore info: Writing
\nRun server \n\nMore info: Server
\nGenerate static files \n\nMore info: Generating
\nDeploy to remote sites \n\nMore info: Deployment
\n","encrypt":true,"template":"\n\nIncorrect Password!
\nNo content to display!
\n\nU2FsdGVkX1+7TT9oNPf8Ce6TsmnuE5YQQXxozWhmsuuF8mq1PvXU4mByRPaYweIRznY6oCgPv8PipL/etOooY2bmAe5/3BxQPyniuSdeXJ0C8awHa6up+5gRmhbjHKwIyovE/4OXJCIEADUg4aMBMa9uSdqheJEgFVNyPPHF0SaFQ52G3ucPq54SmB4P4g9x3NQUTCy3LZOw3KP4fN3hEQXaitjd6Cn6Lm9AmvAzXtLiGjHUcV6IuwFqWko+akLURrPiZQDdJ6Wses5F/+F8sPMAcYdJQsn0nRpUhtggnhCysFe8FBNX9eoICJITSymRzNMIymZvJi+1q8pVPEj89QDy91U9gQwoHEy1G7bGNr4dnS+l7KWbill6olGvfwu7rJbMgUnnEiu/7B511/VkDVUSUVlggncrZ/KEU4XT8Gx4OYLgZfS7r9uNDceAq694BMF4m1dVeagck8ls2+DCVvQRe3ciyrHhrkK1ouAwMxYcf1IR8kCyyScnx4X4XIk+5P2KhjZiP+z0pb0GWxX30qVUHsQrCveU0Amhdc2F70VRUghCOo83gRWgs8HlQXaqWmTPJmrFkOuKELGTlW08UKA6RR7Wx21bZcH9k+ZVxatWfUhob3K9hZuROPfo5t/xFby5Jp035iZggzfT3J7Zj22X0WD1+mTIepPLg98r6WFGnIVadH4o1kQOSX6zUrknvBqVVm4toRD25n2RgCw0EpxpAmyyvFe6nDVqrCIpe9W4NkfYXM+yR5oclXdvAdOB9M3FFc1iizhNZzCrWNI2c+m+DGnqeKBHb5AB/cpbv0RdolELqm9KsuoE3GHMBFZp78H1ef+4SNONQVKmaiTrI2WBiGvhGYcQd8xHtq3uCDf99oREjkBDn86xTCk0KgrAg53Ijn5k0+P/PehZStsYZc5ysJxIgaANrW+hyuSwPblwsHUBUEGm/ZB84NvzgIZPYLVWqC+6ujB10CAY0M3XOGo2u8U2VZ5IAD27XMiwZC+pLJBHQFFwsO2T99xuJw1OBWF9BhslpeMtxIRByV1z/6znnolei0ZgDIPCcbEeuqJb7zeoWp70sdEZQGHI5BNOEew2uCpLJjw5uaVGZCY0uZkLYBW5XD0WlOpXbqqPIrRT/naYC3YywZCBOenymdhbRKlCHoopCccLbfgFQJqDvlVQen3fA/eqnmw37wk8j7XKHb4nKIOl1q6P2YFQ+qVNNb1qiIC66SNXqrbyNWHyhDkqFSlzcrJAcSqTVtCsVqhw42BotrpjPiJ/8Zyq4aSfnR6G+eZsznHvoGqM237/Vy/faDFZTA6d/MrkExzhwjllt1svb00ZBFyF2CNv5H9daJ1EvG+HZXhPKOVq/ryYh59UXG3ypmIvKlMXjzzMHKwLfYHeel8s8kjel7u2iGAXML5uSbaCqCmfIxAazPuKhlapElEGH2AgjNRqwLoM3BH+Nq5rgYlVQkmympCoOSgTquAx6hxsiUId+sL5nCAkGb5flhQdChPYAvlhLVVaMUesmJuUF4OqAmY4sfd5BHR2uCmdSYTaborGQtTIEhnwcpUF6qYVrwes4K8nOYXZKGk6ELLHa1IlChe70KxP6qHeQ3Xq+X4teFvbcyZ/3z6SDNhob1WLAfYb2szPGOVtdT3DEsFw7YHGhgcI5X1njL4b4Vkd3Fd98PZQdrgfZlB8QO5/YC75EgdfDFqUgaR86+9Sa6AzFlXvZscPtgPMvG6RIveULyZDflsFgCqJy9W3UiU9H9wiEb+9tPEgRlf0SZ4F0V3lqksOdj6qEv6YM4KtFF1Y+mlSocp0tCIW2PcwUcJPMB54y5NwI7Qji6FbP/SmYkHBOS2HAAKyx3dnxuoIJneAfQOT70PoXt8YVxZyPtg17hcLlORU/KqcGXZhks9VvS/4bbsM5CLH6wJUAeom/NOZZkMQgK/KAiUL4WM6bjLaMYCFx/bt6WAPYeFYFZ3wyQrAhd+EFs68+79klIdtzNYivK+j3GuIRfAF+/rhqZ6ISgQEBqD6AmlRnRsFaW8AKier61VuISlGlJ3WebWf/DViHUI5RrxNJnZDLGT6ENuGvYmzVRWOsoks3tObuimBl4G7ZZVxYNCrm+uSJQ34dh+f0rg7ckoANFDBHnZsDsIF/4doX/umiCMPufqfZIKDaJKnVzd8SdiArq9vprdrDNLYHhz+I6vM8IW3ZILl0rQFx6enT4XvVeuG1fiY30b6wzNqH21Mp6w3nSpVu0tZ82R79xr1iQn9KT+ekQCqwJNGbp9yRurcB3Myv78DEN0329B+eNUXqtc64xivaiIMOHMxOVHu6UGPryNFvA+iKrBM1a5DXyjkJwOIGzIoqf0Y8vDlB92PScUk4pVymupZ5BTBk++ziHDir/CkkALuBsJqe+Z7Ct/tvAsVUbsbJPO+4bY8W0ZK++cUh8Y32x62D2j7M1nQ4wpcxsmIPngGVsuFT41WCSF6d4u56Brz+DVdBpsiMODiXQr74zKFWubjzkSou9f11FLr2dnjhx1DrGNn1mqsx0gRBWBKtdFc849injMomeJrCUhaPwV4f3EjkMrsMi3x0MzV0xBvf2ktwNck+eTY6AQa1UvH63Cka9J7Z8DsciBgkCNkd7exgtboc6bqI7c2Ai4/HMP+hQtdYg0uie7GBbRdOVqhuR++GZL6UBrEois54aUPJxK6Xype6v7qHIf3XSH7NR5qlLIOcPE6rp7lfdhUvB9mkJ5jQ1phkJjkbZ0HcohfzhlledQb5njrA6JndP0+3eKyvwLYuZxCup92FrS6X+u/PVFkuUD/y9PNmU/RsJrRsGWt0qPSvyRIzVKFdP6tdvwkUYHdHlbe0/Y5TXcGUyB0tuNCBNsJXLZvQq+3vZ8MI8ZQW7I7zpbwcIvK/n1HEISPZF974e7CROWpAcUSKFYzoC7QF4kDDbab5mbetaWclUh7qMOt0q5orAGCMTcejIRGivHMODoq6S8eeExpVqSEwn7OTsDk02z6k7kWjANzYSpClR6RGgHJa0aFNoAbFeo83/p21XFcLL/eVCrfku5kEOfyERL/nuycdX/g/rVmgxL8Lskvql8HJAxy4bzQARWazQn9xGqLnVQGjmuTETf7A1I/IcxIdV+7ojCQxb5rLxVcUiQLOMgqb74XJzDtMgBqXkRUVnVwHPosQg8L4eYg9wgUET1jQayMzEeR+e22wvEMDvM2qz7yffFtpI4B3xRIbTsDJA==\n
\n","decryptionError":"Incorrect Password!","noContentError":"No content to display!"},{"title":"爱乐之城——影评","date":"2019-07-21T19:17:19.000Z","urlname":"lalaland-film","_content":"\n![ ](https://github.com/maiernte/img/raw/master/collection/lalaland.jpg)\n\n\n\n我在凌晨三点醒来的夜里,想起已失去的你,曾经说着永远一起,现在却不再联系。如果当时的我们能少一些固执,是否会有更好的结局。\n\n洛杉矶,华纳兄弟电影厂旁边的咖啡馆,明星来往不息。一身素雅的米娅是这里的收银员。她的梦想就是成为一个知名演员及编剧。所以她经常请假去试镜,跑遍大大小小的片场。虽然每次她都充满希望,但现实却是四处碰壁。这天,又一次遭受打击的米娅垂头丧气回到家中。洗去一身疲态后,她站在镜子面前暗自神伤哼起歌来 。这时室友火急火燎的出现,邀请她一起去参加派对。本来心情极度郁闷的米娅不想去凑热闹。经不住一帮二货室友的游说,精心打扮一番后她们就出发了。\n\n洛杉矶的月色下,灯红酒绿,觥筹交错。但热闹是属于他们的,安静下来后她却感到愈加落寞。人潮中充斥着过剩的荷尔蒙,但却没有她想要的一双眼睛。世界瞬息万变,她却岿然不动。逃离狂欢派对后,违规停放的车子又被拖走。米娅只能走路回家,在安静的街头上。忽然一阵悠扬的钢琴声传来,如梦似幻,温润缠绵。米娅停下脚步,来到了一个毫不起眼的地下酒吧。一个优雅的男人坐在无人注意的角落里安静的弹奏着。此刻,全世界好像都暗了下来,只有他闪着耀眼的光芒。男人名叫塞巴斯汀,是一个爵士乐钢琴师。他对音乐有着自己独特的追求,不愿弹奏靡靡之音。可一曲弹罢,没有人为他鼓掌,他也被老板炒了鱿鱼。塞巴斯汀愤愤的离开,米娅鼓起勇气迎面走过去,想要认识这个让她着迷的男人。但一句话还没说完,男人就径直的走开了。米娅扑了个空,尴尬的站在那里不知所措。\n\n生活依然按部就班,米娅依然忙着追逐她的梦想。一次派对上,米娅又遇上了塞巴斯汀。他加入了一个爵士乐队,但他们的演奏依旧没人捧场。为了惩罚这个「严肃」的音乐人,也为了报复上次给她造成的尴尬,米娅点了一首非常不严肃的音乐,她甚至随着音乐舞动起来。而塞巴斯汀却站在那里既尴尬又无奈。米娅的行为让塞巴斯汀想起了那晚的无礼。他向米娅道了歉,两人算是相识了。聚会结束后,米娅又找不到车子,于是两人在夜色下散步。洛杉矶的夜色此刻显得如此迷人,在暧昧的氛围中,他们默契地跳着属于他们的舞蹈。\n\n第二天塞巴斯汀来到米娅工作的咖啡店,下班后他们一起在片场附近的街头闲聊,塞巴斯汀鼓励米娅给自己写剧本,而不是去演别人的剧本。自己给自己创造角色,说不定会有意想不到的效果。米娅也向塞巴斯汀坦白说,她讨厌爵士乐。于是固执的塞巴斯汀就带米娅来到一个演奏爵士乐的酒吧,他试图改变米娅对爵士乐的看法,向她解释爵士乐的起源。然而米娅还是不能理解,对音乐有执念的塞巴斯汀表示,他不想让爵士乐就此消亡,他想要创建自己的俱乐部,在那里只有纯粹的爵士乐,那是他一直以来的梦想。\n\n这天又一次试镜失败的米娅心情沮丧,经过电影院门口时,她想起和塞巴斯汀的电影院之约。顿时心情变得愉悦,这时几个月不见一次的男友却来接她一起吃饭。餐桌上米娅心不在焉,男友却把她晾在一边,自顾自的和哥哥聊天。而在电影院门口的塞巴斯汀焦急的等着米娅,此时餐厅传来了熟悉的曲子,那个夜晚塞巴斯汀弹奏的正是这首曲子。米娅随即起身跑了出去,穿过色彩缤纷的霓虹灯,她找到了失落的塞巴斯汀,此时的两个人根本无心观看电影。他们指尖轻触,随后十指紧扣,接着互相靠近……但灯光却忽然打开,两人无奈的相视一笑。之后米娅带着塞巴斯汀来到天文馆,他们在浪漫的氛围中翩翩起舞,魅惑的蓝色星空下,两人仿佛和整个宇宙融为一体。\n\n金风玉露终于相逢,热恋之吻甘之如饴。随后两人一边热恋,一边为各自的梦想努力。他们一起旅行、一起恶作剧,他们走遍大街小巷,他弹琴、她跳舞,在塞巴斯汀的影响下,米娅渐渐喜欢上了爵士乐。这天早上,塞巴斯汀无意中听到了米娅和她母亲的通话。米娅的母亲对她们的未来很担忧,因为塞巴斯汀没有稳定的工作。寥寥几句话,就将塞巴斯汀从梦中拉回现实。他接受了前乐队主唱的邀请,成为了他们的键盘手。但这就意味着塞巴斯汀必须放弃自己的坚持,跟着乐队的风格走。晚上回家的米娅,听到塞巴斯汀的琴声,感受到了他失落的情绪。无需过多的话语,米娅和着琴声唱着歌,这种默契让他们心照不宣。就这样两人互相鼓励,互相安慰,塞巴斯汀的乐队开始走红。米娅也陆陆续续接到了一些大大小小的角色。看着梦想之门慢慢打开,他们也变得越来越忙碌。乐队巡演时,米娅站在台下看着万众瞩目的塞巴斯汀,喧闹的人群,闪烁的灯光,流行的爵士乐,一切看起来都那么美好……台上的男人意气风发、星光闪耀,米娅却觉得和他有了距离。晚上回到家的米娅得到了一个大大的惊喜。忙碌的他们很久都没有见面了,塞巴斯汀明天一早又要离开,他想要让米娅跟他一起,米娅却问他喜不喜欢现在弹奏的音乐?但此时的塞巴斯汀已经尝到了名利带来的甜头,他放弃了曾经的梦想,也放弃了曾经的坚持。他以为这些是米娅想要的:稳定的生活,不菲的收入,以及聚少离多的爱情。他说以前那些梦想太虚无缥缈,现在他需要成熟起来。最后激动的塞巴斯汀对米娅说,你喜欢以前不堪的我,是因为相比而言,那会让你感觉自我良好。这句伤人的话使得他们关系僵化,接着米娅一声不响的离开。第二天在给乐队拍宣传片的时候,摄影师让塞巴斯汀随便弹,于是他弹起了熟悉的曲子,接着他似乎想起了什么……再一次试镜被嘲笑后,米娅心情降至冰点。她准备返回老家,这个城市再没什么值得她留恋,梦想也好,爱人也罢,终究只是一场梦。面对挽留的塞巴斯汀,她再也无法忍受,哭着说她受够了。米娅回到了自己的家,塞巴斯汀也回到了乐队。\n\n一段时间后,塞巴斯汀出现在了米娅家门口。一个知名导演正在选角,试镜电话打给了塞巴斯汀,在塞巴斯汀的鼓励下,米娅鼓起勇气决定再试一次。导演让米娅随便讲一个故事,于是她用歌声讲述了自己的梦想。面试过后,他们来到天文馆门口,一起谈论着对未来的打算。他说你的梦想一定会实现的。秋天的洛杉矶,纯净而理性。他们的感情在这里开始,也在这里结束……\n\n五年后米娅成了知名演员,实现了自己的梦想。她事业有成,结婚生子,生活安稳,家庭美满。晚上米娅和丈夫遭遇堵车,路边散步时发现了一个酒吧。热闹的气氛吸引了米娅的注意,这正是当年塞巴斯汀带她去的酒吧。米娅发现酒吧的名字是她多年前为塞巴斯汀取的。这里只有纯粹的爵士乐,塞巴斯汀的梦想就是拥有这样一个地方。落坐以后,塞巴斯汀看到了台下的米娅,沉默片刻后,他弹起了那首熟悉的音乐。\n***\n*就像最初他们相见时那样,他们忘记了全世界。那个夜晚,那次初见,时间仿佛从未流逝。但这次不等她说完一句话,他就热烈的吻上了她唇。他毫无顾忌,她毫无防备,他们痴迷于彼此的味道。他们翩翩起舞,一路走向梦想,走进热恋,相互陪伴,相互成全,一起成长,一起狂欢。然后携手走进那片星空。他眼神温柔,她身姿婀娜。他们打造着自己的小窝,享受着二人世界。爱的结晶来到他们身边,放佛那些美好是和他一起度过的。直到今天这个夜晚,他们始终如一,此志不渝。*\n\n___\n曲终之后,她被拉回现实,然后和丈夫一起离开。在拐角处她转身,回头,两人遥遥相望,然后互相报以微笑。时隔经年,若我遇见你,我该如何与你致意?以眼泪,以沉默!\n\n我一同学特别喜欢这部电影,我知道那是因为她在电影中看到了自己。她的挚爱,七年长跑,可终究还是没能走到一起。或许这就是所谓的「在别人的故事里,流着自己的眼泪」。你是否也在无人的深夜,想起某个人,然后哭着醒来。看着周围的一切,熟悉又陌生,那个藏在心里的人啊,此时你身在哪里?可知有人还在深爱着你。虽然思念依然刻骨铭心,但你们之间却只剩下曾经。最怕的莫过于,在寂静无声的日子里,莫名其妙的,突然听懂了一首歌,只是你听到的不再是歌曲,而是人生。\n\n**「初识不知曲中意,再听已是曲中人」**……就像是做了一场梦,醒来之时万籁俱寂,物是人非事事休,欲语泪先流……年少时我们总想给最爱的TA更多,却忽略了TA最想要的只是真实的你。后来的我们什么都有了,但却没了我们。我还是我,你还是你,我们却不再是我们。……于是你只能在某个深夜,听着歌,流着泪,然后默默的在心里对那个人说,今夜,我不关心世界,今夜,我只想你。\n\n","source":"_posts/摘录/爱乐之城——影评.md","raw":"---\ntitle: 爱乐之城——影评\ndate: 2019-07-21 21:17:19\nurlname: lalaland-film\ntags: [影视]\ncategories: 摘录\n\n---\n\n![ ](https://github.com/maiernte/img/raw/master/collection/lalaland.jpg)\n\n\n\n我在凌晨三点醒来的夜里,想起已失去的你,曾经说着永远一起,现在却不再联系。如果当时的我们能少一些固执,是否会有更好的结局。\n\n洛杉矶,华纳兄弟电影厂旁边的咖啡馆,明星来往不息。一身素雅的米娅是这里的收银员。她的梦想就是成为一个知名演员及编剧。所以她经常请假去试镜,跑遍大大小小的片场。虽然每次她都充满希望,但现实却是四处碰壁。这天,又一次遭受打击的米娅垂头丧气回到家中。洗去一身疲态后,她站在镜子面前暗自神伤哼起歌来 。这时室友火急火燎的出现,邀请她一起去参加派对。本来心情极度郁闷的米娅不想去凑热闹。经不住一帮二货室友的游说,精心打扮一番后她们就出发了。\n\n洛杉矶的月色下,灯红酒绿,觥筹交错。但热闹是属于他们的,安静下来后她却感到愈加落寞。人潮中充斥着过剩的荷尔蒙,但却没有她想要的一双眼睛。世界瞬息万变,她却岿然不动。逃离狂欢派对后,违规停放的车子又被拖走。米娅只能走路回家,在安静的街头上。忽然一阵悠扬的钢琴声传来,如梦似幻,温润缠绵。米娅停下脚步,来到了一个毫不起眼的地下酒吧。一个优雅的男人坐在无人注意的角落里安静的弹奏着。此刻,全世界好像都暗了下来,只有他闪着耀眼的光芒。男人名叫塞巴斯汀,是一个爵士乐钢琴师。他对音乐有着自己独特的追求,不愿弹奏靡靡之音。可一曲弹罢,没有人为他鼓掌,他也被老板炒了鱿鱼。塞巴斯汀愤愤的离开,米娅鼓起勇气迎面走过去,想要认识这个让她着迷的男人。但一句话还没说完,男人就径直的走开了。米娅扑了个空,尴尬的站在那里不知所措。\n\n生活依然按部就班,米娅依然忙着追逐她的梦想。一次派对上,米娅又遇上了塞巴斯汀。他加入了一个爵士乐队,但他们的演奏依旧没人捧场。为了惩罚这个「严肃」的音乐人,也为了报复上次给她造成的尴尬,米娅点了一首非常不严肃的音乐,她甚至随着音乐舞动起来。而塞巴斯汀却站在那里既尴尬又无奈。米娅的行为让塞巴斯汀想起了那晚的无礼。他向米娅道了歉,两人算是相识了。聚会结束后,米娅又找不到车子,于是两人在夜色下散步。洛杉矶的夜色此刻显得如此迷人,在暧昧的氛围中,他们默契地跳着属于他们的舞蹈。\n\n第二天塞巴斯汀来到米娅工作的咖啡店,下班后他们一起在片场附近的街头闲聊,塞巴斯汀鼓励米娅给自己写剧本,而不是去演别人的剧本。自己给自己创造角色,说不定会有意想不到的效果。米娅也向塞巴斯汀坦白说,她讨厌爵士乐。于是固执的塞巴斯汀就带米娅来到一个演奏爵士乐的酒吧,他试图改变米娅对爵士乐的看法,向她解释爵士乐的起源。然而米娅还是不能理解,对音乐有执念的塞巴斯汀表示,他不想让爵士乐就此消亡,他想要创建自己的俱乐部,在那里只有纯粹的爵士乐,那是他一直以来的梦想。\n\n这天又一次试镜失败的米娅心情沮丧,经过电影院门口时,她想起和塞巴斯汀的电影院之约。顿时心情变得愉悦,这时几个月不见一次的男友却来接她一起吃饭。餐桌上米娅心不在焉,男友却把她晾在一边,自顾自的和哥哥聊天。而在电影院门口的塞巴斯汀焦急的等着米娅,此时餐厅传来了熟悉的曲子,那个夜晚塞巴斯汀弹奏的正是这首曲子。米娅随即起身跑了出去,穿过色彩缤纷的霓虹灯,她找到了失落的塞巴斯汀,此时的两个人根本无心观看电影。他们指尖轻触,随后十指紧扣,接着互相靠近……但灯光却忽然打开,两人无奈的相视一笑。之后米娅带着塞巴斯汀来到天文馆,他们在浪漫的氛围中翩翩起舞,魅惑的蓝色星空下,两人仿佛和整个宇宙融为一体。\n\n金风玉露终于相逢,热恋之吻甘之如饴。随后两人一边热恋,一边为各自的梦想努力。他们一起旅行、一起恶作剧,他们走遍大街小巷,他弹琴、她跳舞,在塞巴斯汀的影响下,米娅渐渐喜欢上了爵士乐。这天早上,塞巴斯汀无意中听到了米娅和她母亲的通话。米娅的母亲对她们的未来很担忧,因为塞巴斯汀没有稳定的工作。寥寥几句话,就将塞巴斯汀从梦中拉回现实。他接受了前乐队主唱的邀请,成为了他们的键盘手。但这就意味着塞巴斯汀必须放弃自己的坚持,跟着乐队的风格走。晚上回家的米娅,听到塞巴斯汀的琴声,感受到了他失落的情绪。无需过多的话语,米娅和着琴声唱着歌,这种默契让他们心照不宣。就这样两人互相鼓励,互相安慰,塞巴斯汀的乐队开始走红。米娅也陆陆续续接到了一些大大小小的角色。看着梦想之门慢慢打开,他们也变得越来越忙碌。乐队巡演时,米娅站在台下看着万众瞩目的塞巴斯汀,喧闹的人群,闪烁的灯光,流行的爵士乐,一切看起来都那么美好……台上的男人意气风发、星光闪耀,米娅却觉得和他有了距离。晚上回到家的米娅得到了一个大大的惊喜。忙碌的他们很久都没有见面了,塞巴斯汀明天一早又要离开,他想要让米娅跟他一起,米娅却问他喜不喜欢现在弹奏的音乐?但此时的塞巴斯汀已经尝到了名利带来的甜头,他放弃了曾经的梦想,也放弃了曾经的坚持。他以为这些是米娅想要的:稳定的生活,不菲的收入,以及聚少离多的爱情。他说以前那些梦想太虚无缥缈,现在他需要成熟起来。最后激动的塞巴斯汀对米娅说,你喜欢以前不堪的我,是因为相比而言,那会让你感觉自我良好。这句伤人的话使得他们关系僵化,接着米娅一声不响的离开。第二天在给乐队拍宣传片的时候,摄影师让塞巴斯汀随便弹,于是他弹起了熟悉的曲子,接着他似乎想起了什么……再一次试镜被嘲笑后,米娅心情降至冰点。她准备返回老家,这个城市再没什么值得她留恋,梦想也好,爱人也罢,终究只是一场梦。面对挽留的塞巴斯汀,她再也无法忍受,哭着说她受够了。米娅回到了自己的家,塞巴斯汀也回到了乐队。\n\n一段时间后,塞巴斯汀出现在了米娅家门口。一个知名导演正在选角,试镜电话打给了塞巴斯汀,在塞巴斯汀的鼓励下,米娅鼓起勇气决定再试一次。导演让米娅随便讲一个故事,于是她用歌声讲述了自己的梦想。面试过后,他们来到天文馆门口,一起谈论着对未来的打算。他说你的梦想一定会实现的。秋天的洛杉矶,纯净而理性。他们的感情在这里开始,也在这里结束……\n\n五年后米娅成了知名演员,实现了自己的梦想。她事业有成,结婚生子,生活安稳,家庭美满。晚上米娅和丈夫遭遇堵车,路边散步时发现了一个酒吧。热闹的气氛吸引了米娅的注意,这正是当年塞巴斯汀带她去的酒吧。米娅发现酒吧的名字是她多年前为塞巴斯汀取的。这里只有纯粹的爵士乐,塞巴斯汀的梦想就是拥有这样一个地方。落坐以后,塞巴斯汀看到了台下的米娅,沉默片刻后,他弹起了那首熟悉的音乐。\n***\n*就像最初他们相见时那样,他们忘记了全世界。那个夜晚,那次初见,时间仿佛从未流逝。但这次不等她说完一句话,他就热烈的吻上了她唇。他毫无顾忌,她毫无防备,他们痴迷于彼此的味道。他们翩翩起舞,一路走向梦想,走进热恋,相互陪伴,相互成全,一起成长,一起狂欢。然后携手走进那片星空。他眼神温柔,她身姿婀娜。他们打造着自己的小窝,享受着二人世界。爱的结晶来到他们身边,放佛那些美好是和他一起度过的。直到今天这个夜晚,他们始终如一,此志不渝。*\n\n___\n曲终之后,她被拉回现实,然后和丈夫一起离开。在拐角处她转身,回头,两人遥遥相望,然后互相报以微笑。时隔经年,若我遇见你,我该如何与你致意?以眼泪,以沉默!\n\n我一同学特别喜欢这部电影,我知道那是因为她在电影中看到了自己。她的挚爱,七年长跑,可终究还是没能走到一起。或许这就是所谓的「在别人的故事里,流着自己的眼泪」。你是否也在无人的深夜,想起某个人,然后哭着醒来。看着周围的一切,熟悉又陌生,那个藏在心里的人啊,此时你身在哪里?可知有人还在深爱着你。虽然思念依然刻骨铭心,但你们之间却只剩下曾经。最怕的莫过于,在寂静无声的日子里,莫名其妙的,突然听懂了一首歌,只是你听到的不再是歌曲,而是人生。\n\n**「初识不知曲中意,再听已是曲中人」**……就像是做了一场梦,醒来之时万籁俱寂,物是人非事事休,欲语泪先流……年少时我们总想给最爱的TA更多,却忽略了TA最想要的只是真实的你。后来的我们什么都有了,但却没了我们。我还是我,你还是你,我们却不再是我们。……于是你只能在某个深夜,听着歌,流着泪,然后默默的在心里对那个人说,今夜,我不关心世界,今夜,我只想你。\n\n","slug":"摘录/爱乐之城——影评","published":1,"updated":"2019-08-14T06:31:50.000Z","_id":"cka1y596d000s4huu6s41uv14","comments":1,"layout":"post","photos":[],"link":"","content":"
\n \n我在凌晨三点醒来的夜里,想起已失去的你,曾经说着永远一起,现在却不再联系。如果当时的我们能少一些固执,是否会有更好的结局。
\n洛杉矶,华纳兄弟电影厂旁边的咖啡馆,明星来往不息。一身素雅的米娅是这里的收银员。她的梦想就是成为一个知名演员及编剧。所以她经常请假去试镜,跑遍大大小小的片场。虽然每次她都充满希望,但现实却是四处碰壁。这天,又一次遭受打击的米娅垂头丧气回到家中。洗去一身疲态后,她站在镜子面前暗自神伤哼起歌来 。这时室友火急火燎的出现,邀请她一起去参加派对。本来心情极度郁闷的米娅不想去凑热闹。经不住一帮二货室友的游说,精心打扮一番后她们就出发了。
\n洛杉矶的月色下,灯红酒绿,觥筹交错。但热闹是属于他们的,安静下来后她却感到愈加落寞。人潮中充斥着过剩的荷尔蒙,但却没有她想要的一双眼睛。世界瞬息万变,她却岿然不动。逃离狂欢派对后,违规停放的车子又被拖走。米娅只能走路回家,在安静的街头上。忽然一阵悠扬的钢琴声传来,如梦似幻,温润缠绵。米娅停下脚步,来到了一个毫不起眼的地下酒吧。一个优雅的男人坐在无人注意的角落里安静的弹奏着。此刻,全世界好像都暗了下来,只有他闪着耀眼的光芒。男人名叫塞巴斯汀,是一个爵士乐钢琴师。他对音乐有着自己独特的追求,不愿弹奏靡靡之音。可一曲弹罢,没有人为他鼓掌,他也被老板炒了鱿鱼。塞巴斯汀愤愤的离开,米娅鼓起勇气迎面走过去,想要认识这个让她着迷的男人。但一句话还没说完,男人就径直的走开了。米娅扑了个空,尴尬的站在那里不知所措。
\n生活依然按部就班,米娅依然忙着追逐她的梦想。一次派对上,米娅又遇上了塞巴斯汀。他加入了一个爵士乐队,但他们的演奏依旧没人捧场。为了惩罚这个「严肃」的音乐人,也为了报复上次给她造成的尴尬,米娅点了一首非常不严肃的音乐,她甚至随着音乐舞动起来。而塞巴斯汀却站在那里既尴尬又无奈。米娅的行为让塞巴斯汀想起了那晚的无礼。他向米娅道了歉,两人算是相识了。聚会结束后,米娅又找不到车子,于是两人在夜色下散步。洛杉矶的夜色此刻显得如此迷人,在暧昧的氛围中,他们默契地跳着属于他们的舞蹈。
\n第二天塞巴斯汀来到米娅工作的咖啡店,下班后他们一起在片场附近的街头闲聊,塞巴斯汀鼓励米娅给自己写剧本,而不是去演别人的剧本。自己给自己创造角色,说不定会有意想不到的效果。米娅也向塞巴斯汀坦白说,她讨厌爵士乐。于是固执的塞巴斯汀就带米娅来到一个演奏爵士乐的酒吧,他试图改变米娅对爵士乐的看法,向她解释爵士乐的起源。然而米娅还是不能理解,对音乐有执念的塞巴斯汀表示,他不想让爵士乐就此消亡,他想要创建自己的俱乐部,在那里只有纯粹的爵士乐,那是他一直以来的梦想。
\n这天又一次试镜失败的米娅心情沮丧,经过电影院门口时,她想起和塞巴斯汀的电影院之约。顿时心情变得愉悦,这时几个月不见一次的男友却来接她一起吃饭。餐桌上米娅心不在焉,男友却把她晾在一边,自顾自的和哥哥聊天。而在电影院门口的塞巴斯汀焦急的等着米娅,此时餐厅传来了熟悉的曲子,那个夜晚塞巴斯汀弹奏的正是这首曲子。米娅随即起身跑了出去,穿过色彩缤纷的霓虹灯,她找到了失落的塞巴斯汀,此时的两个人根本无心观看电影。他们指尖轻触,随后十指紧扣,接着互相靠近……但灯光却忽然打开,两人无奈的相视一笑。之后米娅带着塞巴斯汀来到天文馆,他们在浪漫的氛围中翩翩起舞,魅惑的蓝色星空下,两人仿佛和整个宇宙融为一体。
\n金风玉露终于相逢,热恋之吻甘之如饴。随后两人一边热恋,一边为各自的梦想努力。他们一起旅行、一起恶作剧,他们走遍大街小巷,他弹琴、她跳舞,在塞巴斯汀的影响下,米娅渐渐喜欢上了爵士乐。这天早上,塞巴斯汀无意中听到了米娅和她母亲的通话。米娅的母亲对她们的未来很担忧,因为塞巴斯汀没有稳定的工作。寥寥几句话,就将塞巴斯汀从梦中拉回现实。他接受了前乐队主唱的邀请,成为了他们的键盘手。但这就意味着塞巴斯汀必须放弃自己的坚持,跟着乐队的风格走。晚上回家的米娅,听到塞巴斯汀的琴声,感受到了他失落的情绪。无需过多的话语,米娅和着琴声唱着歌,这种默契让他们心照不宣。就这样两人互相鼓励,互相安慰,塞巴斯汀的乐队开始走红。米娅也陆陆续续接到了一些大大小小的角色。看着梦想之门慢慢打开,他们也变得越来越忙碌。乐队巡演时,米娅站在台下看着万众瞩目的塞巴斯汀,喧闹的人群,闪烁的灯光,流行的爵士乐,一切看起来都那么美好……台上的男人意气风发、星光闪耀,米娅却觉得和他有了距离。晚上回到家的米娅得到了一个大大的惊喜。忙碌的他们很久都没有见面了,塞巴斯汀明天一早又要离开,他想要让米娅跟他一起,米娅却问他喜不喜欢现在弹奏的音乐?但此时的塞巴斯汀已经尝到了名利带来的甜头,他放弃了曾经的梦想,也放弃了曾经的坚持。他以为这些是米娅想要的:稳定的生活,不菲的收入,以及聚少离多的爱情。他说以前那些梦想太虚无缥缈,现在他需要成熟起来。最后激动的塞巴斯汀对米娅说,你喜欢以前不堪的我,是因为相比而言,那会让你感觉自我良好。这句伤人的话使得他们关系僵化,接着米娅一声不响的离开。第二天在给乐队拍宣传片的时候,摄影师让塞巴斯汀随便弹,于是他弹起了熟悉的曲子,接着他似乎想起了什么……再一次试镜被嘲笑后,米娅心情降至冰点。她准备返回老家,这个城市再没什么值得她留恋,梦想也好,爱人也罢,终究只是一场梦。面对挽留的塞巴斯汀,她再也无法忍受,哭着说她受够了。米娅回到了自己的家,塞巴斯汀也回到了乐队。
\n一段时间后,塞巴斯汀出现在了米娅家门口。一个知名导演正在选角,试镜电话打给了塞巴斯汀,在塞巴斯汀的鼓励下,米娅鼓起勇气决定再试一次。导演让米娅随便讲一个故事,于是她用歌声讲述了自己的梦想。面试过后,他们来到天文馆门口,一起谈论着对未来的打算。他说你的梦想一定会实现的。秋天的洛杉矶,纯净而理性。他们的感情在这里开始,也在这里结束……
\n五年后米娅成了知名演员,实现了自己的梦想。她事业有成,结婚生子,生活安稳,家庭美满。晚上米娅和丈夫遭遇堵车,路边散步时发现了一个酒吧。热闹的气氛吸引了米娅的注意,这正是当年塞巴斯汀带她去的酒吧。米娅发现酒吧的名字是她多年前为塞巴斯汀取的。这里只有纯粹的爵士乐,塞巴斯汀的梦想就是拥有这样一个地方。落坐以后,塞巴斯汀看到了台下的米娅,沉默片刻后,他弹起了那首熟悉的音乐。
\n \n就像最初他们相见时那样,他们忘记了全世界。那个夜晚,那次初见,时间仿佛从未流逝。但这次不等她说完一句话,他就热烈的吻上了她唇。他毫无顾忌,她毫无防备,他们痴迷于彼此的味道。他们翩翩起舞,一路走向梦想,走进热恋,相互陪伴,相互成全,一起成长,一起狂欢。然后携手走进那片星空。他眼神温柔,她身姿婀娜。他们打造着自己的小窝,享受着二人世界。爱的结晶来到他们身边,放佛那些美好是和他一起度过的。直到今天这个夜晚,他们始终如一,此志不渝。
\n \n曲终之后,她被拉回现实,然后和丈夫一起离开。在拐角处她转身,回头,两人遥遥相望,然后互相报以微笑。时隔经年,若我遇见你,我该如何与你致意?以眼泪,以沉默!
\n我一同学特别喜欢这部电影,我知道那是因为她在电影中看到了自己。她的挚爱,七年长跑,可终究还是没能走到一起。或许这就是所谓的「在别人的故事里,流着自己的眼泪」。你是否也在无人的深夜,想起某个人,然后哭着醒来。看着周围的一切,熟悉又陌生,那个藏在心里的人啊,此时你身在哪里?可知有人还在深爱着你。虽然思念依然刻骨铭心,但你们之间却只剩下曾经。最怕的莫过于,在寂静无声的日子里,莫名其妙的,突然听懂了一首歌,只是你听到的不再是歌曲,而是人生。
\n「初识不知曲中意,再听已是曲中人」 ……就像是做了一场梦,醒来之时万籁俱寂,物是人非事事休,欲语泪先流……年少时我们总想给最爱的TA更多,却忽略了TA最想要的只是真实的你。后来的我们什么都有了,但却没了我们。我还是我,你还是你,我们却不再是我们。……于是你只能在某个深夜,听着歌,流着泪,然后默默的在心里对那个人说,今夜,我不关心世界,今夜,我只想你。
\n","site":{"data":{}},"excerpt":"
","more":"我在凌晨三点醒来的夜里,想起已失去的你,曾经说着永远一起,现在却不再联系。如果当时的我们能少一些固执,是否会有更好的结局。
\n洛杉矶,华纳兄弟电影厂旁边的咖啡馆,明星来往不息。一身素雅的米娅是这里的收银员。她的梦想就是成为一个知名演员及编剧。所以她经常请假去试镜,跑遍大大小小的片场。虽然每次她都充满希望,但现实却是四处碰壁。这天,又一次遭受打击的米娅垂头丧气回到家中。洗去一身疲态后,她站在镜子面前暗自神伤哼起歌来 。这时室友火急火燎的出现,邀请她一起去参加派对。本来心情极度郁闷的米娅不想去凑热闹。经不住一帮二货室友的游说,精心打扮一番后她们就出发了。
\n洛杉矶的月色下,灯红酒绿,觥筹交错。但热闹是属于他们的,安静下来后她却感到愈加落寞。人潮中充斥着过剩的荷尔蒙,但却没有她想要的一双眼睛。世界瞬息万变,她却岿然不动。逃离狂欢派对后,违规停放的车子又被拖走。米娅只能走路回家,在安静的街头上。忽然一阵悠扬的钢琴声传来,如梦似幻,温润缠绵。米娅停下脚步,来到了一个毫不起眼的地下酒吧。一个优雅的男人坐在无人注意的角落里安静的弹奏着。此刻,全世界好像都暗了下来,只有他闪着耀眼的光芒。男人名叫塞巴斯汀,是一个爵士乐钢琴师。他对音乐有着自己独特的追求,不愿弹奏靡靡之音。可一曲弹罢,没有人为他鼓掌,他也被老板炒了鱿鱼。塞巴斯汀愤愤的离开,米娅鼓起勇气迎面走过去,想要认识这个让她着迷的男人。但一句话还没说完,男人就径直的走开了。米娅扑了个空,尴尬的站在那里不知所措。
\n生活依然按部就班,米娅依然忙着追逐她的梦想。一次派对上,米娅又遇上了塞巴斯汀。他加入了一个爵士乐队,但他们的演奏依旧没人捧场。为了惩罚这个「严肃」的音乐人,也为了报复上次给她造成的尴尬,米娅点了一首非常不严肃的音乐,她甚至随着音乐舞动起来。而塞巴斯汀却站在那里既尴尬又无奈。米娅的行为让塞巴斯汀想起了那晚的无礼。他向米娅道了歉,两人算是相识了。聚会结束后,米娅又找不到车子,于是两人在夜色下散步。洛杉矶的夜色此刻显得如此迷人,在暧昧的氛围中,他们默契地跳着属于他们的舞蹈。
\n第二天塞巴斯汀来到米娅工作的咖啡店,下班后他们一起在片场附近的街头闲聊,塞巴斯汀鼓励米娅给自己写剧本,而不是去演别人的剧本。自己给自己创造角色,说不定会有意想不到的效果。米娅也向塞巴斯汀坦白说,她讨厌爵士乐。于是固执的塞巴斯汀就带米娅来到一个演奏爵士乐的酒吧,他试图改变米娅对爵士乐的看法,向她解释爵士乐的起源。然而米娅还是不能理解,对音乐有执念的塞巴斯汀表示,他不想让爵士乐就此消亡,他想要创建自己的俱乐部,在那里只有纯粹的爵士乐,那是他一直以来的梦想。
\n这天又一次试镜失败的米娅心情沮丧,经过电影院门口时,她想起和塞巴斯汀的电影院之约。顿时心情变得愉悦,这时几个月不见一次的男友却来接她一起吃饭。餐桌上米娅心不在焉,男友却把她晾在一边,自顾自的和哥哥聊天。而在电影院门口的塞巴斯汀焦急的等着米娅,此时餐厅传来了熟悉的曲子,那个夜晚塞巴斯汀弹奏的正是这首曲子。米娅随即起身跑了出去,穿过色彩缤纷的霓虹灯,她找到了失落的塞巴斯汀,此时的两个人根本无心观看电影。他们指尖轻触,随后十指紧扣,接着互相靠近……但灯光却忽然打开,两人无奈的相视一笑。之后米娅带着塞巴斯汀来到天文馆,他们在浪漫的氛围中翩翩起舞,魅惑的蓝色星空下,两人仿佛和整个宇宙融为一体。
\n金风玉露终于相逢,热恋之吻甘之如饴。随后两人一边热恋,一边为各自的梦想努力。他们一起旅行、一起恶作剧,他们走遍大街小巷,他弹琴、她跳舞,在塞巴斯汀的影响下,米娅渐渐喜欢上了爵士乐。这天早上,塞巴斯汀无意中听到了米娅和她母亲的通话。米娅的母亲对她们的未来很担忧,因为塞巴斯汀没有稳定的工作。寥寥几句话,就将塞巴斯汀从梦中拉回现实。他接受了前乐队主唱的邀请,成为了他们的键盘手。但这就意味着塞巴斯汀必须放弃自己的坚持,跟着乐队的风格走。晚上回家的米娅,听到塞巴斯汀的琴声,感受到了他失落的情绪。无需过多的话语,米娅和着琴声唱着歌,这种默契让他们心照不宣。就这样两人互相鼓励,互相安慰,塞巴斯汀的乐队开始走红。米娅也陆陆续续接到了一些大大小小的角色。看着梦想之门慢慢打开,他们也变得越来越忙碌。乐队巡演时,米娅站在台下看着万众瞩目的塞巴斯汀,喧闹的人群,闪烁的灯光,流行的爵士乐,一切看起来都那么美好……台上的男人意气风发、星光闪耀,米娅却觉得和他有了距离。晚上回到家的米娅得到了一个大大的惊喜。忙碌的他们很久都没有见面了,塞巴斯汀明天一早又要离开,他想要让米娅跟他一起,米娅却问他喜不喜欢现在弹奏的音乐?但此时的塞巴斯汀已经尝到了名利带来的甜头,他放弃了曾经的梦想,也放弃了曾经的坚持。他以为这些是米娅想要的:稳定的生活,不菲的收入,以及聚少离多的爱情。他说以前那些梦想太虚无缥缈,现在他需要成熟起来。最后激动的塞巴斯汀对米娅说,你喜欢以前不堪的我,是因为相比而言,那会让你感觉自我良好。这句伤人的话使得他们关系僵化,接着米娅一声不响的离开。第二天在给乐队拍宣传片的时候,摄影师让塞巴斯汀随便弹,于是他弹起了熟悉的曲子,接着他似乎想起了什么……再一次试镜被嘲笑后,米娅心情降至冰点。她准备返回老家,这个城市再没什么值得她留恋,梦想也好,爱人也罢,终究只是一场梦。面对挽留的塞巴斯汀,她再也无法忍受,哭着说她受够了。米娅回到了自己的家,塞巴斯汀也回到了乐队。
\n一段时间后,塞巴斯汀出现在了米娅家门口。一个知名导演正在选角,试镜电话打给了塞巴斯汀,在塞巴斯汀的鼓励下,米娅鼓起勇气决定再试一次。导演让米娅随便讲一个故事,于是她用歌声讲述了自己的梦想。面试过后,他们来到天文馆门口,一起谈论着对未来的打算。他说你的梦想一定会实现的。秋天的洛杉矶,纯净而理性。他们的感情在这里开始,也在这里结束……
\n五年后米娅成了知名演员,实现了自己的梦想。她事业有成,结婚生子,生活安稳,家庭美满。晚上米娅和丈夫遭遇堵车,路边散步时发现了一个酒吧。热闹的气氛吸引了米娅的注意,这正是当年塞巴斯汀带她去的酒吧。米娅发现酒吧的名字是她多年前为塞巴斯汀取的。这里只有纯粹的爵士乐,塞巴斯汀的梦想就是拥有这样一个地方。落坐以后,塞巴斯汀看到了台下的米娅,沉默片刻后,他弹起了那首熟悉的音乐。
\n \n就像最初他们相见时那样,他们忘记了全世界。那个夜晚,那次初见,时间仿佛从未流逝。但这次不等她说完一句话,他就热烈的吻上了她唇。他毫无顾忌,她毫无防备,他们痴迷于彼此的味道。他们翩翩起舞,一路走向梦想,走进热恋,相互陪伴,相互成全,一起成长,一起狂欢。然后携手走进那片星空。他眼神温柔,她身姿婀娜。他们打造着自己的小窝,享受着二人世界。爱的结晶来到他们身边,放佛那些美好是和他一起度过的。直到今天这个夜晚,他们始终如一,此志不渝。
\n \n曲终之后,她被拉回现实,然后和丈夫一起离开。在拐角处她转身,回头,两人遥遥相望,然后互相报以微笑。时隔经年,若我遇见你,我该如何与你致意?以眼泪,以沉默!
\n我一同学特别喜欢这部电影,我知道那是因为她在电影中看到了自己。她的挚爱,七年长跑,可终究还是没能走到一起。或许这就是所谓的「在别人的故事里,流着自己的眼泪」。你是否也在无人的深夜,想起某个人,然后哭着醒来。看着周围的一切,熟悉又陌生,那个藏在心里的人啊,此时你身在哪里?可知有人还在深爱着你。虽然思念依然刻骨铭心,但你们之间却只剩下曾经。最怕的莫过于,在寂静无声的日子里,莫名其妙的,突然听懂了一首歌,只是你听到的不再是歌曲,而是人生。
\n「初识不知曲中意,再听已是曲中人」 ……就像是做了一场梦,醒来之时万籁俱寂,物是人非事事休,欲语泪先流……年少时我们总想给最爱的TA更多,却忽略了TA最想要的只是真实的你。后来的我们什么都有了,但却没了我们。我还是我,你还是你,我们却不再是我们。……于是你只能在某个深夜,听着歌,流着泪,然后默默的在心里对那个人说,今夜,我不关心世界,今夜,我只想你。
"},{"title":"财富自由之路-李笑来","date":"2019-07-21T07:05:22.000Z","urlname":"road-to-asset-freedom","toc":true,"contentpw":123456,"_content":"\n\n![图片来自七牛](https://github.com/maiernte/img/raw/master/collection/photo.jpg)\n\n\n\n\n\n进度:10课\n\n# 哲学层面\n\n## 金钱、时间、注意力\n\n钱不是最重要,它可以再生。时间也不是,它本质上不属于你,你只能试着与它做朋友。注意力是自己可以做主的。**必须把宝贵的注意力全部放在自己身上**。放在自己的哪儿上?答:“**成长**”。不珍惜自己注意力的人最终注定是贫穷的,因为他们终生被收割,不可能有真正有价值的产出,怎么可能最终变得富有?另外,要放在自己的**真爱**上,以及对整个社会真正**有贡献**的事情上。(对于后两者,关注的焦点还是“成长”。)\n\n\n\n注意力才是你人生最宝贵的财富(不是金钱和时间),你的一切价值都是你的注意力的产出。\n\n> 俗三个大坑:1. 莫名其妙的凑热闹。2. 心急火燎的随大流。3. 操碎了别人的心 (*万众创业关你屁事,干好自己的活*)。\n\n\n\n金钱、时间和注意力的比较:$ 注意力 > 时间 > 金钱 $\n\n- 凡是可以用钱买的其实都是便宜的。\n\n- 凡是能用钱买来的时间就是便宜的。\n\n- 凡是能用时间换来的注意力持续就是有价值的。\n\n\n\n:question: 时间和金钱谁更重要。\n\n> 答案是`时间`。因为财富自由的定义就是“*不为生活需要出售时间*”。另外一个角度是,“*花钱买你的时间更划算*”。\n\n\n\n:question: 注意力和时间更重要。\n\n> 注意力是能让你有所产出的唯一资源!而时间不一定是你的,时间不会自动产出。(李笑来: 花大量时间与老婆沟通,陪伴,以便换来自己集中注意力工作的机会。)\n\n\n\n## 合作与信任\n\n追求百分百的***安全感***,肯定会把自己困在了永恒的当下。必须放弃一部分安全感,才能有深入的、长期的观察和思考。打破枷锁的方法:\n\n1. 放弃部分安全感,才能获得进步。\n2. 通过有效社交,补全主动放弃的安全感。\n\n\n\n:bookmark:【**合作**】 的本质是大家各自放弃一小部分安全感,并把那一部分安全感交给合作方来保障。\n\n:bookmark: 【**信任**】就是相信对方不会利用自己主动放弃的那一部分安全感。所谓缺乏安全感,就是不相信别人竟然可以不利用自己放弃的那一部分安全感,所以只能自己去搞定百分之百的安全感,让人心力交瘁。\n\n\n\n- 不要与缺乏安全感的人合作。尤其是婚姻。\n- 最大的勇敢,就是在孑然一身的时候,还勇于放弃部分安全感。“大智若愚”,大智更像是结果。若愚才是原因。\n- 将军赶路不打小鬼。\n\n\n\n## 活在真实中\n\n如果想活在真实的世界,就要勇于面对「真实」。要搞清楚以下几个概念。\n\n\n\n### 什么算落后\n\n1. 20%之后都是落后,因为世界20%的人占了有限资源的80%。在人工智能和新技术时代,可能1%之后都算落后。将来可能是千分之一,万分之一之后都算。\n\n2. 我们每个人都已经可以尽量感知到这个世界的全部。所以要对自己是否处在落后状态有清晰认知。\n\n3. 我们对知识的渴求已经变成害怕落后。这是种危机感和焦虑,但它能帮我们持续进步,摆脱落后。\n\n\n\n**乌比冈湖效应**:Lake Wobegon Effect 每个人都自认高于平均水平。\n\n**邓宁- 克鲁格效应** :Dunning-Kruger Effect 能力欠缺的人有一种虚幻的自我优越感,错误的认为自己比真实情况更加优秀。\n\n **麻烦守恒定律**:以前因为怕麻烦二省去的麻烦,在未来的某一天,或者未来的某一时刻,一定会以另一种形式呈现在你面前。麻烦不会无缘无故的消失,问题也不会无缘无故的解决。\n\n\n\n### 元认知能力\n\n:pencil:**指对自己的思考过程的认知和理解**。\n\n元认知能力起作用的三个步骤:\n\n1. 哦,原来我是这么想的。\n2. 嗯?我这么想难道是不对的吗?\n3. 啊!我应该这么想才对。。。。\n\n认知能力好比是马,而元认知能力是马车夫。所谓可以用来解放自己的“心智”,指的就是具备足够的元认知能力的大脑。人与人之间的技能差异,证据确凿来自于“刻意锻炼”。而一个人能做到“刻意锻炼”,唯一能够仰仗的就是元认知能力。\n\n- 元认知能力是一个人可拥有的最重要的能力。\n- 元认知能力不仅可以习得,还可以通过刻意训练长期持续发展。\n\n\n\n我们知道我们想要改变的,能够改变的,不是“现在的自己”,而是“将来的自己”。通过刻意练习提高元认知能力的三个方法:坐享、兴趣、反思。\n\n- **坐享**:可以增加大脑皮层的沟回。\n\n- **兴趣**:兴趣是最好的教学。\n\n- **反思**:每天花十分钟反思一下自己的思路和思考结果,琢磨一下自己想法有没有逻辑错误。不仅是元认知能力的刻意训练方式,也是调整情绪的根本。\n\n\n\n## 竞争力\n\n### 多维竞争\n\n😂 据说绝大多数人的幸福感是建立在比较之上的。有个玩笑:所谓的幸福就是自己的收入总比妹夫的收入多百分之二十。。。。。\n\n😂 一般人所谓的“成长”,就是不断的把别人比下去的过程。\n\n\n\n维度在生活上有三个体现:\n\n1. 生活是有多个维度的。\n2. 在多个维度打造竞争力。\n3. 至少在一个维度上足够突出。凡事都是有成本。处处平庸是不行的。\n\n\n\n面对维度,要有以下意识:\n\n- 单个维度,大家比的是长度,两个维度上大家比的是面积,三个维度上大家比的是体积。\n- 每次跨界,都是给自己拓展一个新的维度。\n- 对新知识保持开放态度。\n\n\n\n\n\n# 应用层面\n\n## 「活在未来」\n\n如何活在未来\n\n1. 对未来要有个预测\n2. 那个预测需要时间才能得到结果\n3. 笃信你的预测是正确的。\n4. 于是你按照那个预测的结果行动、选择、思考。\n5. 你终将走到那个结果出现的时刻\n6. 最终证明你的预测是正确的。\n7. 那么,由于你提前按未来正确的结果行动、选择、思考,于是,在相当长的时间里,你生活的一部分就是“活在未来”。\n\n## 人际关系的本质\n\n人际关系在本质上还是**交易**。明白这一点,就能更清楚的看清楚关于**贵人**的问题。 \n\n$ 求助别人 != 麻烦别人 $ \n\n求助不是低声下气的行为,而是一种交易。不仅如此,还是一种隐蔽的、`意义巨大的交易`。贵人之所以原因帮助你,是因为他已经看到你的价值。分清楚“求助”、“乞讨”、“添麻烦”、“占便宜”之间的区别。\n\n能够遇到贵人在一定程度上是偶然也是必然,它是自己生活的一面镜子。你是贵人,生活这面镜子就帮你找到更多的贵人。至于是偶然还是必然,其实你是控制不了的。自己首先得是个贵人,才能遇到贵人,甚至更多贵人。最不济,你也已经成为自己的贵人,而且不会轻易离你而去。“遇到贵人”这件事从来不是我们的目的,相反“成为贵人”倒是我们应该努力的方向。在你出手相助的那一瞬间,你已经得到了自然的回报。\n\n\n\n12条遇到贵人的原则:\n\n1. 乐观的人更容易成为他人的贵人\n2. 贵人更容易遇到贵人\n3. 能帮助他人进步,才是真正的贵人\n4. 优秀的、值得尊重的人,更容易获得帮助。\n5. 乐于分享的人容易获得帮助\n6. 不给他人制造负担的人容易获得帮助\n7. 不以求助为耻的人容易获得帮助\n8. 求助的时候不仅仅用金钱作为回报,帮助他人的时候也不应该收取金钱回报。\n9. 贵人不一定是牛人,贵人通常“以和为贵”。\n10. 很多时候,人们的成功,来源于大量的人**希望看到他成功**。反过来,如果大量的人不愿意看到某人成功,那么这个人真的很难获得所谓的“贵人相助”\n11. 正在做“正确”事情,更容易获得贵人相助。也就是所谓的“**得道多助**”。\n12. 活在未来的人更容易遇到贵人,因为别人能在他身上看到**未来**。\n\n\n\n\n\n## 资本的定义\n\n钱和资本不是一样的东西,正如砖头和房子不是一回事。钱要成为资本必须满足三个基本要素:\n\n1. 资金的金额大小\n2. 资金的使用时限\n3. 资金背后的智慧\n\n\n\n残酷的事实,大多数人其实不配站在资本之后。好消息是资本背后的实力是可以习得的。不能被自己心平气和判上无期徒刑的资金,就别假装资本出来混迹江湖。大多数人在股票市场上“投资”的不是资本,而是“装傻充愣的资金”而已。\n\n\n\n\n\n# 暂时不知道往哪里分\n\n- 好的工具应该让人离开它,而不是黏住它。\n- 你创造财富能力取决于你能给别人创造多少真正的价值。(只有你觉得有价值的话,是几乎没有什么意义的)。\n\n\n\n\n\n\n\n财富自由之路 - 思维导图 ([看全景导图请点击链接](uploads/road-to-asset-freedom-mindmap.html))\n\n","source":"_posts/读书笔记/财富自由之路-李笑来.md","raw":"---\ntitle: 财富自由之路-李笑来\ndate: 2019-07-21 09:05:22\nurlname: road-to-asset-freedom\ntoc: true\ncontentpw: 123456\ntags: [成长, 经济]\ncategories: 读书笔记\n\n---\n\n\n![图片来自七牛](https://github.com/maiernte/img/raw/master/collection/photo.jpg)\n\n\n\n\n\n进度:10课\n\n# 哲学层面\n\n## 金钱、时间、注意力\n\n钱不是最重要,它可以再生。时间也不是,它本质上不属于你,你只能试着与它做朋友。注意力是自己可以做主的。**必须把宝贵的注意力全部放在自己身上**。放在自己的哪儿上?答:“**成长**”。不珍惜自己注意力的人最终注定是贫穷的,因为他们终生被收割,不可能有真正有价值的产出,怎么可能最终变得富有?另外,要放在自己的**真爱**上,以及对整个社会真正**有贡献**的事情上。(对于后两者,关注的焦点还是“成长”。)\n\n\n\n注意力才是你人生最宝贵的财富(不是金钱和时间),你的一切价值都是你的注意力的产出。\n\n> 俗三个大坑:1. 莫名其妙的凑热闹。2. 心急火燎的随大流。3. 操碎了别人的心 (*万众创业关你屁事,干好自己的活*)。\n\n\n\n金钱、时间和注意力的比较:$ 注意力 > 时间 > 金钱 $\n\n- 凡是可以用钱买的其实都是便宜的。\n\n- 凡是能用钱买来的时间就是便宜的。\n\n- 凡是能用时间换来的注意力持续就是有价值的。\n\n\n\n:question: 时间和金钱谁更重要。\n\n> 答案是`时间`。因为财富自由的定义就是“*不为生活需要出售时间*”。另外一个角度是,“*花钱买你的时间更划算*”。\n\n\n\n:question: 注意力和时间更重要。\n\n> 注意力是能让你有所产出的唯一资源!而时间不一定是你的,时间不会自动产出。(李笑来: 花大量时间与老婆沟通,陪伴,以便换来自己集中注意力工作的机会。)\n\n\n\n## 合作与信任\n\n追求百分百的***安全感***,肯定会把自己困在了永恒的当下。必须放弃一部分安全感,才能有深入的、长期的观察和思考。打破枷锁的方法:\n\n1. 放弃部分安全感,才能获得进步。\n2. 通过有效社交,补全主动放弃的安全感。\n\n\n\n:bookmark:【**合作**】 的本质是大家各自放弃一小部分安全感,并把那一部分安全感交给合作方来保障。\n\n:bookmark: 【**信任**】就是相信对方不会利用自己主动放弃的那一部分安全感。所谓缺乏安全感,就是不相信别人竟然可以不利用自己放弃的那一部分安全感,所以只能自己去搞定百分之百的安全感,让人心力交瘁。\n\n\n\n- 不要与缺乏安全感的人合作。尤其是婚姻。\n- 最大的勇敢,就是在孑然一身的时候,还勇于放弃部分安全感。“大智若愚”,大智更像是结果。若愚才是原因。\n- 将军赶路不打小鬼。\n\n\n\n## 活在真实中\n\n如果想活在真实的世界,就要勇于面对「真实」。要搞清楚以下几个概念。\n\n\n\n### 什么算落后\n\n1. 20%之后都是落后,因为世界20%的人占了有限资源的80%。在人工智能和新技术时代,可能1%之后都算落后。将来可能是千分之一,万分之一之后都算。\n\n2. 我们每个人都已经可以尽量感知到这个世界的全部。所以要对自己是否处在落后状态有清晰认知。\n\n3. 我们对知识的渴求已经变成害怕落后。这是种危机感和焦虑,但它能帮我们持续进步,摆脱落后。\n\n\n\n**乌比冈湖效应**:Lake Wobegon Effect 每个人都自认高于平均水平。\n\n**邓宁- 克鲁格效应** :Dunning-Kruger Effect 能力欠缺的人有一种虚幻的自我优越感,错误的认为自己比真实情况更加优秀。\n\n **麻烦守恒定律**:以前因为怕麻烦二省去的麻烦,在未来的某一天,或者未来的某一时刻,一定会以另一种形式呈现在你面前。麻烦不会无缘无故的消失,问题也不会无缘无故的解决。\n\n\n\n### 元认知能力\n\n:pencil:**指对自己的思考过程的认知和理解**。\n\n元认知能力起作用的三个步骤:\n\n1. 哦,原来我是这么想的。\n2. 嗯?我这么想难道是不对的吗?\n3. 啊!我应该这么想才对。。。。\n\n认知能力好比是马,而元认知能力是马车夫。所谓可以用来解放自己的“心智”,指的就是具备足够的元认知能力的大脑。人与人之间的技能差异,证据确凿来自于“刻意锻炼”。而一个人能做到“刻意锻炼”,唯一能够仰仗的就是元认知能力。\n\n- 元认知能力是一个人可拥有的最重要的能力。\n- 元认知能力不仅可以习得,还可以通过刻意训练长期持续发展。\n\n\n\n我们知道我们想要改变的,能够改变的,不是“现在的自己”,而是“将来的自己”。通过刻意练习提高元认知能力的三个方法:坐享、兴趣、反思。\n\n- **坐享**:可以增加大脑皮层的沟回。\n\n- **兴趣**:兴趣是最好的教学。\n\n- **反思**:每天花十分钟反思一下自己的思路和思考结果,琢磨一下自己想法有没有逻辑错误。不仅是元认知能力的刻意训练方式,也是调整情绪的根本。\n\n\n\n## 竞争力\n\n### 多维竞争\n\n😂 据说绝大多数人的幸福感是建立在比较之上的。有个玩笑:所谓的幸福就是自己的收入总比妹夫的收入多百分之二十。。。。。\n\n😂 一般人所谓的“成长”,就是不断的把别人比下去的过程。\n\n\n\n维度在生活上有三个体现:\n\n1. 生活是有多个维度的。\n2. 在多个维度打造竞争力。\n3. 至少在一个维度上足够突出。凡事都是有成本。处处平庸是不行的。\n\n\n\n面对维度,要有以下意识:\n\n- 单个维度,大家比的是长度,两个维度上大家比的是面积,三个维度上大家比的是体积。\n- 每次跨界,都是给自己拓展一个新的维度。\n- 对新知识保持开放态度。\n\n\n\n\n\n# 应用层面\n\n## 「活在未来」\n\n如何活在未来\n\n1. 对未来要有个预测\n2. 那个预测需要时间才能得到结果\n3. 笃信你的预测是正确的。\n4. 于是你按照那个预测的结果行动、选择、思考。\n5. 你终将走到那个结果出现的时刻\n6. 最终证明你的预测是正确的。\n7. 那么,由于你提前按未来正确的结果行动、选择、思考,于是,在相当长的时间里,你生活的一部分就是“活在未来”。\n\n## 人际关系的本质\n\n人际关系在本质上还是**交易**。明白这一点,就能更清楚的看清楚关于**贵人**的问题。 \n\n$ 求助别人 != 麻烦别人 $ \n\n求助不是低声下气的行为,而是一种交易。不仅如此,还是一种隐蔽的、`意义巨大的交易`。贵人之所以原因帮助你,是因为他已经看到你的价值。分清楚“求助”、“乞讨”、“添麻烦”、“占便宜”之间的区别。\n\n能够遇到贵人在一定程度上是偶然也是必然,它是自己生活的一面镜子。你是贵人,生活这面镜子就帮你找到更多的贵人。至于是偶然还是必然,其实你是控制不了的。自己首先得是个贵人,才能遇到贵人,甚至更多贵人。最不济,你也已经成为自己的贵人,而且不会轻易离你而去。“遇到贵人”这件事从来不是我们的目的,相反“成为贵人”倒是我们应该努力的方向。在你出手相助的那一瞬间,你已经得到了自然的回报。\n\n\n\n12条遇到贵人的原则:\n\n1. 乐观的人更容易成为他人的贵人\n2. 贵人更容易遇到贵人\n3. 能帮助他人进步,才是真正的贵人\n4. 优秀的、值得尊重的人,更容易获得帮助。\n5. 乐于分享的人容易获得帮助\n6. 不给他人制造负担的人容易获得帮助\n7. 不以求助为耻的人容易获得帮助\n8. 求助的时候不仅仅用金钱作为回报,帮助他人的时候也不应该收取金钱回报。\n9. 贵人不一定是牛人,贵人通常“以和为贵”。\n10. 很多时候,人们的成功,来源于大量的人**希望看到他成功**。反过来,如果大量的人不愿意看到某人成功,那么这个人真的很难获得所谓的“贵人相助”\n11. 正在做“正确”事情,更容易获得贵人相助。也就是所谓的“**得道多助**”。\n12. 活在未来的人更容易遇到贵人,因为别人能在他身上看到**未来**。\n\n\n\n\n\n## 资本的定义\n\n钱和资本不是一样的东西,正如砖头和房子不是一回事。钱要成为资本必须满足三个基本要素:\n\n1. 资金的金额大小\n2. 资金的使用时限\n3. 资金背后的智慧\n\n\n\n残酷的事实,大多数人其实不配站在资本之后。好消息是资本背后的实力是可以习得的。不能被自己心平气和判上无期徒刑的资金,就别假装资本出来混迹江湖。大多数人在股票市场上“投资”的不是资本,而是“装傻充愣的资金”而已。\n\n\n\n\n\n# 暂时不知道往哪里分\n\n- 好的工具应该让人离开它,而不是黏住它。\n- 你创造财富能力取决于你能给别人创造多少真正的价值。(只有你觉得有价值的话,是几乎没有什么意义的)。\n\n\n\n\n\n\n\n财富自由之路 - 思维导图 ([看全景导图请点击链接](uploads/road-to-asset-freedom-mindmap.html))\n\n","slug":"读书笔记/财富自由之路-李笑来","published":1,"updated":"2019-08-14T06:36:09.000Z","_id":"cka1y596e000t4huuu6ed1frz","comments":1,"layout":"post","photos":[],"link":"","content":"进度:10课
\n哲学层面 \n金钱、时间、注意力 \n钱不是最重要,它可以再生。时间也不是,它本质上不属于你,你只能试着与它做朋友。注意力是自己可以做主的。必须把宝贵的注意力全部放在自己身上 。放在自己的哪儿上?答:“成长 ”。不珍惜自己注意力的人最终注定是贫穷的,因为他们终生被收割,不可能有真正有价值的产出,怎么可能最终变得富有?另外,要放在自己的真爱 上,以及对整个社会真正有贡献 的事情上。(对于后两者,关注的焦点还是“成长”。)
\n注意力才是你人生最宝贵的财富(不是金钱和时间),你的一切价值都是你的注意力的产出。
\n\n俗三个大坑:1. 莫名其妙的凑热闹。2. 心急火燎的随大流。3. 操碎了别人的心 (万众创业关你屁事,干好自己的活 )。
\n \n金钱、时间和注意力的比较:$ 注意力 > 时间 > 金钱 $
\n\n\n凡是可以用钱买的其实都是便宜的。
\n \n\n凡是能用钱买来的时间就是便宜的。
\n \n\n凡是能用时间换来的注意力持续就是有价值的。
\n \n \n:question: 时间和金钱谁更重要。
\n\n答案是时间
。因为财富自由的定义就是“不为生活需要出售时间 ”。另外一个角度是,“花钱买你的时间更划算 ”。
\n \n:question: 注意力和时间更重要。
\n\n注意力是能让你有所产出的唯一资源!而时间不一定是你的,时间不会自动产出。(李笑来: 花大量时间与老婆沟通,陪伴,以便换来自己集中注意力工作的机会。)
\n \n合作与信任 \n追求百分百的安全感 ,肯定会把自己困在了永恒的当下。必须放弃一部分安全感,才能有深入的、长期的观察和思考。打破枷锁的方法:
\n\n放弃部分安全感,才能获得进步。 \n通过有效社交,补全主动放弃的安全感。 \n \n:bookmark:【合作 】 的本质是大家各自放弃一小部分安全感,并把那一部分安全感交给合作方来保障。
\n:bookmark: 【信任 】就是相信对方不会利用自己主动放弃的那一部分安全感。所谓缺乏安全感,就是不相信别人竟然可以不利用自己放弃的那一部分安全感,所以只能自己去搞定百分之百的安全感,让人心力交瘁。
\n\n不要与缺乏安全感的人合作。尤其是婚姻。 \n最大的勇敢,就是在孑然一身的时候,还勇于放弃部分安全感。“大智若愚”,大智更像是结果。若愚才是原因。 \n将军赶路不打小鬼。 \n \n活在真实中 \n如果想活在真实的世界,就要勇于面对「真实」。要搞清楚以下几个概念。
\n什么算落后 \n\n\n20%之后都是落后,因为世界20%的人占了有限资源的80%。在人工智能和新技术时代,可能1%之后都算落后。将来可能是千分之一,万分之一之后都算。
\n \n\n我们每个人都已经可以尽量感知到这个世界的全部。所以要对自己是否处在落后状态有清晰认知。
\n \n\n我们对知识的渴求已经变成害怕落后。这是种危机感和焦虑,但它能帮我们持续进步,摆脱落后。
\n \n \n乌比冈湖效应 :Lake Wobegon Effect 每个人都自认高于平均水平。
\n邓宁- 克鲁格效应 :Dunning-Kruger Effect 能力欠缺的人有一种虚幻的自我优越感,错误的认为自己比真实情况更加优秀。
\n麻烦守恒定律 :以前因为怕麻烦二省去的麻烦,在未来的某一天,或者未来的某一时刻,一定会以另一种形式呈现在你面前。麻烦不会无缘无故的消失,问题也不会无缘无故的解决。
\n元认知能力 \n:pencil:指对自己的思考过程的认知和理解 。
\n元认知能力起作用的三个步骤:
\n\n哦,原来我是这么想的。 \n嗯?我这么想难道是不对的吗? \n啊!我应该这么想才对。。。。 \n \n认知能力好比是马,而元认知能力是马车夫。所谓可以用来解放自己的“心智”,指的就是具备足够的元认知能力的大脑。人与人之间的技能差异,证据确凿来自于“刻意锻炼”。而一个人能做到“刻意锻炼”,唯一能够仰仗的就是元认知能力。
\n\n元认知能力是一个人可拥有的最重要的能力。 \n元认知能力不仅可以习得,还可以通过刻意训练长期持续发展。 \n \n我们知道我们想要改变的,能够改变的,不是“现在的自己”,而是“将来的自己”。通过刻意练习提高元认知能力的三个方法:坐享、兴趣、反思。
\n\n竞争力 \n多维竞争 \n😂 据说绝大多数人的幸福感是建立在比较之上的。有个玩笑:所谓的幸福就是自己的收入总比妹夫的收入多百分之二十。。。。。
\n😂 一般人所谓的“成长”,就是不断的把别人比下去的过程。
\n维度在生活上有三个体现:
\n\n生活是有多个维度的。 \n在多个维度打造竞争力。 \n至少在一个维度上足够突出。凡事都是有成本。处处平庸是不行的。 \n \n面对维度,要有以下意识:
\n\n单个维度,大家比的是长度,两个维度上大家比的是面积,三个维度上大家比的是体积。 \n每次跨界,都是给自己拓展一个新的维度。 \n对新知识保持开放态度。 \n \n应用层面 \n「活在未来」 \n如何活在未来
\n\n对未来要有个预测 \n那个预测需要时间才能得到结果 \n笃信你的预测是正确的。 \n于是你按照那个预测的结果行动、选择、思考。 \n你终将走到那个结果出现的时刻 \n最终证明你的预测是正确的。 \n那么,由于你提前按未来正确的结果行动、选择、思考,于是,在相当长的时间里,你生活的一部分就是“活在未来”。 \n \n人际关系的本质 \n人际关系在本质上还是交易 。明白这一点,就能更清楚的看清楚关于贵人 的问题。
\n$ 求助别人 != 麻烦别人 $
\n求助不是低声下气的行为,而是一种交易。不仅如此,还是一种隐蔽的、意义巨大的交易
。贵人之所以原因帮助你,是因为他已经看到你的价值。分清楚“求助”、“乞讨”、“添麻烦”、“占便宜”之间的区别。
\n能够遇到贵人在一定程度上是偶然也是必然,它是自己生活的一面镜子。你是贵人,生活这面镜子就帮你找到更多的贵人。至于是偶然还是必然,其实你是控制不了的。自己首先得是个贵人,才能遇到贵人,甚至更多贵人。最不济,你也已经成为自己的贵人,而且不会轻易离你而去。“遇到贵人”这件事从来不是我们的目的,相反“成为贵人”倒是我们应该努力的方向。在你出手相助的那一瞬间,你已经得到了自然的回报。
\n12条遇到贵人的原则:
\n\n乐观的人更容易成为他人的贵人 \n贵人更容易遇到贵人 \n能帮助他人进步,才是真正的贵人 \n优秀的、值得尊重的人,更容易获得帮助。 \n乐于分享的人容易获得帮助 \n不给他人制造负担的人容易获得帮助 \n不以求助为耻的人容易获得帮助 \n求助的时候不仅仅用金钱作为回报,帮助他人的时候也不应该收取金钱回报。 \n贵人不一定是牛人,贵人通常“以和为贵”。 \n很多时候,人们的成功,来源于大量的人希望看到他成功 。反过来,如果大量的人不愿意看到某人成功,那么这个人真的很难获得所谓的“贵人相助” \n正在做“正确”事情,更容易获得贵人相助。也就是所谓的“得道多助 ”。 \n活在未来的人更容易遇到贵人,因为别人能在他身上看到未来 。 \n \n资本的定义 \n钱和资本不是一样的东西,正如砖头和房子不是一回事。钱要成为资本必须满足三个基本要素:
\n\n资金的金额大小 \n资金的使用时限 \n资金背后的智慧 \n \n残酷的事实,大多数人其实不配站在资本之后。好消息是资本背后的实力是可以习得的。不能被自己心平气和判上无期徒刑的资金,就别假装资本出来混迹江湖。大多数人在股票市场上“投资”的不是资本,而是“装傻充愣的资金”而已。
\n暂时不知道往哪里分 \n\n好的工具应该让人离开它,而不是黏住它。 \n你创造财富能力取决于你能给别人创造多少真正的价值。(只有你觉得有价值的话,是几乎没有什么意义的)。 \n \n财富自由之路 - 思维导图 (看全景导图请点击链接 )
\n","site":{"data":{}},"excerpt":"
","more":"进度:10课
\n哲学层面 \n金钱、时间、注意力 \n钱不是最重要,它可以再生。时间也不是,它本质上不属于你,你只能试着与它做朋友。注意力是自己可以做主的。必须把宝贵的注意力全部放在自己身上 。放在自己的哪儿上?答:“成长 ”。不珍惜自己注意力的人最终注定是贫穷的,因为他们终生被收割,不可能有真正有价值的产出,怎么可能最终变得富有?另外,要放在自己的真爱 上,以及对整个社会真正有贡献 的事情上。(对于后两者,关注的焦点还是“成长”。)
\n注意力才是你人生最宝贵的财富(不是金钱和时间),你的一切价值都是你的注意力的产出。
\n\n俗三个大坑:1. 莫名其妙的凑热闹。2. 心急火燎的随大流。3. 操碎了别人的心 (万众创业关你屁事,干好自己的活 )。
\n \n金钱、时间和注意力的比较:$ 注意力 > 时间 > 金钱 $
\n\n\n凡是可以用钱买的其实都是便宜的。
\n \n\n凡是能用钱买来的时间就是便宜的。
\n \n\n凡是能用时间换来的注意力持续就是有价值的。
\n \n \n:question: 时间和金钱谁更重要。
\n\n答案是时间
。因为财富自由的定义就是“不为生活需要出售时间 ”。另外一个角度是,“花钱买你的时间更划算 ”。
\n \n:question: 注意力和时间更重要。
\n\n注意力是能让你有所产出的唯一资源!而时间不一定是你的,时间不会自动产出。(李笑来: 花大量时间与老婆沟通,陪伴,以便换来自己集中注意力工作的机会。)
\n \n合作与信任 \n追求百分百的安全感 ,肯定会把自己困在了永恒的当下。必须放弃一部分安全感,才能有深入的、长期的观察和思考。打破枷锁的方法:
\n\n放弃部分安全感,才能获得进步。 \n通过有效社交,补全主动放弃的安全感。 \n \n:bookmark:【合作 】 的本质是大家各自放弃一小部分安全感,并把那一部分安全感交给合作方来保障。
\n:bookmark: 【信任 】就是相信对方不会利用自己主动放弃的那一部分安全感。所谓缺乏安全感,就是不相信别人竟然可以不利用自己放弃的那一部分安全感,所以只能自己去搞定百分之百的安全感,让人心力交瘁。
\n\n不要与缺乏安全感的人合作。尤其是婚姻。 \n最大的勇敢,就是在孑然一身的时候,还勇于放弃部分安全感。“大智若愚”,大智更像是结果。若愚才是原因。 \n将军赶路不打小鬼。 \n \n活在真实中 \n如果想活在真实的世界,就要勇于面对「真实」。要搞清楚以下几个概念。
\n什么算落后 \n\n\n20%之后都是落后,因为世界20%的人占了有限资源的80%。在人工智能和新技术时代,可能1%之后都算落后。将来可能是千分之一,万分之一之后都算。
\n \n\n我们每个人都已经可以尽量感知到这个世界的全部。所以要对自己是否处在落后状态有清晰认知。
\n \n\n我们对知识的渴求已经变成害怕落后。这是种危机感和焦虑,但它能帮我们持续进步,摆脱落后。
\n \n \n乌比冈湖效应 :Lake Wobegon Effect 每个人都自认高于平均水平。
\n邓宁- 克鲁格效应 :Dunning-Kruger Effect 能力欠缺的人有一种虚幻的自我优越感,错误的认为自己比真实情况更加优秀。
\n麻烦守恒定律 :以前因为怕麻烦二省去的麻烦,在未来的某一天,或者未来的某一时刻,一定会以另一种形式呈现在你面前。麻烦不会无缘无故的消失,问题也不会无缘无故的解决。
\n元认知能力 \n:pencil:指对自己的思考过程的认知和理解 。
\n元认知能力起作用的三个步骤:
\n\n哦,原来我是这么想的。 \n嗯?我这么想难道是不对的吗? \n啊!我应该这么想才对。。。。 \n \n认知能力好比是马,而元认知能力是马车夫。所谓可以用来解放自己的“心智”,指的就是具备足够的元认知能力的大脑。人与人之间的技能差异,证据确凿来自于“刻意锻炼”。而一个人能做到“刻意锻炼”,唯一能够仰仗的就是元认知能力。
\n\n元认知能力是一个人可拥有的最重要的能力。 \n元认知能力不仅可以习得,还可以通过刻意训练长期持续发展。 \n \n我们知道我们想要改变的,能够改变的,不是“现在的自己”,而是“将来的自己”。通过刻意练习提高元认知能力的三个方法:坐享、兴趣、反思。
\n\n竞争力 \n多维竞争 \n😂 据说绝大多数人的幸福感是建立在比较之上的。有个玩笑:所谓的幸福就是自己的收入总比妹夫的收入多百分之二十。。。。。
\n😂 一般人所谓的“成长”,就是不断的把别人比下去的过程。
\n维度在生活上有三个体现:
\n\n生活是有多个维度的。 \n在多个维度打造竞争力。 \n至少在一个维度上足够突出。凡事都是有成本。处处平庸是不行的。 \n \n面对维度,要有以下意识:
\n\n单个维度,大家比的是长度,两个维度上大家比的是面积,三个维度上大家比的是体积。 \n每次跨界,都是给自己拓展一个新的维度。 \n对新知识保持开放态度。 \n \n应用层面 \n「活在未来」 \n如何活在未来
\n\n对未来要有个预测 \n那个预测需要时间才能得到结果 \n笃信你的预测是正确的。 \n于是你按照那个预测的结果行动、选择、思考。 \n你终将走到那个结果出现的时刻 \n最终证明你的预测是正确的。 \n那么,由于你提前按未来正确的结果行动、选择、思考,于是,在相当长的时间里,你生活的一部分就是“活在未来”。 \n \n人际关系的本质 \n人际关系在本质上还是交易 。明白这一点,就能更清楚的看清楚关于贵人 的问题。
\n$ 求助别人 != 麻烦别人 $
\n求助不是低声下气的行为,而是一种交易。不仅如此,还是一种隐蔽的、意义巨大的交易
。贵人之所以原因帮助你,是因为他已经看到你的价值。分清楚“求助”、“乞讨”、“添麻烦”、“占便宜”之间的区别。
\n能够遇到贵人在一定程度上是偶然也是必然,它是自己生活的一面镜子。你是贵人,生活这面镜子就帮你找到更多的贵人。至于是偶然还是必然,其实你是控制不了的。自己首先得是个贵人,才能遇到贵人,甚至更多贵人。最不济,你也已经成为自己的贵人,而且不会轻易离你而去。“遇到贵人”这件事从来不是我们的目的,相反“成为贵人”倒是我们应该努力的方向。在你出手相助的那一瞬间,你已经得到了自然的回报。
\n12条遇到贵人的原则:
\n\n乐观的人更容易成为他人的贵人 \n贵人更容易遇到贵人 \n能帮助他人进步,才是真正的贵人 \n优秀的、值得尊重的人,更容易获得帮助。 \n乐于分享的人容易获得帮助 \n不给他人制造负担的人容易获得帮助 \n不以求助为耻的人容易获得帮助 \n求助的时候不仅仅用金钱作为回报,帮助他人的时候也不应该收取金钱回报。 \n贵人不一定是牛人,贵人通常“以和为贵”。 \n很多时候,人们的成功,来源于大量的人希望看到他成功 。反过来,如果大量的人不愿意看到某人成功,那么这个人真的很难获得所谓的“贵人相助” \n正在做“正确”事情,更容易获得贵人相助。也就是所谓的“得道多助 ”。 \n活在未来的人更容易遇到贵人,因为别人能在他身上看到未来 。 \n \n资本的定义 \n钱和资本不是一样的东西,正如砖头和房子不是一回事。钱要成为资本必须满足三个基本要素:
\n\n资金的金额大小 \n资金的使用时限 \n资金背后的智慧 \n \n残酷的事实,大多数人其实不配站在资本之后。好消息是资本背后的实力是可以习得的。不能被自己心平气和判上无期徒刑的资金,就别假装资本出来混迹江湖。大多数人在股票市场上“投资”的不是资本,而是“装傻充愣的资金”而已。
\n暂时不知道往哪里分 \n\n好的工具应该让人离开它,而不是黏住它。 \n你创造财富能力取决于你能给别人创造多少真正的价值。(只有你觉得有价值的话,是几乎没有什么意义的)。 \n \n财富自由之路 - 思维导图 (看全景导图请点击链接 )
\n "},{"title":"斯多葛主义手册","date":"2019-08-03T19:16:47.000Z","urlname":"storic-summary","toc":true,"_content":"\n\n\n![](https://github.com/maiernte/img/raw/master/collection/马可奥勒留.jpg)\n\n世间的事,有些可控,有些不可控。可控的有:观点,追求,欲望,和喜恶等。这些都是我们自己可以做出选择的。不可控的是身体,财物,名声,指令等。这些我们都无法选择。\n\n\n\n1. 世间的事,有些可控,有些不可控。可控的有:观点,追求,欲望,和喜恶等。这些都是我们自己可以做出选择的。不可控的是身体,财物,名声,指令等。这些我们都无法选择。\n\n 可控范围之内的东西在本质上是自由的,不被束缚、阻碍的。那些不可控的是虚的,是被奴役的,是我们受控于他人。记住,如果你觉得那些不可控的事物是自由的,那些受控于别人的也是你的,那么你就会被控制,被束缚。你会悲痛,你会受扰,你会指责神以及他人。但如果你只专注于你所能控制的,不被他人所拥有的干扰,那么就没有人能够影响你、束缚你。并且,你不会把过错推在他人身上。你不会去做违背你的意志的事。你不会有敌人。你也不会被伤害。\n\n 把这些当做你的目标,不让自己受那些没有意义的事诱惑,哪怕就一点点也不可以。放弃那些不可控的。如果你既想把握住可控的,又想拥有财富和权力,那么你将会什么都得不到,更不用说幸福和自由-因为幸福和自由是依赖于可控事物。\n\n 尽你最大的努力。这样你就可以对看似艰难的每一件事说:“你只不过是看起来艰难而已。” 然后比照你为自己制定的原则:这件事是否可控。如果在你控制范围之外,那么结果就无关乎于你。\n\n2. 欲望要求你去追求你想要的;厌恶则让你尽量避免你所讨厌的。但是,如果你得不到你想要的,你就会十分失望;如果你无法避免你所讨厌的,那你就会被厌恶扭曲。那么,如果你只讨厌那些在你出自本质所做选择的对立事物(即在你控制范围内你不会选择的事物),那么你就永远不需要去为之伤神。但是,如果你厌恶疾病、死亡、贫穷等你无法选择和改变的,那你就会被厌恶扭曲。不厌恶你所不能控制的,把厌恶限制在和你本性对立的事物。但是,就目前来说,压制你的欲望:因为如果你追求任何可控范围之外的事物,那你就必然会失望。不要轻易追求或者厌恶。\n\n3. 对于给你带来乐趣、有用处以及你十分喜欢的东西,从最不重要的事情开始,记得提醒你自己:他们真正的本质是什么。比如说,你很喜欢某个陶瓷杯,提醒你自己那只是因为你喜欢陶瓷杯而已,而不在于具体是哪个杯子。这样,如果杯子碎了,你也不会太伤心。当你亲吻你的家人时,提醒你自己你只是在亲吻和你亲近的人,这样当他们离世时,你就不会太难过。\n\n4. 当你做事情时,提醒你自己事情的本质是什么,你可能遇到哪些情况。比如说洗澡。在你洗澡之前,先想想洗澡时会发生哪些事情。有的人可能会把水溅得哪都是,有人可能会推娜,有人会诅咒,有人会偷东西。这样你在洗澡之前就可以跟自己说:“我现在要去洗澡了,任何这些事都有可能发生,但是这不是我能控制的,所以我会保持好的心态”。如果你以同样的心态去对待任何其他事情,你内心的平和就不会被打扰。因为你可以对自己说:”我希望的不仅仅是洗澡,还有不被任何意外困扰”。\n\n5. 人内心困扰时,通常不是被事物本身困扰,而是被他们自己的原则和概念所困扰。比如说,死亡本身并不可怕,要不然苏格拉底面临死亡时该有多么惊慌。我们对死亡的恐惧是源于我们对死亡的概念:死亡是可怕的。当我们被困扰、阻碍,伤心难过时,我们不要从事物本身或者他人身上找原因,而应该反省我们自己,还有我们的原则。一个还不通明的人,会把自己的糟糕情况怪罪于他人。一个刚刚开始学习处理这些情况的人,会从自己身上找原因。而一个已经通彻的人,既不会怪罪别人,也不会苛求自己。\n\n6. 不要为任何身外之物骄傲。一匹马可以因为自己的英爽豪气自豪,因为这是它本身拥有的。但是如果你因为拥有这样一匹马儿骄傲,事实上,你所自豪的,不过是马所拥有的好。那么,什么才是属于你的呢?你对事物的反应和态度。如果你对任何事物的形态的处之泰然,那么你就可以为你的理性自豪,因为这是属于你的。\n\n7. 想象以下情况:在一次航海旅行中,你的船抛锚靠岸了,你上岸去找水,途中你还捡了些你喜欢的贝壳,或者买个洋葱。但是,你的所有注意力必须一直集中在那艘船上,注意船长什么时候呼叫大家上船继续航行。当船长呼叫时,你必须立刻放下手中所有的东西,否则你就会被手脚捆绑得像只羊一样抛到船上。生活也是这样。生活给你老婆孩子,而不是洋葱贝壳。如果生活的船长呼叫了,你必须离开他们,立马跑到船上,而不是光顾着他们。如果你年纪大了,那你就不能离开船太远,否则你可能来不及回到船上。\n\n8. 不要苛求生活给予你所有你想要的,该发生的就会发生,随遇而安就好。\n\n9. 疾病影响的只是你的身体,而不是你选择的能力,除非那是你的选择。瘸的是腿,而不是你的脑子。不管发生什么事,只要这么跟自己说,你就会明白困难阻碍的是事物,而不是你。\n\n10. 对于每一件发生的事,检视你自己的能力,问你自己能够用哪些能力从每一件事情中获得什么适当的用处。遇到一个十分有吸引力的人时,你就会发现你的自控就是你的能力。当你痛苦时,你会发现自己的坚强。听到坏话时,你会发现自己的耐心。形成了这样的习惯之后,你就不会被事物的表象所影响。\n\n11. 不要说:“我失去了什么”。而应该说:“我归还了什么”。如果你的孩子或者妻子不幸离世了,你不是失去他们了,而是他们回归了。如果你的房子被夺走了,同样的,你是归还它们了。你可能会说:“可是那些夺走我房子的人是坏人!“。可是,给予你的人让谁来夺走你的房子真的那么重要吗?当你拥有时,照顾好它,但不要把它当做永久财物,就当自己是一个在那暂住的旅行者。\n\n12. 如果你想要提高自己,那就要拒绝以下思考方式:“如果我忽视那些琐事,那我就没有收入;如果我不更正我的仆人,那他们就会变坏”。 如果能够免于悲伤和恐惧,即使死于饥饿,那也比富得流油但备受精神困扰好得多。比起坏仆人,难道你的开心不是更重要吗?\n\n 如果你想要让自己变得更好,那就从小事做起。油洒了,酒被偷了,没关系,告诉你自己:“那只不过是平静生活的一点点代价。任何事情都是有代价的”。当你召集你的仆人时,他们可能不会来,也可能来了但是做的事情不合你意。但是他们并没有重要得以至于你必须打破自己的平静。\n\n13. 如果你想要让自己变得更好,那就不要在乎被人认为你是愚蠢的。不要希望别人认为你无所不知。即使你看上去好像对别人来说很重要,也不要被这种虚名欺骗。因为想要既保持内心平和又拥有外在事物是非常困难的。当你专注于二者之一时,你必然会忽略剩下的那个。\n\n14. 如果你希望你的家人、朋友长生不老,那是很愚蠢的想法。因为生死是在你控制范围之外的,是关乎他人的。同样地,如果你希望你的仆人不犯错,那你和傻瓜无异,因为你希望错误不是错误。但是,如果你希望你的欲望不带来失望,那是在你所能控制的范围之内的。练习控制你所能控制的。一个能够控制自己的喜恶的人,是自己生活的主人。这样的人,是真正自由的,不会成为被自己的欲望控制的奴隶,不会喜欢或者厌恶那些受别人控制的事物。\n\n15. 记住生活就像是一个晚餐聚会一样。如果别人递给你一盘食物,你应该伸出手去接,舀起适当份量给自己。如果盘子从你身边递过,不要试图去截取。如果还没轮到你这,不要起身去拿,而是等着别人递到你面前。用相同的态度对待孩子,配偶,财物,公共职位,这样你最终自然就会成为诸神宴会的搭档。如果你不仅能够做到这些,还能够做到不去拿你面前的食物,甚至是有能力拒绝你自己的欲望,这样你不仅仅能够成为诸神宴会的搭档,你还能进入他们的国度,成为为他们的一员。像Diogenes, Heraclitus这些人就是因为他们的尊贵行为而被视为神一般神圣。\n\n16. 当你看到别人因为孩子出国了,或者离世了,或者因为被琐事困扰而哭泣伤心时,不要让这些情感表象误导你。你必须作出自己的判断,明白他的伤心难过不是因为发生的事情本身,因为其他同样身处其中的人并没有受到同样的影响。他之所以受到那么大的困扰,是因为他自己本身对事情的判断。不要让自己和他一样受影响,不要让自己一样受困扰,不管是外在表现还是内心感受上。\n\n17. 记住你只是一出戏里的一个演员,而戏份角色并不是由你决定的。不管角色故事长短,不管你是一个穷人,瘸子,政府官员,或者是一个很私密的人,把你的角色演好演自然了就行。把分配给你的角色演好,那是你的本分;而到底是哪个角色,那不是由你决定的。\n\n18. 如果一只乌鸦向你预示不幸的事即将发生,不要让你内心的平静被这个表象破坏。要即刻告诉自己,“我不知道会发生什么,我不知道我的身体,财物,名声,或者家人会受什么影响,如果我愿意理性地去想,那么所有的这些恶兆就会变成幸运,因为我可以控制我要用什么态度去对待这些事情。不管发生什么,我都可以从中获得对我有利的。\n\n19. 如果你不去参与在你控制范围之外的任何战斗,那你就不会被打败。当你看到那些声名显赫,社会地位高,或者在任何方面做得很好的人,不要着急认为他们是开心的。因为如果我们清楚明白幸福只在于我们所能够控制的范围内,那我们就不会去羡慕或者攀比。不要向往头衔,而是要向往内心自由和平静。而要做到这一点,唯一的途径是要看轻我们控制范围之外的一切事物。\n\n20. 记住,那些对你出言不逊或者动手的人他本身并不是一种羞辱,而是代表那些言行的原则让你感觉到被羞辱。如果有人激怒你了,那是你对这种行为的观点激怒了你。试着不要被事情的表象牵引你的情感。给予适当的时间和稍作休息,你就能够很好地调整控制自己的情感。\n\n21. 把死亡和流放这些看似可怕的事看作是日常,那你就赢了。不用害怕贫穷,也不要刻意贪求任何东西。\n\n22. 如果你真心希望从哲学中获益,那么就要做好被众人嘲笑的准备:“她这是准备要成为一个哲学家呢”,“瞧她那傲慢的样子”……这个时候,你该做的,不是摆起傲慢的样子,而是要以神圣的态度忠诚于你所认定的,这样总有一天嘲笑你的人会开始尊敬你崇拜你。但是如果你被这些嘲笑打败,那你就成了双重的笑话。\n\n23. 如果你为了取悦他人而把你的注意力转移到那些外在的你无法控制的事物上,那么恭喜你,你已经成功地毁了你自己的生活了。\n\n24. 不要让以下这些思考方式困扰你:“我将会颜面丢尽,而且什么都不是。”耻辱是邪恶的,我们不应该被耻辱感所控制。因为获取权力或着被人嘲笑,这些都在你的控制范围之外。我们不用为任何在我们控制范围之外的事而感到耻辱。在我们可控范围之内,我们是自由的,能够左右我们自己的事情,是自我的主人-从这个角度看,我们永远不会什么都不是。“可是我帮不了我的朋友啊”,你可能会这么说。可是,怎么算是帮助朋友呢?你不能给他们钱,或者帮他们成为罗马市民。这些都是你所能控制范围之内的,是他们自己应该处理的事情。而且,如果这些都是你自己所没有的,那你怎么能够给他们呢?你可能会说:“如果我帮助他们获得这些的话,说不定我也能够得到一份呢“。如果我能够在保存我自己的尊严,忠诚和思想得到这些的话,请你帮我指明道路。可是如果你要我损害自己去得到你的利益,那这样的做法不仅不公平,而且愚蠢至极。\n\n25. 如果别人,而不是你,被邀请去宴会,或者被赞美,或者被别人咨询,不要懊恼。如果这些是好事,你应该为他人高兴。如果是坏事,不要难过。记住:这些都是在你的控制范围之外的,这样的对待一般是有对应的代价的。如果你不愿意付出这样的代价而希望得到同样的对待,那是不公平的。比如说别人用50分买了一棵生菜,但是你不想花这50分,那你就不应该认为拥有生菜的人占了便宜。那个人付出50分得到了生菜,而你口袋里还有那没有花出去的50分。同理,宴会邀请,别人的赞美,这些都是有代价的。如果你觉得这些对你是有价值的,那你就要付出同等的价值去拥有。如果你不付出就想要得到这些,那么你就是个贪得无厌的傻瓜。换个角度想,在决定不和别人交换价值的时候,你真的什么都没有得到吗?不是的:你得到了不赞美你不想赞美的人的自由,而且也不需要容忍你不想容忍的行为。\n\n26. 记住:很多事情不应该分自我或者他人。举个例子,如果邻居家的孩子打破了个杯子或者其他什么东西,我们很容易会说:“没事的,打碎东西是正常的”。可是如果打碎的是你自己的杯子呢?你应该作出相同的反应,而不是心生懊恼。同理,当别人的孩子或者妻子去世了,我们知道死亡的悲剧有时候是不可避免的,但是如果发生在我们自己身上的时候,我们却心如刀割。但是,我们应该清醒的认识到类似的悲剧不是我们能够控制的,我们所能够控制的是自己的情绪和反应,因为即使是发生在自己的身上,死亡本身并没有因为我们和死者的关系而变的更糟糕。\n\n27. 立一个靶子的目的,不是为了射失它(靶子的目的都是为了让人射中它)。那么同样的道理,大道创造出一个“恶”的事物(至少看起来如此),不是为了让人绕开它。\n\n28. 如果别人把你的身体交给一个路上遇到的陌生人,你一定会很生气。可是当别人用恶语打击你的时候,你为什么要心甘情愿地让别人控制你的思想,困惑你呢?\n\n29. 做每件事情都要考虑缘由和后果之后才能开始行动。如果你兴高采烈地开始而没有考虑可能发生的后果,当某些不好的后果开始出现时,你就会停止前进。拿参加奥林匹克赛事为例子。如果你把所有前因后果都考虑周全后认为参加比赛对你时有益的,那就全力以赴。其中,应该考虑的事情包括:你要遵守规则,节制饮食;不管风吹日晒雨淋都要雷打不动地坚持按时锻炼;你不能喝凉水活着酒。你必须全身心地、完全忘我地投入训练。而且,要做思想准备准备,比赛中你有可能会摔入沟里,胳膊脱臼,脚踝受伤,吃入尘土,被鞭打,甚至最后以失败告终。当你评估完所有的可能性之后还是一心想比赛,那就以战争的姿态出发。否则,你就会像孩子过家家一样:一会扮摔跤手,一会扮角斗士,一会吹喇叭,一会又想参加戏剧演出。这样,即使你什么都做过,但是什么都不是。就想大猩猩一样,你模仿你所看到的一切,不停地换把戏可能是一件好玩的事,但是你很快就玩腻了。你从来都没有完全投入过任何事,没有深度地从各个角度考虑和研究所有相关的细节,而只是凭一时的兴趣蜻蜓点水般地接触了各种行业。有些人当他们看到一个人说话的方式和Euphrates十分相像(不过事实上,真的有人能和Euphrates一样犀利善辩吗?),他们认为自己也能够拥有和哲学家一样的思想。但是,如果你细想一下,如果你想要成为一个摔跤手,那么你必须具备有摔跤手的宽阔肩膀,强有力的背部和大腿。但是每一个人的身体构造都是不一样的,你必须具有必备的条件才能称为一个好的摔跤手。同理,要想成为一个哲学家,你不能像你现在这样随心所欲地吃喝,不能让愤怒和不满控制你的情绪,你必须细心观察,劳作,控制自己的欲望,你必须能够忍受孤独,仆人的不敬,和外人的嘲笑,你必须能够接受别人在其他方面做得比你好。如果你已经仔细考虑过这些情况,如果你认为如果做到以上这些可以让你享受自由和宁静,那就尽情去追求哲学家的道路。如果你无法做到这些的话,那么就请不要继续,不要像孩子一样,一会试试做哲学,一会又想当政治家,演讲者,或者凯撒的军官。这些追求是互相矛盾的,你只能成为其中一个,不管做得好坏。你必须培养你自己内在的能够掌控行为的能力,或者外在的技术,二者只能取其一。\n\n30. 一个人的责任是由和别人的关系定义和衡量的。如果一个人拥有父亲的角色,那么他就有以下权利:他的孩子要照顾他,遵从他,耐心听他训话和教导。那如果他不是一个好父亲呢?他也应该受到同等的对待,因为我们无法选择我们的父亲是谁。不管他做了什么,你必须做到让自己心安理得。因为只有你能够让别人的行为伤害到你。当你觉得你被伤害了,那你就会被伤害。如果你以同样的逻辑看待邻居,市民,将军这些不同的角色,你就能够清楚地明白与这些角色相对应的社会责任。","source":"_posts/读书笔记/斯多葛主义手册.md","raw":"---\ntitle: 斯多葛主义手册\ndate: 2019-08-03 21:16:47\nurlname: storic-summary\ntoc: true\ntags: [哲理, 书籍]\ncategories: [读书笔记]\n---\n\n\n\n![](https://github.com/maiernte/img/raw/master/collection/马可奥勒留.jpg)\n\n世间的事,有些可控,有些不可控。可控的有:观点,追求,欲望,和喜恶等。这些都是我们自己可以做出选择的。不可控的是身体,财物,名声,指令等。这些我们都无法选择。\n\n\n\n1. 世间的事,有些可控,有些不可控。可控的有:观点,追求,欲望,和喜恶等。这些都是我们自己可以做出选择的。不可控的是身体,财物,名声,指令等。这些我们都无法选择。\n\n 可控范围之内的东西在本质上是自由的,不被束缚、阻碍的。那些不可控的是虚的,是被奴役的,是我们受控于他人。记住,如果你觉得那些不可控的事物是自由的,那些受控于别人的也是你的,那么你就会被控制,被束缚。你会悲痛,你会受扰,你会指责神以及他人。但如果你只专注于你所能控制的,不被他人所拥有的干扰,那么就没有人能够影响你、束缚你。并且,你不会把过错推在他人身上。你不会去做违背你的意志的事。你不会有敌人。你也不会被伤害。\n\n 把这些当做你的目标,不让自己受那些没有意义的事诱惑,哪怕就一点点也不可以。放弃那些不可控的。如果你既想把握住可控的,又想拥有财富和权力,那么你将会什么都得不到,更不用说幸福和自由-因为幸福和自由是依赖于可控事物。\n\n 尽你最大的努力。这样你就可以对看似艰难的每一件事说:“你只不过是看起来艰难而已。” 然后比照你为自己制定的原则:这件事是否可控。如果在你控制范围之外,那么结果就无关乎于你。\n\n2. 欲望要求你去追求你想要的;厌恶则让你尽量避免你所讨厌的。但是,如果你得不到你想要的,你就会十分失望;如果你无法避免你所讨厌的,那你就会被厌恶扭曲。那么,如果你只讨厌那些在你出自本质所做选择的对立事物(即在你控制范围内你不会选择的事物),那么你就永远不需要去为之伤神。但是,如果你厌恶疾病、死亡、贫穷等你无法选择和改变的,那你就会被厌恶扭曲。不厌恶你所不能控制的,把厌恶限制在和你本性对立的事物。但是,就目前来说,压制你的欲望:因为如果你追求任何可控范围之外的事物,那你就必然会失望。不要轻易追求或者厌恶。\n\n3. 对于给你带来乐趣、有用处以及你十分喜欢的东西,从最不重要的事情开始,记得提醒你自己:他们真正的本质是什么。比如说,你很喜欢某个陶瓷杯,提醒你自己那只是因为你喜欢陶瓷杯而已,而不在于具体是哪个杯子。这样,如果杯子碎了,你也不会太伤心。当你亲吻你的家人时,提醒你自己你只是在亲吻和你亲近的人,这样当他们离世时,你就不会太难过。\n\n4. 当你做事情时,提醒你自己事情的本质是什么,你可能遇到哪些情况。比如说洗澡。在你洗澡之前,先想想洗澡时会发生哪些事情。有的人可能会把水溅得哪都是,有人可能会推娜,有人会诅咒,有人会偷东西。这样你在洗澡之前就可以跟自己说:“我现在要去洗澡了,任何这些事都有可能发生,但是这不是我能控制的,所以我会保持好的心态”。如果你以同样的心态去对待任何其他事情,你内心的平和就不会被打扰。因为你可以对自己说:”我希望的不仅仅是洗澡,还有不被任何意外困扰”。\n\n5. 人内心困扰时,通常不是被事物本身困扰,而是被他们自己的原则和概念所困扰。比如说,死亡本身并不可怕,要不然苏格拉底面临死亡时该有多么惊慌。我们对死亡的恐惧是源于我们对死亡的概念:死亡是可怕的。当我们被困扰、阻碍,伤心难过时,我们不要从事物本身或者他人身上找原因,而应该反省我们自己,还有我们的原则。一个还不通明的人,会把自己的糟糕情况怪罪于他人。一个刚刚开始学习处理这些情况的人,会从自己身上找原因。而一个已经通彻的人,既不会怪罪别人,也不会苛求自己。\n\n6. 不要为任何身外之物骄傲。一匹马可以因为自己的英爽豪气自豪,因为这是它本身拥有的。但是如果你因为拥有这样一匹马儿骄傲,事实上,你所自豪的,不过是马所拥有的好。那么,什么才是属于你的呢?你对事物的反应和态度。如果你对任何事物的形态的处之泰然,那么你就可以为你的理性自豪,因为这是属于你的。\n\n7. 想象以下情况:在一次航海旅行中,你的船抛锚靠岸了,你上岸去找水,途中你还捡了些你喜欢的贝壳,或者买个洋葱。但是,你的所有注意力必须一直集中在那艘船上,注意船长什么时候呼叫大家上船继续航行。当船长呼叫时,你必须立刻放下手中所有的东西,否则你就会被手脚捆绑得像只羊一样抛到船上。生活也是这样。生活给你老婆孩子,而不是洋葱贝壳。如果生活的船长呼叫了,你必须离开他们,立马跑到船上,而不是光顾着他们。如果你年纪大了,那你就不能离开船太远,否则你可能来不及回到船上。\n\n8. 不要苛求生活给予你所有你想要的,该发生的就会发生,随遇而安就好。\n\n9. 疾病影响的只是你的身体,而不是你选择的能力,除非那是你的选择。瘸的是腿,而不是你的脑子。不管发生什么事,只要这么跟自己说,你就会明白困难阻碍的是事物,而不是你。\n\n10. 对于每一件发生的事,检视你自己的能力,问你自己能够用哪些能力从每一件事情中获得什么适当的用处。遇到一个十分有吸引力的人时,你就会发现你的自控就是你的能力。当你痛苦时,你会发现自己的坚强。听到坏话时,你会发现自己的耐心。形成了这样的习惯之后,你就不会被事物的表象所影响。\n\n11. 不要说:“我失去了什么”。而应该说:“我归还了什么”。如果你的孩子或者妻子不幸离世了,你不是失去他们了,而是他们回归了。如果你的房子被夺走了,同样的,你是归还它们了。你可能会说:“可是那些夺走我房子的人是坏人!“。可是,给予你的人让谁来夺走你的房子真的那么重要吗?当你拥有时,照顾好它,但不要把它当做永久财物,就当自己是一个在那暂住的旅行者。\n\n12. 如果你想要提高自己,那就要拒绝以下思考方式:“如果我忽视那些琐事,那我就没有收入;如果我不更正我的仆人,那他们就会变坏”。 如果能够免于悲伤和恐惧,即使死于饥饿,那也比富得流油但备受精神困扰好得多。比起坏仆人,难道你的开心不是更重要吗?\n\n 如果你想要让自己变得更好,那就从小事做起。油洒了,酒被偷了,没关系,告诉你自己:“那只不过是平静生活的一点点代价。任何事情都是有代价的”。当你召集你的仆人时,他们可能不会来,也可能来了但是做的事情不合你意。但是他们并没有重要得以至于你必须打破自己的平静。\n\n13. 如果你想要让自己变得更好,那就不要在乎被人认为你是愚蠢的。不要希望别人认为你无所不知。即使你看上去好像对别人来说很重要,也不要被这种虚名欺骗。因为想要既保持内心平和又拥有外在事物是非常困难的。当你专注于二者之一时,你必然会忽略剩下的那个。\n\n14. 如果你希望你的家人、朋友长生不老,那是很愚蠢的想法。因为生死是在你控制范围之外的,是关乎他人的。同样地,如果你希望你的仆人不犯错,那你和傻瓜无异,因为你希望错误不是错误。但是,如果你希望你的欲望不带来失望,那是在你所能控制的范围之内的。练习控制你所能控制的。一个能够控制自己的喜恶的人,是自己生活的主人。这样的人,是真正自由的,不会成为被自己的欲望控制的奴隶,不会喜欢或者厌恶那些受别人控制的事物。\n\n15. 记住生活就像是一个晚餐聚会一样。如果别人递给你一盘食物,你应该伸出手去接,舀起适当份量给自己。如果盘子从你身边递过,不要试图去截取。如果还没轮到你这,不要起身去拿,而是等着别人递到你面前。用相同的态度对待孩子,配偶,财物,公共职位,这样你最终自然就会成为诸神宴会的搭档。如果你不仅能够做到这些,还能够做到不去拿你面前的食物,甚至是有能力拒绝你自己的欲望,这样你不仅仅能够成为诸神宴会的搭档,你还能进入他们的国度,成为为他们的一员。像Diogenes, Heraclitus这些人就是因为他们的尊贵行为而被视为神一般神圣。\n\n16. 当你看到别人因为孩子出国了,或者离世了,或者因为被琐事困扰而哭泣伤心时,不要让这些情感表象误导你。你必须作出自己的判断,明白他的伤心难过不是因为发生的事情本身,因为其他同样身处其中的人并没有受到同样的影响。他之所以受到那么大的困扰,是因为他自己本身对事情的判断。不要让自己和他一样受影响,不要让自己一样受困扰,不管是外在表现还是内心感受上。\n\n17. 记住你只是一出戏里的一个演员,而戏份角色并不是由你决定的。不管角色故事长短,不管你是一个穷人,瘸子,政府官员,或者是一个很私密的人,把你的角色演好演自然了就行。把分配给你的角色演好,那是你的本分;而到底是哪个角色,那不是由你决定的。\n\n18. 如果一只乌鸦向你预示不幸的事即将发生,不要让你内心的平静被这个表象破坏。要即刻告诉自己,“我不知道会发生什么,我不知道我的身体,财物,名声,或者家人会受什么影响,如果我愿意理性地去想,那么所有的这些恶兆就会变成幸运,因为我可以控制我要用什么态度去对待这些事情。不管发生什么,我都可以从中获得对我有利的。\n\n19. 如果你不去参与在你控制范围之外的任何战斗,那你就不会被打败。当你看到那些声名显赫,社会地位高,或者在任何方面做得很好的人,不要着急认为他们是开心的。因为如果我们清楚明白幸福只在于我们所能够控制的范围内,那我们就不会去羡慕或者攀比。不要向往头衔,而是要向往内心自由和平静。而要做到这一点,唯一的途径是要看轻我们控制范围之外的一切事物。\n\n20. 记住,那些对你出言不逊或者动手的人他本身并不是一种羞辱,而是代表那些言行的原则让你感觉到被羞辱。如果有人激怒你了,那是你对这种行为的观点激怒了你。试着不要被事情的表象牵引你的情感。给予适当的时间和稍作休息,你就能够很好地调整控制自己的情感。\n\n21. 把死亡和流放这些看似可怕的事看作是日常,那你就赢了。不用害怕贫穷,也不要刻意贪求任何东西。\n\n22. 如果你真心希望从哲学中获益,那么就要做好被众人嘲笑的准备:“她这是准备要成为一个哲学家呢”,“瞧她那傲慢的样子”……这个时候,你该做的,不是摆起傲慢的样子,而是要以神圣的态度忠诚于你所认定的,这样总有一天嘲笑你的人会开始尊敬你崇拜你。但是如果你被这些嘲笑打败,那你就成了双重的笑话。\n\n23. 如果你为了取悦他人而把你的注意力转移到那些外在的你无法控制的事物上,那么恭喜你,你已经成功地毁了你自己的生活了。\n\n24. 不要让以下这些思考方式困扰你:“我将会颜面丢尽,而且什么都不是。”耻辱是邪恶的,我们不应该被耻辱感所控制。因为获取权力或着被人嘲笑,这些都在你的控制范围之外。我们不用为任何在我们控制范围之外的事而感到耻辱。在我们可控范围之内,我们是自由的,能够左右我们自己的事情,是自我的主人-从这个角度看,我们永远不会什么都不是。“可是我帮不了我的朋友啊”,你可能会这么说。可是,怎么算是帮助朋友呢?你不能给他们钱,或者帮他们成为罗马市民。这些都是你所能控制范围之内的,是他们自己应该处理的事情。而且,如果这些都是你自己所没有的,那你怎么能够给他们呢?你可能会说:“如果我帮助他们获得这些的话,说不定我也能够得到一份呢“。如果我能够在保存我自己的尊严,忠诚和思想得到这些的话,请你帮我指明道路。可是如果你要我损害自己去得到你的利益,那这样的做法不仅不公平,而且愚蠢至极。\n\n25. 如果别人,而不是你,被邀请去宴会,或者被赞美,或者被别人咨询,不要懊恼。如果这些是好事,你应该为他人高兴。如果是坏事,不要难过。记住:这些都是在你的控制范围之外的,这样的对待一般是有对应的代价的。如果你不愿意付出这样的代价而希望得到同样的对待,那是不公平的。比如说别人用50分买了一棵生菜,但是你不想花这50分,那你就不应该认为拥有生菜的人占了便宜。那个人付出50分得到了生菜,而你口袋里还有那没有花出去的50分。同理,宴会邀请,别人的赞美,这些都是有代价的。如果你觉得这些对你是有价值的,那你就要付出同等的价值去拥有。如果你不付出就想要得到这些,那么你就是个贪得无厌的傻瓜。换个角度想,在决定不和别人交换价值的时候,你真的什么都没有得到吗?不是的:你得到了不赞美你不想赞美的人的自由,而且也不需要容忍你不想容忍的行为。\n\n26. 记住:很多事情不应该分自我或者他人。举个例子,如果邻居家的孩子打破了个杯子或者其他什么东西,我们很容易会说:“没事的,打碎东西是正常的”。可是如果打碎的是你自己的杯子呢?你应该作出相同的反应,而不是心生懊恼。同理,当别人的孩子或者妻子去世了,我们知道死亡的悲剧有时候是不可避免的,但是如果发生在我们自己身上的时候,我们却心如刀割。但是,我们应该清醒的认识到类似的悲剧不是我们能够控制的,我们所能够控制的是自己的情绪和反应,因为即使是发生在自己的身上,死亡本身并没有因为我们和死者的关系而变的更糟糕。\n\n27. 立一个靶子的目的,不是为了射失它(靶子的目的都是为了让人射中它)。那么同样的道理,大道创造出一个“恶”的事物(至少看起来如此),不是为了让人绕开它。\n\n28. 如果别人把你的身体交给一个路上遇到的陌生人,你一定会很生气。可是当别人用恶语打击你的时候,你为什么要心甘情愿地让别人控制你的思想,困惑你呢?\n\n29. 做每件事情都要考虑缘由和后果之后才能开始行动。如果你兴高采烈地开始而没有考虑可能发生的后果,当某些不好的后果开始出现时,你就会停止前进。拿参加奥林匹克赛事为例子。如果你把所有前因后果都考虑周全后认为参加比赛对你时有益的,那就全力以赴。其中,应该考虑的事情包括:你要遵守规则,节制饮食;不管风吹日晒雨淋都要雷打不动地坚持按时锻炼;你不能喝凉水活着酒。你必须全身心地、完全忘我地投入训练。而且,要做思想准备准备,比赛中你有可能会摔入沟里,胳膊脱臼,脚踝受伤,吃入尘土,被鞭打,甚至最后以失败告终。当你评估完所有的可能性之后还是一心想比赛,那就以战争的姿态出发。否则,你就会像孩子过家家一样:一会扮摔跤手,一会扮角斗士,一会吹喇叭,一会又想参加戏剧演出。这样,即使你什么都做过,但是什么都不是。就想大猩猩一样,你模仿你所看到的一切,不停地换把戏可能是一件好玩的事,但是你很快就玩腻了。你从来都没有完全投入过任何事,没有深度地从各个角度考虑和研究所有相关的细节,而只是凭一时的兴趣蜻蜓点水般地接触了各种行业。有些人当他们看到一个人说话的方式和Euphrates十分相像(不过事实上,真的有人能和Euphrates一样犀利善辩吗?),他们认为自己也能够拥有和哲学家一样的思想。但是,如果你细想一下,如果你想要成为一个摔跤手,那么你必须具备有摔跤手的宽阔肩膀,强有力的背部和大腿。但是每一个人的身体构造都是不一样的,你必须具有必备的条件才能称为一个好的摔跤手。同理,要想成为一个哲学家,你不能像你现在这样随心所欲地吃喝,不能让愤怒和不满控制你的情绪,你必须细心观察,劳作,控制自己的欲望,你必须能够忍受孤独,仆人的不敬,和外人的嘲笑,你必须能够接受别人在其他方面做得比你好。如果你已经仔细考虑过这些情况,如果你认为如果做到以上这些可以让你享受自由和宁静,那就尽情去追求哲学家的道路。如果你无法做到这些的话,那么就请不要继续,不要像孩子一样,一会试试做哲学,一会又想当政治家,演讲者,或者凯撒的军官。这些追求是互相矛盾的,你只能成为其中一个,不管做得好坏。你必须培养你自己内在的能够掌控行为的能力,或者外在的技术,二者只能取其一。\n\n30. 一个人的责任是由和别人的关系定义和衡量的。如果一个人拥有父亲的角色,那么他就有以下权利:他的孩子要照顾他,遵从他,耐心听他训话和教导。那如果他不是一个好父亲呢?他也应该受到同等的对待,因为我们无法选择我们的父亲是谁。不管他做了什么,你必须做到让自己心安理得。因为只有你能够让别人的行为伤害到你。当你觉得你被伤害了,那你就会被伤害。如果你以同样的逻辑看待邻居,市民,将军这些不同的角色,你就能够清楚地明白与这些角色相对应的社会责任。","slug":"读书笔记/斯多葛主义手册","published":1,"updated":"2019-08-14T06:31:28.000Z","_id":"cka1y597o00124huu1wtf5iy9","comments":1,"layout":"post","photos":[],"link":"","content":"\n\n世间的事,有些可控,有些不可控。可控的有:观点,追求,欲望,和喜恶等。这些都是我们自己可以做出选择的。不可控的是身体,财物,名声,指令等。这些我们都无法选择。
\n可控范围之内的东西在本质上是自由的,不被束缚、阻碍的。那些不可控的是虚的,是被奴役的,是我们受控于他人。记住,如果你觉得那些不可控的事物是自由的,那些受控于别人的也是你的,那么你就会被控制,被束缚。你会悲痛,你会受扰,你会指责神以及他人。但如果你只专注于你所能控制的,不被他人所拥有的干扰,那么就没有人能够影响你、束缚你。并且,你不会把过错推在他人身上。你不会去做违背你的意志的事。你不会有敌人。你也不会被伤害。
\n把这些当做你的目标,不让自己受那些没有意义的事诱惑,哪怕就一点点也不可以。放弃那些不可控的。如果你既想把握住可控的,又想拥有财富和权力,那么你将会什么都得不到,更不用说幸福和自由-因为幸福和自由是依赖于可控事物。
\n尽你最大的努力。这样你就可以对看似艰难的每一件事说:“你只不过是看起来艰难而已。” 然后比照你为自己制定的原则:这件事是否可控。如果在你控制范围之外,那么结果就无关乎于你。
\n \n\n欲望要求你去追求你想要的;厌恶则让你尽量避免你所讨厌的。但是,如果你得不到你想要的,你就会十分失望;如果你无法避免你所讨厌的,那你就会被厌恶扭曲。那么,如果你只讨厌那些在你出自本质所做选择的对立事物(即在你控制范围内你不会选择的事物),那么你就永远不需要去为之伤神。但是,如果你厌恶疾病、死亡、贫穷等你无法选择和改变的,那你就会被厌恶扭曲。不厌恶你所不能控制的,把厌恶限制在和你本性对立的事物。但是,就目前来说,压制你的欲望:因为如果你追求任何可控范围之外的事物,那你就必然会失望。不要轻易追求或者厌恶。
\n \n\n对于给你带来乐趣、有用处以及你十分喜欢的东西,从最不重要的事情开始,记得提醒你自己:他们真正的本质是什么。比如说,你很喜欢某个陶瓷杯,提醒你自己那只是因为你喜欢陶瓷杯而已,而不在于具体是哪个杯子。这样,如果杯子碎了,你也不会太伤心。当你亲吻你的家人时,提醒你自己你只是在亲吻和你亲近的人,这样当他们离世时,你就不会太难过。
\n \n\n当你做事情时,提醒你自己事情的本质是什么,你可能遇到哪些情况。比如说洗澡。在你洗澡之前,先想想洗澡时会发生哪些事情。有的人可能会把水溅得哪都是,有人可能会推娜,有人会诅咒,有人会偷东西。这样你在洗澡之前就可以跟自己说:“我现在要去洗澡了,任何这些事都有可能发生,但是这不是我能控制的,所以我会保持好的心态”。如果你以同样的心态去对待任何其他事情,你内心的平和就不会被打扰。因为你可以对自己说:”我希望的不仅仅是洗澡,还有不被任何意外困扰”。
\n \n\n人内心困扰时,通常不是被事物本身困扰,而是被他们自己的原则和概念所困扰。比如说,死亡本身并不可怕,要不然苏格拉底面临死亡时该有多么惊慌。我们对死亡的恐惧是源于我们对死亡的概念:死亡是可怕的。当我们被困扰、阻碍,伤心难过时,我们不要从事物本身或者他人身上找原因,而应该反省我们自己,还有我们的原则。一个还不通明的人,会把自己的糟糕情况怪罪于他人。一个刚刚开始学习处理这些情况的人,会从自己身上找原因。而一个已经通彻的人,既不会怪罪别人,也不会苛求自己。
\n \n\n不要为任何身外之物骄傲。一匹马可以因为自己的英爽豪气自豪,因为这是它本身拥有的。但是如果你因为拥有这样一匹马儿骄傲,事实上,你所自豪的,不过是马所拥有的好。那么,什么才是属于你的呢?你对事物的反应和态度。如果你对任何事物的形态的处之泰然,那么你就可以为你的理性自豪,因为这是属于你的。
\n \n\n想象以下情况:在一次航海旅行中,你的船抛锚靠岸了,你上岸去找水,途中你还捡了些你喜欢的贝壳,或者买个洋葱。但是,你的所有注意力必须一直集中在那艘船上,注意船长什么时候呼叫大家上船继续航行。当船长呼叫时,你必须立刻放下手中所有的东西,否则你就会被手脚捆绑得像只羊一样抛到船上。生活也是这样。生活给你老婆孩子,而不是洋葱贝壳。如果生活的船长呼叫了,你必须离开他们,立马跑到船上,而不是光顾着他们。如果你年纪大了,那你就不能离开船太远,否则你可能来不及回到船上。
\n \n\n不要苛求生活给予你所有你想要的,该发生的就会发生,随遇而安就好。
\n \n\n疾病影响的只是你的身体,而不是你选择的能力,除非那是你的选择。瘸的是腿,而不是你的脑子。不管发生什么事,只要这么跟自己说,你就会明白困难阻碍的是事物,而不是你。
\n \n\n对于每一件发生的事,检视你自己的能力,问你自己能够用哪些能力从每一件事情中获得什么适当的用处。遇到一个十分有吸引力的人时,你就会发现你的自控就是你的能力。当你痛苦时,你会发现自己的坚强。听到坏话时,你会发现自己的耐心。形成了这样的习惯之后,你就不会被事物的表象所影响。
\n \n\n不要说:“我失去了什么”。而应该说:“我归还了什么”。如果你的孩子或者妻子不幸离世了,你不是失去他们了,而是他们回归了。如果你的房子被夺走了,同样的,你是归还它们了。你可能会说:“可是那些夺走我房子的人是坏人!“。可是,给予你的人让谁来夺走你的房子真的那么重要吗?当你拥有时,照顾好它,但不要把它当做永久财物,就当自己是一个在那暂住的旅行者。
\n \n\n如果你想要提高自己,那就要拒绝以下思考方式:“如果我忽视那些琐事,那我就没有收入;如果我不更正我的仆人,那他们就会变坏”。 如果能够免于悲伤和恐惧,即使死于饥饿,那也比富得流油但备受精神困扰好得多。比起坏仆人,难道你的开心不是更重要吗?
\n如果你想要让自己变得更好,那就从小事做起。油洒了,酒被偷了,没关系,告诉你自己:“那只不过是平静生活的一点点代价。任何事情都是有代价的”。当你召集你的仆人时,他们可能不会来,也可能来了但是做的事情不合你意。但是他们并没有重要得以至于你必须打破自己的平静。
\n \n\n如果你想要让自己变得更好,那就不要在乎被人认为你是愚蠢的。不要希望别人认为你无所不知。即使你看上去好像对别人来说很重要,也不要被这种虚名欺骗。因为想要既保持内心平和又拥有外在事物是非常困难的。当你专注于二者之一时,你必然会忽略剩下的那个。
\n \n\n如果你希望你的家人、朋友长生不老,那是很愚蠢的想法。因为生死是在你控制范围之外的,是关乎他人的。同样地,如果你希望你的仆人不犯错,那你和傻瓜无异,因为你希望错误不是错误。但是,如果你希望你的欲望不带来失望,那是在你所能控制的范围之内的。练习控制你所能控制的。一个能够控制自己的喜恶的人,是自己生活的主人。这样的人,是真正自由的,不会成为被自己的欲望控制的奴隶,不会喜欢或者厌恶那些受别人控制的事物。
\n \n\n记住生活就像是一个晚餐聚会一样。如果别人递给你一盘食物,你应该伸出手去接,舀起适当份量给自己。如果盘子从你身边递过,不要试图去截取。如果还没轮到你这,不要起身去拿,而是等着别人递到你面前。用相同的态度对待孩子,配偶,财物,公共职位,这样你最终自然就会成为诸神宴会的搭档。如果你不仅能够做到这些,还能够做到不去拿你面前的食物,甚至是有能力拒绝你自己的欲望,这样你不仅仅能够成为诸神宴会的搭档,你还能进入他们的国度,成为为他们的一员。像Diogenes, Heraclitus这些人就是因为他们的尊贵行为而被视为神一般神圣。
\n \n\n当你看到别人因为孩子出国了,或者离世了,或者因为被琐事困扰而哭泣伤心时,不要让这些情感表象误导你。你必须作出自己的判断,明白他的伤心难过不是因为发生的事情本身,因为其他同样身处其中的人并没有受到同样的影响。他之所以受到那么大的困扰,是因为他自己本身对事情的判断。不要让自己和他一样受影响,不要让自己一样受困扰,不管是外在表现还是内心感受上。
\n \n\n记住你只是一出戏里的一个演员,而戏份角色并不是由你决定的。不管角色故事长短,不管你是一个穷人,瘸子,政府官员,或者是一个很私密的人,把你的角色演好演自然了就行。把分配给你的角色演好,那是你的本分;而到底是哪个角色,那不是由你决定的。
\n \n\n如果一只乌鸦向你预示不幸的事即将发生,不要让你内心的平静被这个表象破坏。要即刻告诉自己,“我不知道会发生什么,我不知道我的身体,财物,名声,或者家人会受什么影响,如果我愿意理性地去想,那么所有的这些恶兆就会变成幸运,因为我可以控制我要用什么态度去对待这些事情。不管发生什么,我都可以从中获得对我有利的。
\n \n\n如果你不去参与在你控制范围之外的任何战斗,那你就不会被打败。当你看到那些声名显赫,社会地位高,或者在任何方面做得很好的人,不要着急认为他们是开心的。因为如果我们清楚明白幸福只在于我们所能够控制的范围内,那我们就不会去羡慕或者攀比。不要向往头衔,而是要向往内心自由和平静。而要做到这一点,唯一的途径是要看轻我们控制范围之外的一切事物。
\n \n\n记住,那些对你出言不逊或者动手的人他本身并不是一种羞辱,而是代表那些言行的原则让你感觉到被羞辱。如果有人激怒你了,那是你对这种行为的观点激怒了你。试着不要被事情的表象牵引你的情感。给予适当的时间和稍作休息,你就能够很好地调整控制自己的情感。
\n \n\n把死亡和流放这些看似可怕的事看作是日常,那你就赢了。不用害怕贫穷,也不要刻意贪求任何东西。
\n \n\n如果你真心希望从哲学中获益,那么就要做好被众人嘲笑的准备:“她这是准备要成为一个哲学家呢”,“瞧她那傲慢的样子”……这个时候,你该做的,不是摆起傲慢的样子,而是要以神圣的态度忠诚于你所认定的,这样总有一天嘲笑你的人会开始尊敬你崇拜你。但是如果你被这些嘲笑打败,那你就成了双重的笑话。
\n \n\n如果你为了取悦他人而把你的注意力转移到那些外在的你无法控制的事物上,那么恭喜你,你已经成功地毁了你自己的生活了。
\n \n\n不要让以下这些思考方式困扰你:“我将会颜面丢尽,而且什么都不是。”耻辱是邪恶的,我们不应该被耻辱感所控制。因为获取权力或着被人嘲笑,这些都在你的控制范围之外。我们不用为任何在我们控制范围之外的事而感到耻辱。在我们可控范围之内,我们是自由的,能够左右我们自己的事情,是自我的主人-从这个角度看,我们永远不会什么都不是。“可是我帮不了我的朋友啊”,你可能会这么说。可是,怎么算是帮助朋友呢?你不能给他们钱,或者帮他们成为罗马市民。这些都是你所能控制范围之内的,是他们自己应该处理的事情。而且,如果这些都是你自己所没有的,那你怎么能够给他们呢?你可能会说:“如果我帮助他们获得这些的话,说不定我也能够得到一份呢“。如果我能够在保存我自己的尊严,忠诚和思想得到这些的话,请你帮我指明道路。可是如果你要我损害自己去得到你的利益,那这样的做法不仅不公平,而且愚蠢至极。
\n \n\n如果别人,而不是你,被邀请去宴会,或者被赞美,或者被别人咨询,不要懊恼。如果这些是好事,你应该为他人高兴。如果是坏事,不要难过。记住:这些都是在你的控制范围之外的,这样的对待一般是有对应的代价的。如果你不愿意付出这样的代价而希望得到同样的对待,那是不公平的。比如说别人用50分买了一棵生菜,但是你不想花这50分,那你就不应该认为拥有生菜的人占了便宜。那个人付出50分得到了生菜,而你口袋里还有那没有花出去的50分。同理,宴会邀请,别人的赞美,这些都是有代价的。如果你觉得这些对你是有价值的,那你就要付出同等的价值去拥有。如果你不付出就想要得到这些,那么你就是个贪得无厌的傻瓜。换个角度想,在决定不和别人交换价值的时候,你真的什么都没有得到吗?不是的:你得到了不赞美你不想赞美的人的自由,而且也不需要容忍你不想容忍的行为。
\n \n\n记住:很多事情不应该分自我或者他人。举个例子,如果邻居家的孩子打破了个杯子或者其他什么东西,我们很容易会说:“没事的,打碎东西是正常的”。可是如果打碎的是你自己的杯子呢?你应该作出相同的反应,而不是心生懊恼。同理,当别人的孩子或者妻子去世了,我们知道死亡的悲剧有时候是不可避免的,但是如果发生在我们自己身上的时候,我们却心如刀割。但是,我们应该清醒的认识到类似的悲剧不是我们能够控制的,我们所能够控制的是自己的情绪和反应,因为即使是发生在自己的身上,死亡本身并没有因为我们和死者的关系而变的更糟糕。
\n \n\n立一个靶子的目的,不是为了射失它(靶子的目的都是为了让人射中它)。那么同样的道理,大道创造出一个“恶”的事物(至少看起来如此),不是为了让人绕开它。
\n \n\n如果别人把你的身体交给一个路上遇到的陌生人,你一定会很生气。可是当别人用恶语打击你的时候,你为什么要心甘情愿地让别人控制你的思想,困惑你呢?
\n \n\n做每件事情都要考虑缘由和后果之后才能开始行动。如果你兴高采烈地开始而没有考虑可能发生的后果,当某些不好的后果开始出现时,你就会停止前进。拿参加奥林匹克赛事为例子。如果你把所有前因后果都考虑周全后认为参加比赛对你时有益的,那就全力以赴。其中,应该考虑的事情包括:你要遵守规则,节制饮食;不管风吹日晒雨淋都要雷打不动地坚持按时锻炼;你不能喝凉水活着酒。你必须全身心地、完全忘我地投入训练。而且,要做思想准备准备,比赛中你有可能会摔入沟里,胳膊脱臼,脚踝受伤,吃入尘土,被鞭打,甚至最后以失败告终。当你评估完所有的可能性之后还是一心想比赛,那就以战争的姿态出发。否则,你就会像孩子过家家一样:一会扮摔跤手,一会扮角斗士,一会吹喇叭,一会又想参加戏剧演出。这样,即使你什么都做过,但是什么都不是。就想大猩猩一样,你模仿你所看到的一切,不停地换把戏可能是一件好玩的事,但是你很快就玩腻了。你从来都没有完全投入过任何事,没有深度地从各个角度考虑和研究所有相关的细节,而只是凭一时的兴趣蜻蜓点水般地接触了各种行业。有些人当他们看到一个人说话的方式和Euphrates十分相像(不过事实上,真的有人能和Euphrates一样犀利善辩吗?),他们认为自己也能够拥有和哲学家一样的思想。但是,如果你细想一下,如果你想要成为一个摔跤手,那么你必须具备有摔跤手的宽阔肩膀,强有力的背部和大腿。但是每一个人的身体构造都是不一样的,你必须具有必备的条件才能称为一个好的摔跤手。同理,要想成为一个哲学家,你不能像你现在这样随心所欲地吃喝,不能让愤怒和不满控制你的情绪,你必须细心观察,劳作,控制自己的欲望,你必须能够忍受孤独,仆人的不敬,和外人的嘲笑,你必须能够接受别人在其他方面做得比你好。如果你已经仔细考虑过这些情况,如果你认为如果做到以上这些可以让你享受自由和宁静,那就尽情去追求哲学家的道路。如果你无法做到这些的话,那么就请不要继续,不要像孩子一样,一会试试做哲学,一会又想当政治家,演讲者,或者凯撒的军官。这些追求是互相矛盾的,你只能成为其中一个,不管做得好坏。你必须培养你自己内在的能够掌控行为的能力,或者外在的技术,二者只能取其一。
\n \n\n一个人的责任是由和别人的关系定义和衡量的。如果一个人拥有父亲的角色,那么他就有以下权利:他的孩子要照顾他,遵从他,耐心听他训话和教导。那如果他不是一个好父亲呢?他也应该受到同等的对待,因为我们无法选择我们的父亲是谁。不管他做了什么,你必须做到让自己心安理得。因为只有你能够让别人的行为伤害到你。当你觉得你被伤害了,那你就会被伤害。如果你以同样的逻辑看待邻居,市民,将军这些不同的角色,你就能够清楚地明白与这些角色相对应的社会责任。
\n \n ","site":{"data":{}},"excerpt":"
\n世间的事,有些可控,有些不可控。可控的有:观点,追求,欲望,和喜恶等。这些都是我们自己可以做出选择的。不可控的是身体,财物,名声,指令等。这些我们都无法选择。
","more":"\n\n世间的事,有些可控,有些不可控。可控的有:观点,追求,欲望,和喜恶等。这些都是我们自己可以做出选择的。不可控的是身体,财物,名声,指令等。这些我们都无法选择。
\n可控范围之内的东西在本质上是自由的,不被束缚、阻碍的。那些不可控的是虚的,是被奴役的,是我们受控于他人。记住,如果你觉得那些不可控的事物是自由的,那些受控于别人的也是你的,那么你就会被控制,被束缚。你会悲痛,你会受扰,你会指责神以及他人。但如果你只专注于你所能控制的,不被他人所拥有的干扰,那么就没有人能够影响你、束缚你。并且,你不会把过错推在他人身上。你不会去做违背你的意志的事。你不会有敌人。你也不会被伤害。
\n把这些当做你的目标,不让自己受那些没有意义的事诱惑,哪怕就一点点也不可以。放弃那些不可控的。如果你既想把握住可控的,又想拥有财富和权力,那么你将会什么都得不到,更不用说幸福和自由-因为幸福和自由是依赖于可控事物。
\n尽你最大的努力。这样你就可以对看似艰难的每一件事说:“你只不过是看起来艰难而已。” 然后比照你为自己制定的原则:这件事是否可控。如果在你控制范围之外,那么结果就无关乎于你。
\n \n\n欲望要求你去追求你想要的;厌恶则让你尽量避免你所讨厌的。但是,如果你得不到你想要的,你就会十分失望;如果你无法避免你所讨厌的,那你就会被厌恶扭曲。那么,如果你只讨厌那些在你出自本质所做选择的对立事物(即在你控制范围内你不会选择的事物),那么你就永远不需要去为之伤神。但是,如果你厌恶疾病、死亡、贫穷等你无法选择和改变的,那你就会被厌恶扭曲。不厌恶你所不能控制的,把厌恶限制在和你本性对立的事物。但是,就目前来说,压制你的欲望:因为如果你追求任何可控范围之外的事物,那你就必然会失望。不要轻易追求或者厌恶。
\n \n\n对于给你带来乐趣、有用处以及你十分喜欢的东西,从最不重要的事情开始,记得提醒你自己:他们真正的本质是什么。比如说,你很喜欢某个陶瓷杯,提醒你自己那只是因为你喜欢陶瓷杯而已,而不在于具体是哪个杯子。这样,如果杯子碎了,你也不会太伤心。当你亲吻你的家人时,提醒你自己你只是在亲吻和你亲近的人,这样当他们离世时,你就不会太难过。
\n \n\n当你做事情时,提醒你自己事情的本质是什么,你可能遇到哪些情况。比如说洗澡。在你洗澡之前,先想想洗澡时会发生哪些事情。有的人可能会把水溅得哪都是,有人可能会推娜,有人会诅咒,有人会偷东西。这样你在洗澡之前就可以跟自己说:“我现在要去洗澡了,任何这些事都有可能发生,但是这不是我能控制的,所以我会保持好的心态”。如果你以同样的心态去对待任何其他事情,你内心的平和就不会被打扰。因为你可以对自己说:”我希望的不仅仅是洗澡,还有不被任何意外困扰”。
\n \n\n人内心困扰时,通常不是被事物本身困扰,而是被他们自己的原则和概念所困扰。比如说,死亡本身并不可怕,要不然苏格拉底面临死亡时该有多么惊慌。我们对死亡的恐惧是源于我们对死亡的概念:死亡是可怕的。当我们被困扰、阻碍,伤心难过时,我们不要从事物本身或者他人身上找原因,而应该反省我们自己,还有我们的原则。一个还不通明的人,会把自己的糟糕情况怪罪于他人。一个刚刚开始学习处理这些情况的人,会从自己身上找原因。而一个已经通彻的人,既不会怪罪别人,也不会苛求自己。
\n \n\n不要为任何身外之物骄傲。一匹马可以因为自己的英爽豪气自豪,因为这是它本身拥有的。但是如果你因为拥有这样一匹马儿骄傲,事实上,你所自豪的,不过是马所拥有的好。那么,什么才是属于你的呢?你对事物的反应和态度。如果你对任何事物的形态的处之泰然,那么你就可以为你的理性自豪,因为这是属于你的。
\n \n\n想象以下情况:在一次航海旅行中,你的船抛锚靠岸了,你上岸去找水,途中你还捡了些你喜欢的贝壳,或者买个洋葱。但是,你的所有注意力必须一直集中在那艘船上,注意船长什么时候呼叫大家上船继续航行。当船长呼叫时,你必须立刻放下手中所有的东西,否则你就会被手脚捆绑得像只羊一样抛到船上。生活也是这样。生活给你老婆孩子,而不是洋葱贝壳。如果生活的船长呼叫了,你必须离开他们,立马跑到船上,而不是光顾着他们。如果你年纪大了,那你就不能离开船太远,否则你可能来不及回到船上。
\n \n\n不要苛求生活给予你所有你想要的,该发生的就会发生,随遇而安就好。
\n \n\n疾病影响的只是你的身体,而不是你选择的能力,除非那是你的选择。瘸的是腿,而不是你的脑子。不管发生什么事,只要这么跟自己说,你就会明白困难阻碍的是事物,而不是你。
\n \n\n对于每一件发生的事,检视你自己的能力,问你自己能够用哪些能力从每一件事情中获得什么适当的用处。遇到一个十分有吸引力的人时,你就会发现你的自控就是你的能力。当你痛苦时,你会发现自己的坚强。听到坏话时,你会发现自己的耐心。形成了这样的习惯之后,你就不会被事物的表象所影响。
\n \n\n不要说:“我失去了什么”。而应该说:“我归还了什么”。如果你的孩子或者妻子不幸离世了,你不是失去他们了,而是他们回归了。如果你的房子被夺走了,同样的,你是归还它们了。你可能会说:“可是那些夺走我房子的人是坏人!“。可是,给予你的人让谁来夺走你的房子真的那么重要吗?当你拥有时,照顾好它,但不要把它当做永久财物,就当自己是一个在那暂住的旅行者。
\n \n\n如果你想要提高自己,那就要拒绝以下思考方式:“如果我忽视那些琐事,那我就没有收入;如果我不更正我的仆人,那他们就会变坏”。 如果能够免于悲伤和恐惧,即使死于饥饿,那也比富得流油但备受精神困扰好得多。比起坏仆人,难道你的开心不是更重要吗?
\n如果你想要让自己变得更好,那就从小事做起。油洒了,酒被偷了,没关系,告诉你自己:“那只不过是平静生活的一点点代价。任何事情都是有代价的”。当你召集你的仆人时,他们可能不会来,也可能来了但是做的事情不合你意。但是他们并没有重要得以至于你必须打破自己的平静。
\n \n\n如果你想要让自己变得更好,那就不要在乎被人认为你是愚蠢的。不要希望别人认为你无所不知。即使你看上去好像对别人来说很重要,也不要被这种虚名欺骗。因为想要既保持内心平和又拥有外在事物是非常困难的。当你专注于二者之一时,你必然会忽略剩下的那个。
\n \n\n如果你希望你的家人、朋友长生不老,那是很愚蠢的想法。因为生死是在你控制范围之外的,是关乎他人的。同样地,如果你希望你的仆人不犯错,那你和傻瓜无异,因为你希望错误不是错误。但是,如果你希望你的欲望不带来失望,那是在你所能控制的范围之内的。练习控制你所能控制的。一个能够控制自己的喜恶的人,是自己生活的主人。这样的人,是真正自由的,不会成为被自己的欲望控制的奴隶,不会喜欢或者厌恶那些受别人控制的事物。
\n \n\n记住生活就像是一个晚餐聚会一样。如果别人递给你一盘食物,你应该伸出手去接,舀起适当份量给自己。如果盘子从你身边递过,不要试图去截取。如果还没轮到你这,不要起身去拿,而是等着别人递到你面前。用相同的态度对待孩子,配偶,财物,公共职位,这样你最终自然就会成为诸神宴会的搭档。如果你不仅能够做到这些,还能够做到不去拿你面前的食物,甚至是有能力拒绝你自己的欲望,这样你不仅仅能够成为诸神宴会的搭档,你还能进入他们的国度,成为为他们的一员。像Diogenes, Heraclitus这些人就是因为他们的尊贵行为而被视为神一般神圣。
\n \n\n当你看到别人因为孩子出国了,或者离世了,或者因为被琐事困扰而哭泣伤心时,不要让这些情感表象误导你。你必须作出自己的判断,明白他的伤心难过不是因为发生的事情本身,因为其他同样身处其中的人并没有受到同样的影响。他之所以受到那么大的困扰,是因为他自己本身对事情的判断。不要让自己和他一样受影响,不要让自己一样受困扰,不管是外在表现还是内心感受上。
\n \n\n记住你只是一出戏里的一个演员,而戏份角色并不是由你决定的。不管角色故事长短,不管你是一个穷人,瘸子,政府官员,或者是一个很私密的人,把你的角色演好演自然了就行。把分配给你的角色演好,那是你的本分;而到底是哪个角色,那不是由你决定的。
\n \n\n如果一只乌鸦向你预示不幸的事即将发生,不要让你内心的平静被这个表象破坏。要即刻告诉自己,“我不知道会发生什么,我不知道我的身体,财物,名声,或者家人会受什么影响,如果我愿意理性地去想,那么所有的这些恶兆就会变成幸运,因为我可以控制我要用什么态度去对待这些事情。不管发生什么,我都可以从中获得对我有利的。
\n \n\n如果你不去参与在你控制范围之外的任何战斗,那你就不会被打败。当你看到那些声名显赫,社会地位高,或者在任何方面做得很好的人,不要着急认为他们是开心的。因为如果我们清楚明白幸福只在于我们所能够控制的范围内,那我们就不会去羡慕或者攀比。不要向往头衔,而是要向往内心自由和平静。而要做到这一点,唯一的途径是要看轻我们控制范围之外的一切事物。
\n \n\n记住,那些对你出言不逊或者动手的人他本身并不是一种羞辱,而是代表那些言行的原则让你感觉到被羞辱。如果有人激怒你了,那是你对这种行为的观点激怒了你。试着不要被事情的表象牵引你的情感。给予适当的时间和稍作休息,你就能够很好地调整控制自己的情感。
\n \n\n把死亡和流放这些看似可怕的事看作是日常,那你就赢了。不用害怕贫穷,也不要刻意贪求任何东西。
\n \n\n如果你真心希望从哲学中获益,那么就要做好被众人嘲笑的准备:“她这是准备要成为一个哲学家呢”,“瞧她那傲慢的样子”……这个时候,你该做的,不是摆起傲慢的样子,而是要以神圣的态度忠诚于你所认定的,这样总有一天嘲笑你的人会开始尊敬你崇拜你。但是如果你被这些嘲笑打败,那你就成了双重的笑话。
\n \n\n如果你为了取悦他人而把你的注意力转移到那些外在的你无法控制的事物上,那么恭喜你,你已经成功地毁了你自己的生活了。
\n \n\n不要让以下这些思考方式困扰你:“我将会颜面丢尽,而且什么都不是。”耻辱是邪恶的,我们不应该被耻辱感所控制。因为获取权力或着被人嘲笑,这些都在你的控制范围之外。我们不用为任何在我们控制范围之外的事而感到耻辱。在我们可控范围之内,我们是自由的,能够左右我们自己的事情,是自我的主人-从这个角度看,我们永远不会什么都不是。“可是我帮不了我的朋友啊”,你可能会这么说。可是,怎么算是帮助朋友呢?你不能给他们钱,或者帮他们成为罗马市民。这些都是你所能控制范围之内的,是他们自己应该处理的事情。而且,如果这些都是你自己所没有的,那你怎么能够给他们呢?你可能会说:“如果我帮助他们获得这些的话,说不定我也能够得到一份呢“。如果我能够在保存我自己的尊严,忠诚和思想得到这些的话,请你帮我指明道路。可是如果你要我损害自己去得到你的利益,那这样的做法不仅不公平,而且愚蠢至极。
\n \n\n如果别人,而不是你,被邀请去宴会,或者被赞美,或者被别人咨询,不要懊恼。如果这些是好事,你应该为他人高兴。如果是坏事,不要难过。记住:这些都是在你的控制范围之外的,这样的对待一般是有对应的代价的。如果你不愿意付出这样的代价而希望得到同样的对待,那是不公平的。比如说别人用50分买了一棵生菜,但是你不想花这50分,那你就不应该认为拥有生菜的人占了便宜。那个人付出50分得到了生菜,而你口袋里还有那没有花出去的50分。同理,宴会邀请,别人的赞美,这些都是有代价的。如果你觉得这些对你是有价值的,那你就要付出同等的价值去拥有。如果你不付出就想要得到这些,那么你就是个贪得无厌的傻瓜。换个角度想,在决定不和别人交换价值的时候,你真的什么都没有得到吗?不是的:你得到了不赞美你不想赞美的人的自由,而且也不需要容忍你不想容忍的行为。
\n \n\n记住:很多事情不应该分自我或者他人。举个例子,如果邻居家的孩子打破了个杯子或者其他什么东西,我们很容易会说:“没事的,打碎东西是正常的”。可是如果打碎的是你自己的杯子呢?你应该作出相同的反应,而不是心生懊恼。同理,当别人的孩子或者妻子去世了,我们知道死亡的悲剧有时候是不可避免的,但是如果发生在我们自己身上的时候,我们却心如刀割。但是,我们应该清醒的认识到类似的悲剧不是我们能够控制的,我们所能够控制的是自己的情绪和反应,因为即使是发生在自己的身上,死亡本身并没有因为我们和死者的关系而变的更糟糕。
\n \n\n立一个靶子的目的,不是为了射失它(靶子的目的都是为了让人射中它)。那么同样的道理,大道创造出一个“恶”的事物(至少看起来如此),不是为了让人绕开它。
\n \n\n如果别人把你的身体交给一个路上遇到的陌生人,你一定会很生气。可是当别人用恶语打击你的时候,你为什么要心甘情愿地让别人控制你的思想,困惑你呢?
\n \n\n做每件事情都要考虑缘由和后果之后才能开始行动。如果你兴高采烈地开始而没有考虑可能发生的后果,当某些不好的后果开始出现时,你就会停止前进。拿参加奥林匹克赛事为例子。如果你把所有前因后果都考虑周全后认为参加比赛对你时有益的,那就全力以赴。其中,应该考虑的事情包括:你要遵守规则,节制饮食;不管风吹日晒雨淋都要雷打不动地坚持按时锻炼;你不能喝凉水活着酒。你必须全身心地、完全忘我地投入训练。而且,要做思想准备准备,比赛中你有可能会摔入沟里,胳膊脱臼,脚踝受伤,吃入尘土,被鞭打,甚至最后以失败告终。当你评估完所有的可能性之后还是一心想比赛,那就以战争的姿态出发。否则,你就会像孩子过家家一样:一会扮摔跤手,一会扮角斗士,一会吹喇叭,一会又想参加戏剧演出。这样,即使你什么都做过,但是什么都不是。就想大猩猩一样,你模仿你所看到的一切,不停地换把戏可能是一件好玩的事,但是你很快就玩腻了。你从来都没有完全投入过任何事,没有深度地从各个角度考虑和研究所有相关的细节,而只是凭一时的兴趣蜻蜓点水般地接触了各种行业。有些人当他们看到一个人说话的方式和Euphrates十分相像(不过事实上,真的有人能和Euphrates一样犀利善辩吗?),他们认为自己也能够拥有和哲学家一样的思想。但是,如果你细想一下,如果你想要成为一个摔跤手,那么你必须具备有摔跤手的宽阔肩膀,强有力的背部和大腿。但是每一个人的身体构造都是不一样的,你必须具有必备的条件才能称为一个好的摔跤手。同理,要想成为一个哲学家,你不能像你现在这样随心所欲地吃喝,不能让愤怒和不满控制你的情绪,你必须细心观察,劳作,控制自己的欲望,你必须能够忍受孤独,仆人的不敬,和外人的嘲笑,你必须能够接受别人在其他方面做得比你好。如果你已经仔细考虑过这些情况,如果你认为如果做到以上这些可以让你享受自由和宁静,那就尽情去追求哲学家的道路。如果你无法做到这些的话,那么就请不要继续,不要像孩子一样,一会试试做哲学,一会又想当政治家,演讲者,或者凯撒的军官。这些追求是互相矛盾的,你只能成为其中一个,不管做得好坏。你必须培养你自己内在的能够掌控行为的能力,或者外在的技术,二者只能取其一。
\n \n\n一个人的责任是由和别人的关系定义和衡量的。如果一个人拥有父亲的角色,那么他就有以下权利:他的孩子要照顾他,遵从他,耐心听他训话和教导。那如果他不是一个好父亲呢?他也应该受到同等的对待,因为我们无法选择我们的父亲是谁。不管他做了什么,你必须做到让自己心安理得。因为只有你能够让别人的行为伤害到你。当你觉得你被伤害了,那你就会被伤害。如果你以同样的逻辑看待邻居,市民,将军这些不同的角色,你就能够清楚地明白与这些角色相对应的社会责任。
\n \n "},{"title":"《少有人走的路》笔记","date":"2019-07-20T22:14:37.000Z","urlname":"road-less-traveled-summary","toc":true,"_content":"\n **成熟 = [自律](#id_zilv) + [爱](#id_ai)**[](def_成熟)\n\n\n\n### 自律\n\n**【自律】**[](def_自律) : 主动要求自己以积极的态度去承受痛苦,解决问题。\n\n自律的四个`原则`:延迟满足感、承担责任、忠于事实、保持平衡。:smile:\n\n#### 1 延迟满足感\n\n\n \n人生当中总是绕着困难走。一个揍孩子和对孩子大喊大叫的父母就是不懂得延迟满足感的父母。 应该陪着孩子一起经历困难和痛苦。而父母试图通过家庭暴力的方式,试图将父母本身的责任区隔开。父母没有学会延迟满足感,这个孩子将来长大了也不会。很多人延迟满足感的能力非常糟糕,来自于父母的不自律。当父母不自律的时候,孩子就没法获得足够的爱和照顾。—— 所以这个孩子会忽略自我的价值。有的人喜欢浪费时间,而浪费时间的意思就是,_「我这个人的时间没什么价值」_。\n不会延迟满足感的人,在长大后看到问题会假装没看到,以为等着问题慢慢就会过去,期待问题自行消失。\n \n\n> - 训斥孩子 ~\\> 是为了迅速达成目的,而不是耐心陪孩子面对问题。\n> - 父母不自律 => 孩子不自律\n> - 不会延迟满足感 => 有意忽略问题\n\n#### 2 承担责任\n\n1. **神经官能症**[](def_神经官能症): 把一切东西都认为是自己的问题。\n> _我如果怎么样就好了。我要是不怎么样就好了。总是充满后悔和内疚。祥林嫂_\n2. **人格失调症**[](def_人格失调症):他认为这一切都不是我的问题。他能找到任何一个理由,是因为外在的东西,他就不会责怪自己,他认为都是你们的问题。[](flag_心理学_病症)\n> 「神经官能症」自己活得很痛苦,「人格失调症」让别人活得很痛苦。\n\n\n \n作者提供在冲绳岛上的一个案例,一个军官的妻子,宁愿自杀也不愿意去学自动挡开车的事。\n从某种意义上说,所有的孩子都患有人格失调症,都会本能的逃避责罚。 同时又患有某种神经官能症,把自己承受的痛苦看成是罪有应得。缺少关心的孩子会自惭形秽,认为自己不够可爱,缺点大于优点等等。\n \n\n如果你不能解决问题,那么你自己就会成为问题。`我们需要合理的承担责任,既不把责任全部推卸到外部,也不把责任全部揽到自己身上。保持一个合理的平衡。`\n> 如果你不能让自己成为人格更加健全,更加成熟的人。你就会把问题带给你的孩子,带给你的家庭。\n\n#### 3 忠于事实\n\n大量的人是生活在自己的幻想当中的。这叫**人生地图**。他给自己绘制一张人生地图,他认为人生就这样,他已经认定了。这就叫做“不忠于事实”,他只 _忠于自己的幻想_。\n\n \n案例:有个人小时候被父母欺骗过,就是父母说话经常不算数。导致他潜意识积累了一个信念:“父母是不可信”的。当他的人生地图绘制出来这么一个坐标,认为父母不可信了自后,他几乎就推论到“人人都不可信”。所以在他一生的成长过程当中,他跟警察发生矛盾,跟领导发生矛盾,跟顾客发生矛盾,跟妻子发生矛盾。案例中最后他唯一信任的是他的两个孩子。妻子把两个孩子带走,所以他人生也崩溃了。他跟作者约定时间不来,然后他说能不能星期六,作者说我的时间是跟别人约过的,不能随便调整。他说:“你不是心理医生吗?为什么不能多关心我一点呢”?他认为作者(心理医生)也是不可信任的人,直接拉黑。\n \n这种人你很难跟他解释,很难让他面对真正的世界。因为在他心目当中完全是用自己的一套逻辑在解决问题。\n\n所以所谓的「心理治疗」,就是鼓励「说真话」的游戏。鼓励大家能够面对事实,能够把自己看到的真相,感受到的真实的感觉,说出来的一个过程。所以没有经过这样的调试,有大量的人是天天活在「幻觉」当中的,就是沉浸在自己的人生地图当中。根本不去看一看,别人的地图是什么样。也根本不去看一看实际的生活当中,事实是什么样的。\n\n **移情**:人们会把对一个人的感情和经验移植在别人身上。会认为别人也这样。\n\n> 应该说移情、或者忽略史实,也是一种懒惰的表现。因为去更新地图是件很费力的事情。\n\n#### 4 保持平衡\n 既要承担责任,也要拒绝承担不该承担的责任。差不多又回到了「中庸」之道。「延迟满足」也不能延迟到无限, 从来不过好日子。既要延迟满足,也要过好当下的生活。要有一个富于弹性的约束机制。好像骑自行车下坡一样,既要享受速度,也要注意刹车。为了待会安全的拐弯,也要捏一捏车闸。\n ```生活就是一个不断放弃的过程。必须能够学会放弃一件又一件的事情。包括接受心理治疗就是「放弃」—— 放弃了一个「自己是正常人」 的想法。```\n\n\n埃里克 埃里克森列举的人一生当中不断放弃的事情 \n\n1. 首先要放弃「无需对外界要求作出回应」的婴儿状态。\n2. 三四岁的时候有「无所不能的幻觉」,这个要放弃掉。(为何小孩子特别喜欢绿巨人、钢铁侠、金刚狼这样的超级英雄?因为每个人在三四岁的时候都曾经幻想过自己是无所不能的超人。所以这种童话永远有市场。)\n3. 放弃完全占有父亲或者母亲的欲望。放弃童年的依赖感。\n4. 放弃心中被扭曲了的父母形象。(我们曾经以为父母是完美的)放弃。\n5. 青春期的自以为拥有「无穷潜力」的感觉。放弃! I am the King of the World!\n6. 无拘无束的自由\n7. 青年时期的灵巧与活力\n8. 青春时期的性吸引力;长生不老的空想。\n9. 对子女的权威(在子女面前总是说了算的)\n10. 各种各样「暂时性」的权力——退休了,社会给你的权力也没有了。\n11. 身体永远健康——放弃\n12. 最后,自我以及生命本身也要放弃。\n \n\n### 爱\n\n**【爱】**[](def_爱) :为了促进自己和他人心智成熟,而不断拓展自我界限,实现自我完善的一种意愿。\n> 核心观点就是「要看重心智成熟这件事」。心智成熟是发生在你和被爱的那个人之间的,两个人都需要达成心智成熟。\n> _不要以为一昧的付出就是爱。爱的要求很高。要达成两个的`共同成熟`_\n\n一个人懂得什么是真正的爱,才能够是一个真正成熟的人。否则你会看到很多人以「爱」的名义在伤害、控制、占有对方。「爱」有以下四个误区:过度关注、坠入情网、精神灌注、自我牺牲。\n\n#### 过度关注\n* 实际上是一种「依赖」\n例子,一个妈妈,孩子都上高中了,还每天开车接送孩子上学。说孩子一个上学走太让人担心了。「过度关注」实际上是一种「依赖」。(`妈妈在“依赖”这个孩子`)这种类型的人经常说的话是“没有你我活不下去”。这个小孩之所以出现在书中,是因为孩子长大后来做了心理咨询。他在人生当中做任何事情都不成功。他的能力非常的欠缺。为什么?因为他从小到大完全被母爱这样束缚着。他妈妈根本不去管孩子能否「成熟」。他妈妈根本不去管这样做对孩子的心智健康、发展有没有好处。唯一的就是「你别出事,我必须盯着你」!`她不是为对方在做这样的事,她是在为自己做这样的事情。如果发展到极致,变得很严重的话,会变成一种疾病,叫「**消极性依赖人格失调症**」。—— 他必须依赖某一个外在的东西,他才能够觉得自己是存在的。如果有这么一个人,就是死死的缠住他,就是不离开他。有一个人作为对象,他才能找到自己的位置。如果找不到这样的人,就很可能会沉迷于毒品和酒精。\n\n* 对「爱」无度的索求\n对别人的爱根本与对方无关,他只是希望找到一个人,能够投射自己在上面,能够找到自己——「因为有人爱我,我就存在」。(例子,有个人离婚了,生活很痛苦,用酒精麻醉自己。咨询的第二天来跟医生说,我好了,我现在很幸福。因为昨晚在酒吧认识一个女人,她说她爱我。我现在很好。)总是苦思如何获得别人的爱,却没有精力去爱别人。就像饥肠辘辘的人,总想着向别人讨要食物,却拿不出食物来帮助别人。`他们永远孤独寂寞,永远无法体会到满足感。`尤其可怕的是,他们不知道自己患上了「消极性依赖人格失调症」。其造成原因多是童年缺乏爱,然后总觉的自己「没资格被爱」。人要感觉自己是被爱的,才有资格跟别人平起平坐,独立地生活和对话。患有这种心理疾病的人,他根本没有感觉到自己的资格,永远都在怀疑别人不爱他。所以只要别人拒绝他,就会感到无比的痛苦和伤心。而他永远需要找到一个紧紧拉住的,依赖的对象。这不是爱,这是占有。\n\n#### 坠入情网\n**坠入情网是欲望**。是你体内的激素分泌。因为我们的基因要求我们要生殖,见到异性感觉自己爱上他了。实际上是自己的一种欲望。一段时间后当你的欲望被释放掉了,体内的激素的大潮开始退去的时候,会发现这个人看起啦那么讨厌。坠入情网实际上是``「自我界限的短暂崩溃」``。除了自我界限的理论,还有以下几个点:\n* 不是出于主管意愿,它不是一个有计划有意识的选择。(很多人只把它看成一个感觉,而不是一个「动作」,爱是一个动词,不是感觉)\n* 不是自我界限的扩展,而是自我界限的部分的暂时性的崩溃。扩展自我界限需要付出足够的努力,坠入情网却无需努力。\n* 坠入情网唯一的作用是消除寂寞。而不是有目的的促进心灵的成长。\n* 简单来说贪恋爱可能是「爱」的发端,可能能培养出来爱,但它不是「爱」本身。\n\n#### 精神贯注\n`爱宠物、爱好这些也不是爱`,而是「精神贯注」。就是当你把自己的精神贯注在一个事物上的时候,你以为这只狗“懂你”,其实上是“你投射在了它身上”,你在猜想它的想法。跟真正的爱不一样。为什么呢:\n* 首先,我们跟宠物的沟通非常有限。我们不知道他们每天在想什么,却一厢情愿的把自己的想法和感受投射在它们身上。实际上这只是我们的主观愿望罢了。\n* 其次,我们喜欢宠物的原因是因为它们表现乖巧,任凭摆弄。如果宠物不听话,破坏家具,随意大小便,甚至咬上我们几口。我们就可能把它赶出家门。如果要改变宠物的心智,我们只能把它送到宠物学校。如果与某个人相处,局面就完全不同了。\n\n有一种精神贯注叫「婴儿之爱」。 很多妈妈只喜欢婴儿期的孩子。等孩子三四岁以后妈妈开始烦了。赶紧推给爷爷奶奶带。反过来呢,母爱很充沛,喜欢别人家的孩子,刚生的小婴儿。 这种不是爱,而是``「唯命是从的追求」``。 比如二战后美国的「战争新娘」。一开始新娘对丈夫唯命是从,当她们懂得英语,开始融入美国社会以后,矛盾就渐渐开始产生,离婚率开始上升。\n\n以上几种感情我们误以为是爱,其实不是。它们都有共同的特征,就是以「爱」作为幌子,``只想满足自己的需要``。却从来不把对方的心智成熟当一回事。\n\n\n#### 自我牺牲\n甚至还有人人会发展出来「**自我牺牲式的爱**」。有个妻子,她老公总是欺骗她,总是有外遇。每次闹完,老公回来道歉,她又开始接受他。五六次以后,妻子去找心理医生谈。心理医生告诉她要想清楚,不能老是这样接受他。有一次这个妻子说,我又原谅他了,这次他是真的改好了。他特别怎么怎么样。结果医生发现这个妻子有“受虐倾向”。有受虐倾向的人,会把「自我牺牲」当作是「爱」。他们觉得只要我能够牺牲、奉献就好。\n\n这些东西也是来自童年的经历,就是他童年当中如果有一个这样的“楷模”,总是以自我牺牲为标榜,总是以为我为别人牺牲了那么多,所以 “你看我多好,多高尚”,他在潜意识当中就会慢慢接受“自我牺牲就是爱”这种想法。\n\n\n **自我界限**: \n小孩子刚出生的时候是没有自我界限的。他在挥动胳膊的时候,觉得整个房间都在动,他与这个世界没有是分割的。到了两三岁发现自己挥动胳膊的时候,房间没有动,甚至他发现自己哭的时候,别人并不饿。 才能慢慢感受到原来自己跟他人是不一样的。到青春期这个人的自我界限已经开始完全封闭起来了。原来这个世界只有我自己,连我的父母都不了解我,我的喜怒哀乐他们根本不知道。所以人们开始陷入深深的孤独。青春期的孩子觉得自己最“孤独”,他觉得没人理解他,我是一个完全独一无二的个体,谁跟我都不一样,他的自我界限完全封闭起来。\n到了谈恋爱。谈恋爱是需要冒风险的,你是需要有勇气打开自我的界限,和另外一个人融为一体的。所以初恋的时候,很多人会有「**圣洁**」的感觉。就是“我打开了”,有一个人竟然“完全懂我”。有一个人可以跟我融为一体,那种水乳交融的感觉,他以为自己找到了「真爱」。因为他的边界在短期的崩溃。当他的自我边界崩溃以后,他感受到了生命的狂喜,那个就是短暂的获得了「爱」的感觉。但是那是假象。`因为那个并不建立在令我和对方人格不断成熟的一个过程当中。他并不是希望达成心智的成熟,他只是自我边界的短暂崩溃`。所以过了一两个月以后,这个自我界限慢慢弥合起来,他发现说“这个人怎么跟我也不一样”?“这个人的想法跟我也不同”。 现在的孩子谈恋爱特别快,有感觉就谈,没感觉了就分。把「感觉」当成了「爱」,事实上感觉只是欲望,是性欲。\n 但不要觉得欲望不是一件好事,无论是欲望,还是依赖,或者过度关注这样的东西,都是`培养爱的基础`。\n正是因为两个人打破了边界,走到一起,双方有可能为对方作出了承诺。接下来为了完成自己的承诺,需要不断的努力,需要有自律性。当你的自律性跟承诺相结合在起来的时候,你的这个短暂的恋爱的感觉爱,会慢慢滋生出真正的爱。 能够带来对方和自己心智共同的成熟。\n \n \n\n``真正的「爱」`` :爱是实际行动,是真正的付出。\n\n爱的感觉与精神贯注密不可分。后者是把情感与兴趣贯注在对外的对象上,将其当作属于自己的一部分。精神贯注虽然跟真正的爱容易混淆,但是依然有显著的区别。首先,精神贯注的对象不一定是有生命的事物。因此就不见得会有心灵的感受。其次,对某种事物产生精神贯注的人,未必会重视其心智的成熟。(比如无原则溺爱孩子的父母)第三,精神贯注可能与智慧和责任无关。(酒吧认识一个人,立刻就情有所钟。但没有任何计划性,没有后续责任)。最后,精神贯注随时都有可能消失。今晚还很开心,明天不开心就分手啰。\n\n 真正的爱需要投入和奉献,需要付出全部的智慧与力量。要使爱的对象得到成长,就必须付出足够多的努力,不然爱的愿望就会落空。 唯有真正的投入与奉献,才是实现爱的有效方式。真正的爱是自主的选择,无论「爱」的「感觉」是否存在, 都要奉献出情感和智慧。\n\n \n\n**「爱」的表现**\n\n1. 倾听。我们真的能够拿出时间来,认真倾听对方的说话。最起码的尊重是通过倾听来展开的,我们要做一个良好的「倾听者」。\n2. 要有心里准备,接受爱的时候,就要准备承担风险。(有人经历过丧失亲人,之后就特别怕建立亲密关系。因为怕失去,「失去」的痛苦吓坏了他。)(爱还要面临冲突的风险。)\n3. 需要尊重对方的独立性。否则就是占有,就是依赖。\n\n### 信仰\n\n#### 科学也是信仰\n科学也是一种信仰。这个世界上上信科学的人比信宗教的人多。人不是生活在一个真实的世界当中的,人是生活在思想家为我们所设定的思想通道当中的。科学家在不断的拓宽我们人类的视线,建立了科学的信仰。 作者认为宗教的信仰在某种程度上可能会导致人的某些情况下的精神分裂。但是在某些情况下也会带来信念,帮助人们解决心理的问题。比喻:倒洗澡水的时候,千万不要把婴儿也倒出去。对待信仰的时候,不能过于简单化。\n\n#### 原罪\n作者认为人类的`「原罪」`就是`「懒惰」`。\n\n自律需要用力,爱需要用力,这个世界天然的方向是「熵增」,屋子一定会变乱。我花力气把屋子整理干净十个「逆熵」的过程,逆熵是需要话费气力的。 人天生喜欢熵增,喜欢懒惰。在伊甸园,其实上帝经常在园子里散步。这两孩子如果能去问一下,这玩意儿能吃吗?人类的命运就改变了。这两个人为什么不去问 一下上帝呢?因为这两孩子「懒惰」,而「懒惰」的背后是「恐惧」。他们担心问了上帝以后受到上帝的责罚。\n>(天涯:我认为这个解释不对。那个时候的亚当和夏娃没有罪恶感,也从来没有受过责罚,怎么会有这个恐惧呢?而恐惧则是被赶出伊甸园以后人类才有的心智。)\n\n有人不好好学习,是因为就算好好学习了也未必学得好啊。如果好好学了而没有学好,就会面对失去「我不是没能力,只是不愿学而已」这块遮羞布的恐惧。\n\n尽量要做到潜意识和意识「合一」。因为潜意识里面有很多的能量,而我们由于“懒惰”以及“恐惧”不愿意去开发的,不愿意去面对的。\n\n这本书为什么叫【少有人走的路】呢?因为人人都喜欢熵增的方向,都喜欢轻松的方向,人人都喜欢懒惰的方向。喜欢部分什么劲,就得到一切的这种感觉。如果你想要变得成熟,就要费力去做一些逆熵的行为,自律的事,延迟满足的事,用行动表达「爱」的 过程。\n\n#### 两种力量\n这个世界始终是由两种力量来统治的,分别是「政治的力量」和「心灵的力量」。\n\n【政治的力量】[](def_政治的力量):以公开或者隐秘的方式,去强迫别人遵循自己的意愿。这种力量既存在于权力之中,也存在于金钱之中。然而他并不属于拥有权力或者金钱的人。归根到底,政治的力量和德行以及智慧无关,最愚蠢最邪恶的人也可能成为地球的统治者。\n【心灵的力量】[](def_心灵的力量):则完全存在于人类的心中,它和强迫、控制别人的力量没有关系。它是在意识基础上作出决定的力量。也就是「意识的力量」。\n\n如果我们的心理能够得到力量,我们就会感到舒适和愉快,在人生的旅途上稳扎稳打,循序渐进。 进步带给我们的愉悦感难以言喻。没有什么比成为人生的专家,熟知自己所做的事情,更让人感觉到幸福。我们的心灵越是成熟,就越有可能成为人生的专家。当我们的心智成熟到一定的阶段,我们就会更加谦逊而快乐。\n\n---\n\n","source":"_posts/读书笔记/《少有人走的路》笔记.md","raw":"---\ntitle: 《少有人走的路》笔记\ndate: 2019-07-21 00:14:37\nurlname: road-less-traveled-summary\ntoc: true\ntags: [心理, 成长]\ncategories: [读书笔记]\n\n---\n\n **成熟 = [自律](#id_zilv) + [爱](#id_ai)**[](def_成熟)\n\n\n\n### 自律\n\n**【自律】**[](def_自律) : 主动要求自己以积极的态度去承受痛苦,解决问题。\n\n自律的四个`原则`:延迟满足感、承担责任、忠于事实、保持平衡。:smile:\n\n#### 1 延迟满足感\n\n\n \n人生当中总是绕着困难走。一个揍孩子和对孩子大喊大叫的父母就是不懂得延迟满足感的父母。 应该陪着孩子一起经历困难和痛苦。而父母试图通过家庭暴力的方式,试图将父母本身的责任区隔开。父母没有学会延迟满足感,这个孩子将来长大了也不会。很多人延迟满足感的能力非常糟糕,来自于父母的不自律。当父母不自律的时候,孩子就没法获得足够的爱和照顾。—— 所以这个孩子会忽略自我的价值。有的人喜欢浪费时间,而浪费时间的意思就是,_「我这个人的时间没什么价值」_。\n不会延迟满足感的人,在长大后看到问题会假装没看到,以为等着问题慢慢就会过去,期待问题自行消失。\n \n\n> - 训斥孩子 ~\\> 是为了迅速达成目的,而不是耐心陪孩子面对问题。\n> - 父母不自律 => 孩子不自律\n> - 不会延迟满足感 => 有意忽略问题\n\n#### 2 承担责任\n\n1. **神经官能症**[](def_神经官能症): 把一切东西都认为是自己的问题。\n> _我如果怎么样就好了。我要是不怎么样就好了。总是充满后悔和内疚。祥林嫂_\n2. **人格失调症**[](def_人格失调症):他认为这一切都不是我的问题。他能找到任何一个理由,是因为外在的东西,他就不会责怪自己,他认为都是你们的问题。[](flag_心理学_病症)\n> 「神经官能症」自己活得很痛苦,「人格失调症」让别人活得很痛苦。\n\n\n \n作者提供在冲绳岛上的一个案例,一个军官的妻子,宁愿自杀也不愿意去学自动挡开车的事。\n从某种意义上说,所有的孩子都患有人格失调症,都会本能的逃避责罚。 同时又患有某种神经官能症,把自己承受的痛苦看成是罪有应得。缺少关心的孩子会自惭形秽,认为自己不够可爱,缺点大于优点等等。\n \n\n如果你不能解决问题,那么你自己就会成为问题。`我们需要合理的承担责任,既不把责任全部推卸到外部,也不把责任全部揽到自己身上。保持一个合理的平衡。`\n> 如果你不能让自己成为人格更加健全,更加成熟的人。你就会把问题带给你的孩子,带给你的家庭。\n\n#### 3 忠于事实\n\n大量的人是生活在自己的幻想当中的。这叫**人生地图**。他给自己绘制一张人生地图,他认为人生就这样,他已经认定了。这就叫做“不忠于事实”,他只 _忠于自己的幻想_。\n\n \n案例:有个人小时候被父母欺骗过,就是父母说话经常不算数。导致他潜意识积累了一个信念:“父母是不可信”的。当他的人生地图绘制出来这么一个坐标,认为父母不可信了自后,他几乎就推论到“人人都不可信”。所以在他一生的成长过程当中,他跟警察发生矛盾,跟领导发生矛盾,跟顾客发生矛盾,跟妻子发生矛盾。案例中最后他唯一信任的是他的两个孩子。妻子把两个孩子带走,所以他人生也崩溃了。他跟作者约定时间不来,然后他说能不能星期六,作者说我的时间是跟别人约过的,不能随便调整。他说:“你不是心理医生吗?为什么不能多关心我一点呢”?他认为作者(心理医生)也是不可信任的人,直接拉黑。\n \n这种人你很难跟他解释,很难让他面对真正的世界。因为在他心目当中完全是用自己的一套逻辑在解决问题。\n\n所以所谓的「心理治疗」,就是鼓励「说真话」的游戏。鼓励大家能够面对事实,能够把自己看到的真相,感受到的真实的感觉,说出来的一个过程。所以没有经过这样的调试,有大量的人是天天活在「幻觉」当中的,就是沉浸在自己的人生地图当中。根本不去看一看,别人的地图是什么样。也根本不去看一看实际的生活当中,事实是什么样的。\n\n **移情**:人们会把对一个人的感情和经验移植在别人身上。会认为别人也这样。\n\n> 应该说移情、或者忽略史实,也是一种懒惰的表现。因为去更新地图是件很费力的事情。\n\n#### 4 保持平衡\n 既要承担责任,也要拒绝承担不该承担的责任。差不多又回到了「中庸」之道。「延迟满足」也不能延迟到无限, 从来不过好日子。既要延迟满足,也要过好当下的生活。要有一个富于弹性的约束机制。好像骑自行车下坡一样,既要享受速度,也要注意刹车。为了待会安全的拐弯,也要捏一捏车闸。\n ```生活就是一个不断放弃的过程。必须能够学会放弃一件又一件的事情。包括接受心理治疗就是「放弃」—— 放弃了一个「自己是正常人」 的想法。```\n\n\n埃里克 埃里克森列举的人一生当中不断放弃的事情 \n\n1. 首先要放弃「无需对外界要求作出回应」的婴儿状态。\n2. 三四岁的时候有「无所不能的幻觉」,这个要放弃掉。(为何小孩子特别喜欢绿巨人、钢铁侠、金刚狼这样的超级英雄?因为每个人在三四岁的时候都曾经幻想过自己是无所不能的超人。所以这种童话永远有市场。)\n3. 放弃完全占有父亲或者母亲的欲望。放弃童年的依赖感。\n4. 放弃心中被扭曲了的父母形象。(我们曾经以为父母是完美的)放弃。\n5. 青春期的自以为拥有「无穷潜力」的感觉。放弃! I am the King of the World!\n6. 无拘无束的自由\n7. 青年时期的灵巧与活力\n8. 青春时期的性吸引力;长生不老的空想。\n9. 对子女的权威(在子女面前总是说了算的)\n10. 各种各样「暂时性」的权力——退休了,社会给你的权力也没有了。\n11. 身体永远健康——放弃\n12. 最后,自我以及生命本身也要放弃。\n \n\n### 爱\n\n**【爱】**[](def_爱) :为了促进自己和他人心智成熟,而不断拓展自我界限,实现自我完善的一种意愿。\n> 核心观点就是「要看重心智成熟这件事」。心智成熟是发生在你和被爱的那个人之间的,两个人都需要达成心智成熟。\n> _不要以为一昧的付出就是爱。爱的要求很高。要达成两个的`共同成熟`_\n\n一个人懂得什么是真正的爱,才能够是一个真正成熟的人。否则你会看到很多人以「爱」的名义在伤害、控制、占有对方。「爱」有以下四个误区:过度关注、坠入情网、精神灌注、自我牺牲。\n\n#### 过度关注\n* 实际上是一种「依赖」\n例子,一个妈妈,孩子都上高中了,还每天开车接送孩子上学。说孩子一个上学走太让人担心了。「过度关注」实际上是一种「依赖」。(`妈妈在“依赖”这个孩子`)这种类型的人经常说的话是“没有你我活不下去”。这个小孩之所以出现在书中,是因为孩子长大后来做了心理咨询。他在人生当中做任何事情都不成功。他的能力非常的欠缺。为什么?因为他从小到大完全被母爱这样束缚着。他妈妈根本不去管孩子能否「成熟」。他妈妈根本不去管这样做对孩子的心智健康、发展有没有好处。唯一的就是「你别出事,我必须盯着你」!`她不是为对方在做这样的事,她是在为自己做这样的事情。如果发展到极致,变得很严重的话,会变成一种疾病,叫「**消极性依赖人格失调症**」。—— 他必须依赖某一个外在的东西,他才能够觉得自己是存在的。如果有这么一个人,就是死死的缠住他,就是不离开他。有一个人作为对象,他才能找到自己的位置。如果找不到这样的人,就很可能会沉迷于毒品和酒精。\n\n* 对「爱」无度的索求\n对别人的爱根本与对方无关,他只是希望找到一个人,能够投射自己在上面,能够找到自己——「因为有人爱我,我就存在」。(例子,有个人离婚了,生活很痛苦,用酒精麻醉自己。咨询的第二天来跟医生说,我好了,我现在很幸福。因为昨晚在酒吧认识一个女人,她说她爱我。我现在很好。)总是苦思如何获得别人的爱,却没有精力去爱别人。就像饥肠辘辘的人,总想着向别人讨要食物,却拿不出食物来帮助别人。`他们永远孤独寂寞,永远无法体会到满足感。`尤其可怕的是,他们不知道自己患上了「消极性依赖人格失调症」。其造成原因多是童年缺乏爱,然后总觉的自己「没资格被爱」。人要感觉自己是被爱的,才有资格跟别人平起平坐,独立地生活和对话。患有这种心理疾病的人,他根本没有感觉到自己的资格,永远都在怀疑别人不爱他。所以只要别人拒绝他,就会感到无比的痛苦和伤心。而他永远需要找到一个紧紧拉住的,依赖的对象。这不是爱,这是占有。\n\n#### 坠入情网\n**坠入情网是欲望**。是你体内的激素分泌。因为我们的基因要求我们要生殖,见到异性感觉自己爱上他了。实际上是自己的一种欲望。一段时间后当你的欲望被释放掉了,体内的激素的大潮开始退去的时候,会发现这个人看起啦那么讨厌。坠入情网实际上是``「自我界限的短暂崩溃」``。除了自我界限的理论,还有以下几个点:\n* 不是出于主管意愿,它不是一个有计划有意识的选择。(很多人只把它看成一个感觉,而不是一个「动作」,爱是一个动词,不是感觉)\n* 不是自我界限的扩展,而是自我界限的部分的暂时性的崩溃。扩展自我界限需要付出足够的努力,坠入情网却无需努力。\n* 坠入情网唯一的作用是消除寂寞。而不是有目的的促进心灵的成长。\n* 简单来说贪恋爱可能是「爱」的发端,可能能培养出来爱,但它不是「爱」本身。\n\n#### 精神贯注\n`爱宠物、爱好这些也不是爱`,而是「精神贯注」。就是当你把自己的精神贯注在一个事物上的时候,你以为这只狗“懂你”,其实上是“你投射在了它身上”,你在猜想它的想法。跟真正的爱不一样。为什么呢:\n* 首先,我们跟宠物的沟通非常有限。我们不知道他们每天在想什么,却一厢情愿的把自己的想法和感受投射在它们身上。实际上这只是我们的主观愿望罢了。\n* 其次,我们喜欢宠物的原因是因为它们表现乖巧,任凭摆弄。如果宠物不听话,破坏家具,随意大小便,甚至咬上我们几口。我们就可能把它赶出家门。如果要改变宠物的心智,我们只能把它送到宠物学校。如果与某个人相处,局面就完全不同了。\n\n有一种精神贯注叫「婴儿之爱」。 很多妈妈只喜欢婴儿期的孩子。等孩子三四岁以后妈妈开始烦了。赶紧推给爷爷奶奶带。反过来呢,母爱很充沛,喜欢别人家的孩子,刚生的小婴儿。 这种不是爱,而是``「唯命是从的追求」``。 比如二战后美国的「战争新娘」。一开始新娘对丈夫唯命是从,当她们懂得英语,开始融入美国社会以后,矛盾就渐渐开始产生,离婚率开始上升。\n\n以上几种感情我们误以为是爱,其实不是。它们都有共同的特征,就是以「爱」作为幌子,``只想满足自己的需要``。却从来不把对方的心智成熟当一回事。\n\n\n#### 自我牺牲\n甚至还有人人会发展出来「**自我牺牲式的爱**」。有个妻子,她老公总是欺骗她,总是有外遇。每次闹完,老公回来道歉,她又开始接受他。五六次以后,妻子去找心理医生谈。心理医生告诉她要想清楚,不能老是这样接受他。有一次这个妻子说,我又原谅他了,这次他是真的改好了。他特别怎么怎么样。结果医生发现这个妻子有“受虐倾向”。有受虐倾向的人,会把「自我牺牲」当作是「爱」。他们觉得只要我能够牺牲、奉献就好。\n\n这些东西也是来自童年的经历,就是他童年当中如果有一个这样的“楷模”,总是以自我牺牲为标榜,总是以为我为别人牺牲了那么多,所以 “你看我多好,多高尚”,他在潜意识当中就会慢慢接受“自我牺牲就是爱”这种想法。\n\n\n **自我界限**: \n小孩子刚出生的时候是没有自我界限的。他在挥动胳膊的时候,觉得整个房间都在动,他与这个世界没有是分割的。到了两三岁发现自己挥动胳膊的时候,房间没有动,甚至他发现自己哭的时候,别人并不饿。 才能慢慢感受到原来自己跟他人是不一样的。到青春期这个人的自我界限已经开始完全封闭起来了。原来这个世界只有我自己,连我的父母都不了解我,我的喜怒哀乐他们根本不知道。所以人们开始陷入深深的孤独。青春期的孩子觉得自己最“孤独”,他觉得没人理解他,我是一个完全独一无二的个体,谁跟我都不一样,他的自我界限完全封闭起来。\n到了谈恋爱。谈恋爱是需要冒风险的,你是需要有勇气打开自我的界限,和另外一个人融为一体的。所以初恋的时候,很多人会有「**圣洁**」的感觉。就是“我打开了”,有一个人竟然“完全懂我”。有一个人可以跟我融为一体,那种水乳交融的感觉,他以为自己找到了「真爱」。因为他的边界在短期的崩溃。当他的自我边界崩溃以后,他感受到了生命的狂喜,那个就是短暂的获得了「爱」的感觉。但是那是假象。`因为那个并不建立在令我和对方人格不断成熟的一个过程当中。他并不是希望达成心智的成熟,他只是自我边界的短暂崩溃`。所以过了一两个月以后,这个自我界限慢慢弥合起来,他发现说“这个人怎么跟我也不一样”?“这个人的想法跟我也不同”。 现在的孩子谈恋爱特别快,有感觉就谈,没感觉了就分。把「感觉」当成了「爱」,事实上感觉只是欲望,是性欲。\n 但不要觉得欲望不是一件好事,无论是欲望,还是依赖,或者过度关注这样的东西,都是`培养爱的基础`。\n正是因为两个人打破了边界,走到一起,双方有可能为对方作出了承诺。接下来为了完成自己的承诺,需要不断的努力,需要有自律性。当你的自律性跟承诺相结合在起来的时候,你的这个短暂的恋爱的感觉爱,会慢慢滋生出真正的爱。 能够带来对方和自己心智共同的成熟。\n \n \n\n``真正的「爱」`` :爱是实际行动,是真正的付出。\n\n爱的感觉与精神贯注密不可分。后者是把情感与兴趣贯注在对外的对象上,将其当作属于自己的一部分。精神贯注虽然跟真正的爱容易混淆,但是依然有显著的区别。首先,精神贯注的对象不一定是有生命的事物。因此就不见得会有心灵的感受。其次,对某种事物产生精神贯注的人,未必会重视其心智的成熟。(比如无原则溺爱孩子的父母)第三,精神贯注可能与智慧和责任无关。(酒吧认识一个人,立刻就情有所钟。但没有任何计划性,没有后续责任)。最后,精神贯注随时都有可能消失。今晚还很开心,明天不开心就分手啰。\n\n 真正的爱需要投入和奉献,需要付出全部的智慧与力量。要使爱的对象得到成长,就必须付出足够多的努力,不然爱的愿望就会落空。 唯有真正的投入与奉献,才是实现爱的有效方式。真正的爱是自主的选择,无论「爱」的「感觉」是否存在, 都要奉献出情感和智慧。\n\n \n\n**「爱」的表现**\n\n1. 倾听。我们真的能够拿出时间来,认真倾听对方的说话。最起码的尊重是通过倾听来展开的,我们要做一个良好的「倾听者」。\n2. 要有心里准备,接受爱的时候,就要准备承担风险。(有人经历过丧失亲人,之后就特别怕建立亲密关系。因为怕失去,「失去」的痛苦吓坏了他。)(爱还要面临冲突的风险。)\n3. 需要尊重对方的独立性。否则就是占有,就是依赖。\n\n### 信仰\n\n#### 科学也是信仰\n科学也是一种信仰。这个世界上上信科学的人比信宗教的人多。人不是生活在一个真实的世界当中的,人是生活在思想家为我们所设定的思想通道当中的。科学家在不断的拓宽我们人类的视线,建立了科学的信仰。 作者认为宗教的信仰在某种程度上可能会导致人的某些情况下的精神分裂。但是在某些情况下也会带来信念,帮助人们解决心理的问题。比喻:倒洗澡水的时候,千万不要把婴儿也倒出去。对待信仰的时候,不能过于简单化。\n\n#### 原罪\n作者认为人类的`「原罪」`就是`「懒惰」`。\n\n自律需要用力,爱需要用力,这个世界天然的方向是「熵增」,屋子一定会变乱。我花力气把屋子整理干净十个「逆熵」的过程,逆熵是需要话费气力的。 人天生喜欢熵增,喜欢懒惰。在伊甸园,其实上帝经常在园子里散步。这两孩子如果能去问一下,这玩意儿能吃吗?人类的命运就改变了。这两个人为什么不去问 一下上帝呢?因为这两孩子「懒惰」,而「懒惰」的背后是「恐惧」。他们担心问了上帝以后受到上帝的责罚。\n>(天涯:我认为这个解释不对。那个时候的亚当和夏娃没有罪恶感,也从来没有受过责罚,怎么会有这个恐惧呢?而恐惧则是被赶出伊甸园以后人类才有的心智。)\n\n有人不好好学习,是因为就算好好学习了也未必学得好啊。如果好好学了而没有学好,就会面对失去「我不是没能力,只是不愿学而已」这块遮羞布的恐惧。\n\n尽量要做到潜意识和意识「合一」。因为潜意识里面有很多的能量,而我们由于“懒惰”以及“恐惧”不愿意去开发的,不愿意去面对的。\n\n这本书为什么叫【少有人走的路】呢?因为人人都喜欢熵增的方向,都喜欢轻松的方向,人人都喜欢懒惰的方向。喜欢部分什么劲,就得到一切的这种感觉。如果你想要变得成熟,就要费力去做一些逆熵的行为,自律的事,延迟满足的事,用行动表达「爱」的 过程。\n\n#### 两种力量\n这个世界始终是由两种力量来统治的,分别是「政治的力量」和「心灵的力量」。\n\n【政治的力量】[](def_政治的力量):以公开或者隐秘的方式,去强迫别人遵循自己的意愿。这种力量既存在于权力之中,也存在于金钱之中。然而他并不属于拥有权力或者金钱的人。归根到底,政治的力量和德行以及智慧无关,最愚蠢最邪恶的人也可能成为地球的统治者。\n【心灵的力量】[](def_心灵的力量):则完全存在于人类的心中,它和强迫、控制别人的力量没有关系。它是在意识基础上作出决定的力量。也就是「意识的力量」。\n\n如果我们的心理能够得到力量,我们就会感到舒适和愉快,在人生的旅途上稳扎稳打,循序渐进。 进步带给我们的愉悦感难以言喻。没有什么比成为人生的专家,熟知自己所做的事情,更让人感觉到幸福。我们的心灵越是成熟,就越有可能成为人生的专家。当我们的心智成熟到一定的阶段,我们就会更加谦逊而快乐。\n\n---\n\n","slug":"读书笔记/《少有人走的路》笔记","published":1,"updated":"2019-08-01T04:04:18.000Z","_id":"cka1y597q00134huu98tdadd8","comments":1,"layout":"post","photos":[],"link":"","content":"成熟 = 自律 + 爱
\n \n自律 \n【自律】 : 主动要求自己以积极的态度去承受痛苦,解决问题。
\n自律的四个原则
:延迟满足感、承担责任、忠于事实、保持平衡。:smile:
\n1 延迟满足感 \n\n \n人生当中总是绕着困难走。一个揍孩子和对孩子大喊大叫的父母就是不懂得延迟满足感的父母。 应该陪着孩子一起经历困难和痛苦。而父母试图通过家庭暴力的方式,试图将父母本身的责任区隔开。父母没有学会延迟满足感,这个孩子将来长大了也不会。很多人延迟满足感的能力非常糟糕,来自于父母的不自律。当父母不自律的时候,孩子就没法获得足够的爱和照顾。—— 所以这个孩子会忽略自我的价值。有的人喜欢浪费时间,而浪费时间的意思就是,_「我这个人的时间没什么价值」_。\n不会延迟满足感的人,在长大后看到问题会假装没看到,以为等着问题慢慢就会过去,期待问题自行消失。\n \n\n\n训斥孩子 ~> 是为了迅速达成目的,而不是耐心陪孩子面对问题。 \n父母不自律 => 孩子不自律 \n不会延迟满足感 => 有意忽略问题 \n \n \n2 承担责任 \n\n神经官能症 : 把一切东西都认为是自己的问题。 \n \n\n我如果怎么样就好了。我要是不怎么样就好了。总是充满后悔和内疚。祥林嫂
\n \n\n人格失调症 :他认为这一切都不是我的问题。他能找到任何一个理由,是因为外在的东西,他就不会责怪自己,他认为都是你们的问题。 \n \n\n「神经官能症」自己活得很痛苦,「人格失调症」让别人活得很痛苦。
\n \n\n \n作者提供在冲绳岛上的一个案例,一个军官的妻子,宁愿自杀也不愿意去学自动挡开车的事。\n从某种意义上说,所有的孩子都患有人格失调症,都会本能的逃避责罚。 同时又患有某种神经官能症,把自己承受的痛苦看成是罪有应得。缺少关心的孩子会自惭形秽,认为自己不够可爱,缺点大于优点等等。\n \n如果你不能解决问题,那么你自己就会成为问题。我们需要合理的承担责任,既不把责任全部推卸到外部,也不把责任全部揽到自己身上。保持一个合理的平衡。
\n\n 如果你不能让自己成为人格更加健全,更加成熟的人。你就会把问题带给你的孩子,带给你的家庭。
\n \n3 忠于事实 \n大量的人是生活在自己的幻想当中的。这叫人生地图 。他给自己绘制一张人生地图,他认为人生就这样,他已经认定了。这就叫做“不忠于事实”,他只 忠于自己的幻想 。
\n\n \n案例:有个人小时候被父母欺骗过,就是父母说话经常不算数。导致他潜意识积累了一个信念:“父母是不可信”的。当他的人生地图绘制出来这么一个坐标,认为父母不可信了自后,他几乎就推论到“人人都不可信”。所以在他一生的成长过程当中,他跟警察发生矛盾,跟领导发生矛盾,跟顾客发生矛盾,跟妻子发生矛盾。案例中最后他唯一信任的是他的两个孩子。妻子把两个孩子带走,所以他人生也崩溃了。他跟作者约定时间不来,然后他说能不能星期六,作者说我的时间是跟别人约过的,不能随便调整。他说:“你不是心理医生吗?为什么不能多关心我一点呢”?他认为作者(心理医生)也是不可信任的人,直接拉黑。\n \n这种人你很难跟他解释,很难让他面对真正的世界。因为在他心目当中完全是用自己的一套逻辑在解决问题。\n所以所谓的「心理治疗」,就是鼓励「说真话」的游戏。鼓励大家能够面对事实,能够把自己看到的真相,感受到的真实的感觉,说出来的一个过程。所以没有经过这样的调试,有大量的人是天天活在「幻觉」当中的,就是沉浸在自己的人生地图当中。根本不去看一看,别人的地图是什么样。也根本不去看一看实际的生活当中,事实是什么样的。
\n 移情 :人们会把对一个人的感情和经验移植在别人身上。会认为别人也这样。
\n\n 应该说移情、或者忽略史实,也是一种懒惰的表现。因为去更新地图是件很费力的事情。
\n \n4 保持平衡 \n既要承担责任,也要拒绝承担不该承担的责任。差不多又回到了「中庸」之道。「延迟满足」也不能延迟到无限, 从来不过好日子。既要延迟满足,也要过好当下的生活。要有一个富于弹性的约束机制。好像骑自行车下坡一样,既要享受速度,也要注意刹车。为了待会安全的拐弯,也要捏一捏车闸。 \n生活就是一个不断放弃的过程。必须能够学会放弃一件又一件的事情。包括接受心理治疗就是「放弃」—— 放弃了一个「自己是正常人」 的想法。
\n\n埃里克 埃里克森列举的人一生当中不断放弃的事情 \n\n首先要放弃「无需对外界要求作出回应」的婴儿状态。 \n三四岁的时候有「无所不能的幻觉」,这个要放弃掉。(为何小孩子特别喜欢绿巨人、钢铁侠、金刚狼这样的超级英雄?因为每个人在三四岁的时候都曾经幻想过自己是无所不能的超人。所以这种童话永远有市场。) \n放弃完全占有父亲或者母亲的欲望。放弃童年的依赖感。 \n放弃心中被扭曲了的父母形象。(我们曾经以为父母是完美的)放弃。 \n青春期的自以为拥有「无穷潜力」的感觉。放弃! I am the King of the World! \n无拘无束的自由 \n青年时期的灵巧与活力 \n青春时期的性吸引力;长生不老的空想。 \n对子女的权威(在子女面前总是说了算的) \n各种各样「暂时性」的权力——退休了,社会给你的权力也没有了。 \n身体永远健康——放弃 \n最后,自我以及生命本身也要放弃。 \n \n \n爱 \n【爱】 :为了促进自己和他人心智成熟,而不断拓展自我界限,实现自我完善的一种意愿。
\n\n核心观点就是「要看重心智成熟这件事」。心智成熟是发生在你和被爱的那个人之间的,两个人都需要达成心智成熟。 \n不要以为一昧的付出就是爱。爱的要求很高。要达成两个的共同成熟
\n \n一个人懂得什么是真正的爱,才能够是一个真正成熟的人。否则你会看到很多人以「爱」的名义在伤害、控制、占有对方。「爱」有以下四个误区:过度关注、坠入情网、精神灌注、自我牺牲。
\n过度关注 \n\n\n实际上是一种「依赖」 \n例子,一个妈妈,孩子都上高中了,还每天开车接送孩子上学。说孩子一个上学走太让人担心了。「过度关注」实际上是一种「依赖」。(妈妈在“依赖”这个孩子
)这种类型的人经常说的话是“没有你我活不下去”。这个小孩之所以出现在书中,是因为孩子长大后来做了心理咨询。他在人生当中做任何事情都不成功。他的能力非常的欠缺。为什么?因为他从小到大完全被母爱这样束缚着。他妈妈根本不去管孩子能否「成熟」。他妈妈根本不去管这样做对孩子的心智健康、发展有没有好处。唯一的就是「你别出事,我必须盯着你」!`她不是为对方在做这样的事,她是在为自己做这样的事情。如果发展到极致,变得很严重的话,会变成一种疾病,叫「消极性依赖人格失调症 」。—— 他必须依赖某一个外在的东西,他才能够觉得自己是存在的。如果有这么一个人,就是死死的缠住他,就是不离开他。有一个人作为对象,他才能找到自己的位置。如果找不到这样的人,就很可能会沉迷于毒品和酒精。
\n \n\n对「爱」无度的索求 \n对别人的爱根本与对方无关,他只是希望找到一个人,能够投射自己在上面,能够找到自己——「因为有人爱我,我就存在」。(例子,有个人离婚了,生活很痛苦,用酒精麻醉自己。咨询的第二天来跟医生说,我好了,我现在很幸福。因为昨晚在酒吧认识一个女人,她说她爱我。我现在很好。)总是苦思如何获得别人的爱,却没有精力去爱别人。就像饥肠辘辘的人,总想着向别人讨要食物,却拿不出食物来帮助别人。他们永远孤独寂寞,永远无法体会到满足感。
尤其可怕的是,他们不知道自己患上了「消极性依赖人格失调症」。其造成原因多是童年缺乏爱,然后总觉的自己「没资格被爱」。人要感觉自己是被爱的,才有资格跟别人平起平坐,独立地生活和对话。患有这种心理疾病的人,他根本没有感觉到自己的资格,永远都在怀疑别人不爱他。所以只要别人拒绝他,就会感到无比的痛苦和伤心。而他永远需要找到一个紧紧拉住的,依赖的对象。这不是爱,这是占有。
\n \n \n坠入情网 \n坠入情网是欲望 。是你体内的激素分泌。因为我们的基因要求我们要生殖,见到异性感觉自己爱上他了。实际上是自己的一种欲望。一段时间后当你的欲望被释放掉了,体内的激素的大潮开始退去的时候,会发现这个人看起啦那么讨厌。坠入情网实际上是「自我界限的短暂崩溃」
。除了自我界限的理论,还有以下几个点:
\n\n不是出于主管意愿,它不是一个有计划有意识的选择。(很多人只把它看成一个感觉,而不是一个「动作」,爱是一个动词,不是感觉) \n不是自我界限的扩展,而是自我界限的部分的暂时性的崩溃。扩展自我界限需要付出足够的努力,坠入情网却无需努力。 \n坠入情网唯一的作用是消除寂寞。而不是有目的的促进心灵的成长。 \n简单来说贪恋爱可能是「爱」的发端,可能能培养出来爱,但它不是「爱」本身。 \n \n精神贯注 \n爱宠物、爱好这些也不是爱
,而是「精神贯注」。就是当你把自己的精神贯注在一个事物上的时候,你以为这只狗“懂你”,其实上是“你投射在了它身上”,你在猜想它的想法。跟真正的爱不一样。为什么呢:
\n\n首先,我们跟宠物的沟通非常有限。我们不知道他们每天在想什么,却一厢情愿的把自己的想法和感受投射在它们身上。实际上这只是我们的主观愿望罢了。 \n其次,我们喜欢宠物的原因是因为它们表现乖巧,任凭摆弄。如果宠物不听话,破坏家具,随意大小便,甚至咬上我们几口。我们就可能把它赶出家门。如果要改变宠物的心智,我们只能把它送到宠物学校。如果与某个人相处,局面就完全不同了。 \n \n有一种精神贯注叫「婴儿之爱」。 很多妈妈只喜欢婴儿期的孩子。等孩子三四岁以后妈妈开始烦了。赶紧推给爷爷奶奶带。反过来呢,母爱很充沛,喜欢别人家的孩子,刚生的小婴儿。 这种不是爱,而是「唯命是从的追求」
。 比如二战后美国的「战争新娘」。一开始新娘对丈夫唯命是从,当她们懂得英语,开始融入美国社会以后,矛盾就渐渐开始产生,离婚率开始上升。
\n以上几种感情我们误以为是爱,其实不是。它们都有共同的特征,就是以「爱」作为幌子,只想满足自己的需要
。却从来不把对方的心智成熟当一回事。
\n自我牺牲 \n甚至还有人人会发展出来「自我牺牲式的爱 」。有个妻子,她老公总是欺骗她,总是有外遇。每次闹完,老公回来道歉,她又开始接受他。五六次以后,妻子去找心理医生谈。心理医生告诉她要想清楚,不能老是这样接受他。有一次这个妻子说,我又原谅他了,这次他是真的改好了。他特别怎么怎么样。结果医生发现这个妻子有“受虐倾向”。有受虐倾向的人,会把「自我牺牲」当作是「爱」。他们觉得只要我能够牺牲、奉献就好。
\n这些东西也是来自童年的经历,就是他童年当中如果有一个这样的“楷模”,总是以自我牺牲为标榜,总是以为我为别人牺牲了那么多,所以 “你看我多好,多高尚”,他在潜意识当中就会慢慢接受“自我牺牲就是爱”这种想法。
\n\n **自我界限**: \n小孩子刚出生的时候是没有自我界限的。他在挥动胳膊的时候,觉得整个房间都在动,他与这个世界没有是分割的。到了两三岁发现自己挥动胳膊的时候,房间没有动,甚至他发现自己哭的时候,别人并不饿。 才能慢慢感受到原来自己跟他人是不一样的。到青春期这个人的自我界限已经开始完全封闭起来了。原来这个世界只有我自己,连我的父母都不了解我,我的喜怒哀乐他们根本不知道。所以人们开始陷入深深的孤独。青春期的孩子觉得自己最“孤独”,他觉得没人理解他,我是一个完全独一无二的个体,谁跟我都不一样,他的自我界限完全封闭起来。\n到了谈恋爱。谈恋爱是需要冒风险的,你是需要有勇气打开自我的界限,和另外一个人融为一体的。所以初恋的时候,很多人会有「**圣洁**」的感觉。就是“我打开了”,有一个人竟然“完全懂我”。有一个人可以跟我融为一体,那种水乳交融的感觉,他以为自己找到了「真爱」。因为他的边界在短期的崩溃。当他的自我边界崩溃以后,他感受到了生命的狂喜,那个就是短暂的获得了「爱」的感觉。但是那是假象。`因为那个并不建立在令我和对方人格不断成熟的一个过程当中。他并不是希望达成心智的成熟,他只是自我边界的短暂崩溃`。所以过了一两个月以后,这个自我界限慢慢弥合起来,他发现说“这个人怎么跟我也不一样”?“这个人的想法跟我也不同”。 现在的孩子谈恋爱特别快,有感觉就谈,没感觉了就分。把「感觉」当成了「爱」,事实上感觉只是欲望,是性欲。\n 但不要觉得欲望不是一件好事,无论是欲望,还是依赖,或者过度关注这样的东西,都是`培养爱的基础`。\n正是因为两个人打破了边界,走到一起,双方有可能为对方作出了承诺。接下来为了完成自己的承诺,需要不断的努力,需要有自律性。当你的自律性跟承诺相结合在起来的时候,你的这个短暂的恋爱的感觉爱,会慢慢滋生出真正的爱。 能够带来对方和自己心智共同的成熟。\n \n \n真正的「爱」
:爱是实际行动,是真正的付出。
\n爱的感觉与精神贯注密不可分。后者是把情感与兴趣贯注在对外的对象上,将其当作属于自己的一部分。精神贯注虽然跟真正的爱容易混淆,但是依然有显著的区别。首先,精神贯注的对象不一定是有生命的事物。因此就不见得会有心灵的感受。其次,对某种事物产生精神贯注的人,未必会重视其心智的成熟。(比如无原则溺爱孩子的父母)第三,精神贯注可能与智慧和责任无关。(酒吧认识一个人,立刻就情有所钟。但没有任何计划性,没有后续责任)。最后,精神贯注随时都有可能消失。今晚还很开心,明天不开心就分手啰。
\n 真正的爱需要投入和奉献,需要付出全部的智慧与力量。要使爱的对象得到成长,就必须付出足够多的努力,不然爱的愿望就会落空。 唯有真正的投入与奉献,才是实现爱的有效方式。真正的爱是自主的选择,无论「爱」的「感觉」是否存在, 都要奉献出情感和智慧。
\n \n「爱」的表现
\n\n倾听。我们真的能够拿出时间来,认真倾听对方的说话。最起码的尊重是通过倾听来展开的,我们要做一个良好的「倾听者」。 \n要有心里准备,接受爱的时候,就要准备承担风险。(有人经历过丧失亲人,之后就特别怕建立亲密关系。因为怕失去,「失去」的痛苦吓坏了他。)(爱还要面临冲突的风险。) \n需要尊重对方的独立性。否则就是占有,就是依赖。 \n \n信仰 \n科学也是信仰 \n科学也是一种信仰。这个世界上上信科学的人比信宗教的人多。人不是生活在一个真实的世界当中的,人是生活在思想家为我们所设定的思想通道当中的。科学家在不断的拓宽我们人类的视线,建立了科学的信仰。 作者认为宗教的信仰在某种程度上可能会导致人的某些情况下的精神分裂。但是在某些情况下也会带来信念,帮助人们解决心理的问题。比喻:倒洗澡水的时候,千万不要把婴儿也倒出去。对待信仰的时候,不能过于简单化。
\n原罪 \n作者认为人类的「原罪」
就是「懒惰」
。
\n自律需要用力,爱需要用力,这个世界天然的方向是「熵增」,屋子一定会变乱。我花力气把屋子整理干净十个「逆熵」的过程,逆熵是需要话费气力的。 人天生喜欢熵增,喜欢懒惰。在伊甸园,其实上帝经常在园子里散步。这两孩子如果能去问一下,这玩意儿能吃吗?人类的命运就改变了。这两个人为什么不去问 一下上帝呢?因为这两孩子「懒惰」,而「懒惰」的背后是「恐惧」。他们担心问了上帝以后受到上帝的责罚。
\n\n(天涯:我认为这个解释不对。那个时候的亚当和夏娃没有罪恶感,也从来没有受过责罚,怎么会有这个恐惧呢?而恐惧则是被赶出伊甸园以后人类才有的心智。)
\n \n有人不好好学习,是因为就算好好学习了也未必学得好啊。如果好好学了而没有学好,就会面对失去「我不是没能力,只是不愿学而已」这块遮羞布的恐惧。
\n尽量要做到潜意识和意识「合一」。因为潜意识里面有很多的能量,而我们由于“懒惰”以及“恐惧”不愿意去开发的,不愿意去面对的。
\n这本书为什么叫【少有人走的路】呢?因为人人都喜欢熵增的方向,都喜欢轻松的方向,人人都喜欢懒惰的方向。喜欢部分什么劲,就得到一切的这种感觉。如果你想要变得成熟,就要费力去做一些逆熵的行为,自律的事,延迟满足的事,用行动表达「爱」的 过程。
\n两种力量 \n这个世界始终是由两种力量来统治的,分别是「政治的力量」和「心灵的力量」。
\n【政治的力量】 :以公开或者隐秘的方式,去强迫别人遵循自己的意愿。这种力量既存在于权力之中,也存在于金钱之中。然而他并不属于拥有权力或者金钱的人。归根到底,政治的力量和德行以及智慧无关,最愚蠢最邪恶的人也可能成为地球的统治者。 \n【心灵的力量】 :则完全存在于人类的心中,它和强迫、控制别人的力量没有关系。它是在意识基础上作出决定的力量。也就是「意识的力量」。
\n如果我们的心理能够得到力量,我们就会感到舒适和愉快,在人生的旅途上稳扎稳打,循序渐进。 进步带给我们的愉悦感难以言喻。没有什么比成为人生的专家,熟知自己所做的事情,更让人感觉到幸福。我们的心灵越是成熟,就越有可能成为人生的专家。当我们的心智成熟到一定的阶段,我们就会更加谦逊而快乐。
\n \n","site":{"data":{}},"excerpt":"成熟 = 自律 + 爱
","more":"自律 \n【自律】 : 主动要求自己以积极的态度去承受痛苦,解决问题。
\n自律的四个原则
:延迟满足感、承担责任、忠于事实、保持平衡。:smile:
\n1 延迟满足感 \n\n \n人生当中总是绕着困难走。一个揍孩子和对孩子大喊大叫的父母就是不懂得延迟满足感的父母。 应该陪着孩子一起经历困难和痛苦。而父母试图通过家庭暴力的方式,试图将父母本身的责任区隔开。父母没有学会延迟满足感,这个孩子将来长大了也不会。很多人延迟满足感的能力非常糟糕,来自于父母的不自律。当父母不自律的时候,孩子就没法获得足够的爱和照顾。—— 所以这个孩子会忽略自我的价值。有的人喜欢浪费时间,而浪费时间的意思就是,_「我这个人的时间没什么价值」_。\n不会延迟满足感的人,在长大后看到问题会假装没看到,以为等着问题慢慢就会过去,期待问题自行消失。\n \n\n\n训斥孩子 ~> 是为了迅速达成目的,而不是耐心陪孩子面对问题。 \n父母不自律 => 孩子不自律 \n不会延迟满足感 => 有意忽略问题 \n \n \n2 承担责任 \n\n神经官能症 : 把一切东西都认为是自己的问题。 \n \n\n我如果怎么样就好了。我要是不怎么样就好了。总是充满后悔和内疚。祥林嫂
\n \n\n人格失调症 :他认为这一切都不是我的问题。他能找到任何一个理由,是因为外在的东西,他就不会责怪自己,他认为都是你们的问题。 \n \n\n「神经官能症」自己活得很痛苦,「人格失调症」让别人活得很痛苦。
\n \n\n \n作者提供在冲绳岛上的一个案例,一个军官的妻子,宁愿自杀也不愿意去学自动挡开车的事。\n从某种意义上说,所有的孩子都患有人格失调症,都会本能的逃避责罚。 同时又患有某种神经官能症,把自己承受的痛苦看成是罪有应得。缺少关心的孩子会自惭形秽,认为自己不够可爱,缺点大于优点等等。\n \n如果你不能解决问题,那么你自己就会成为问题。我们需要合理的承担责任,既不把责任全部推卸到外部,也不把责任全部揽到自己身上。保持一个合理的平衡。
\n\n 如果你不能让自己成为人格更加健全,更加成熟的人。你就会把问题带给你的孩子,带给你的家庭。
\n \n3 忠于事实 \n大量的人是生活在自己的幻想当中的。这叫人生地图 。他给自己绘制一张人生地图,他认为人生就这样,他已经认定了。这就叫做“不忠于事实”,他只 忠于自己的幻想 。
\n\n \n案例:有个人小时候被父母欺骗过,就是父母说话经常不算数。导致他潜意识积累了一个信念:“父母是不可信”的。当他的人生地图绘制出来这么一个坐标,认为父母不可信了自后,他几乎就推论到“人人都不可信”。所以在他一生的成长过程当中,他跟警察发生矛盾,跟领导发生矛盾,跟顾客发生矛盾,跟妻子发生矛盾。案例中最后他唯一信任的是他的两个孩子。妻子把两个孩子带走,所以他人生也崩溃了。他跟作者约定时间不来,然后他说能不能星期六,作者说我的时间是跟别人约过的,不能随便调整。他说:“你不是心理医生吗?为什么不能多关心我一点呢”?他认为作者(心理医生)也是不可信任的人,直接拉黑。\n \n这种人你很难跟他解释,很难让他面对真正的世界。因为在他心目当中完全是用自己的一套逻辑在解决问题。\n所以所谓的「心理治疗」,就是鼓励「说真话」的游戏。鼓励大家能够面对事实,能够把自己看到的真相,感受到的真实的感觉,说出来的一个过程。所以没有经过这样的调试,有大量的人是天天活在「幻觉」当中的,就是沉浸在自己的人生地图当中。根本不去看一看,别人的地图是什么样。也根本不去看一看实际的生活当中,事实是什么样的。
\n 移情 :人们会把对一个人的感情和经验移植在别人身上。会认为别人也这样。
\n\n 应该说移情、或者忽略史实,也是一种懒惰的表现。因为去更新地图是件很费力的事情。
\n \n4 保持平衡 \n既要承担责任,也要拒绝承担不该承担的责任。差不多又回到了「中庸」之道。「延迟满足」也不能延迟到无限, 从来不过好日子。既要延迟满足,也要过好当下的生活。要有一个富于弹性的约束机制。好像骑自行车下坡一样,既要享受速度,也要注意刹车。为了待会安全的拐弯,也要捏一捏车闸。 \n生活就是一个不断放弃的过程。必须能够学会放弃一件又一件的事情。包括接受心理治疗就是「放弃」—— 放弃了一个「自己是正常人」 的想法。
\n\n埃里克 埃里克森列举的人一生当中不断放弃的事情 \n\n首先要放弃「无需对外界要求作出回应」的婴儿状态。 \n三四岁的时候有「无所不能的幻觉」,这个要放弃掉。(为何小孩子特别喜欢绿巨人、钢铁侠、金刚狼这样的超级英雄?因为每个人在三四岁的时候都曾经幻想过自己是无所不能的超人。所以这种童话永远有市场。) \n放弃完全占有父亲或者母亲的欲望。放弃童年的依赖感。 \n放弃心中被扭曲了的父母形象。(我们曾经以为父母是完美的)放弃。 \n青春期的自以为拥有「无穷潜力」的感觉。放弃! I am the King of the World! \n无拘无束的自由 \n青年时期的灵巧与活力 \n青春时期的性吸引力;长生不老的空想。 \n对子女的权威(在子女面前总是说了算的) \n各种各样「暂时性」的权力——退休了,社会给你的权力也没有了。 \n身体永远健康——放弃 \n最后,自我以及生命本身也要放弃。 \n \n \n爱 \n【爱】 :为了促进自己和他人心智成熟,而不断拓展自我界限,实现自我完善的一种意愿。
\n\n核心观点就是「要看重心智成熟这件事」。心智成熟是发生在你和被爱的那个人之间的,两个人都需要达成心智成熟。 \n不要以为一昧的付出就是爱。爱的要求很高。要达成两个的共同成熟
\n \n一个人懂得什么是真正的爱,才能够是一个真正成熟的人。否则你会看到很多人以「爱」的名义在伤害、控制、占有对方。「爱」有以下四个误区:过度关注、坠入情网、精神灌注、自我牺牲。
\n过度关注 \n\n\n实际上是一种「依赖」 \n例子,一个妈妈,孩子都上高中了,还每天开车接送孩子上学。说孩子一个上学走太让人担心了。「过度关注」实际上是一种「依赖」。(妈妈在“依赖”这个孩子
)这种类型的人经常说的话是“没有你我活不下去”。这个小孩之所以出现在书中,是因为孩子长大后来做了心理咨询。他在人生当中做任何事情都不成功。他的能力非常的欠缺。为什么?因为他从小到大完全被母爱这样束缚着。他妈妈根本不去管孩子能否「成熟」。他妈妈根本不去管这样做对孩子的心智健康、发展有没有好处。唯一的就是「你别出事,我必须盯着你」!`她不是为对方在做这样的事,她是在为自己做这样的事情。如果发展到极致,变得很严重的话,会变成一种疾病,叫「消极性依赖人格失调症 」。—— 他必须依赖某一个外在的东西,他才能够觉得自己是存在的。如果有这么一个人,就是死死的缠住他,就是不离开他。有一个人作为对象,他才能找到自己的位置。如果找不到这样的人,就很可能会沉迷于毒品和酒精。
\n \n\n对「爱」无度的索求 \n对别人的爱根本与对方无关,他只是希望找到一个人,能够投射自己在上面,能够找到自己——「因为有人爱我,我就存在」。(例子,有个人离婚了,生活很痛苦,用酒精麻醉自己。咨询的第二天来跟医生说,我好了,我现在很幸福。因为昨晚在酒吧认识一个女人,她说她爱我。我现在很好。)总是苦思如何获得别人的爱,却没有精力去爱别人。就像饥肠辘辘的人,总想着向别人讨要食物,却拿不出食物来帮助别人。他们永远孤独寂寞,永远无法体会到满足感。
尤其可怕的是,他们不知道自己患上了「消极性依赖人格失调症」。其造成原因多是童年缺乏爱,然后总觉的自己「没资格被爱」。人要感觉自己是被爱的,才有资格跟别人平起平坐,独立地生活和对话。患有这种心理疾病的人,他根本没有感觉到自己的资格,永远都在怀疑别人不爱他。所以只要别人拒绝他,就会感到无比的痛苦和伤心。而他永远需要找到一个紧紧拉住的,依赖的对象。这不是爱,这是占有。
\n \n \n坠入情网 \n坠入情网是欲望 。是你体内的激素分泌。因为我们的基因要求我们要生殖,见到异性感觉自己爱上他了。实际上是自己的一种欲望。一段时间后当你的欲望被释放掉了,体内的激素的大潮开始退去的时候,会发现这个人看起啦那么讨厌。坠入情网实际上是「自我界限的短暂崩溃」
。除了自我界限的理论,还有以下几个点:
\n\n不是出于主管意愿,它不是一个有计划有意识的选择。(很多人只把它看成一个感觉,而不是一个「动作」,爱是一个动词,不是感觉) \n不是自我界限的扩展,而是自我界限的部分的暂时性的崩溃。扩展自我界限需要付出足够的努力,坠入情网却无需努力。 \n坠入情网唯一的作用是消除寂寞。而不是有目的的促进心灵的成长。 \n简单来说贪恋爱可能是「爱」的发端,可能能培养出来爱,但它不是「爱」本身。 \n \n精神贯注 \n爱宠物、爱好这些也不是爱
,而是「精神贯注」。就是当你把自己的精神贯注在一个事物上的时候,你以为这只狗“懂你”,其实上是“你投射在了它身上”,你在猜想它的想法。跟真正的爱不一样。为什么呢:
\n\n首先,我们跟宠物的沟通非常有限。我们不知道他们每天在想什么,却一厢情愿的把自己的想法和感受投射在它们身上。实际上这只是我们的主观愿望罢了。 \n其次,我们喜欢宠物的原因是因为它们表现乖巧,任凭摆弄。如果宠物不听话,破坏家具,随意大小便,甚至咬上我们几口。我们就可能把它赶出家门。如果要改变宠物的心智,我们只能把它送到宠物学校。如果与某个人相处,局面就完全不同了。 \n \n有一种精神贯注叫「婴儿之爱」。 很多妈妈只喜欢婴儿期的孩子。等孩子三四岁以后妈妈开始烦了。赶紧推给爷爷奶奶带。反过来呢,母爱很充沛,喜欢别人家的孩子,刚生的小婴儿。 这种不是爱,而是「唯命是从的追求」
。 比如二战后美国的「战争新娘」。一开始新娘对丈夫唯命是从,当她们懂得英语,开始融入美国社会以后,矛盾就渐渐开始产生,离婚率开始上升。
\n以上几种感情我们误以为是爱,其实不是。它们都有共同的特征,就是以「爱」作为幌子,只想满足自己的需要
。却从来不把对方的心智成熟当一回事。
\n自我牺牲 \n甚至还有人人会发展出来「自我牺牲式的爱 」。有个妻子,她老公总是欺骗她,总是有外遇。每次闹完,老公回来道歉,她又开始接受他。五六次以后,妻子去找心理医生谈。心理医生告诉她要想清楚,不能老是这样接受他。有一次这个妻子说,我又原谅他了,这次他是真的改好了。他特别怎么怎么样。结果医生发现这个妻子有“受虐倾向”。有受虐倾向的人,会把「自我牺牲」当作是「爱」。他们觉得只要我能够牺牲、奉献就好。
\n这些东西也是来自童年的经历,就是他童年当中如果有一个这样的“楷模”,总是以自我牺牲为标榜,总是以为我为别人牺牲了那么多,所以 “你看我多好,多高尚”,他在潜意识当中就会慢慢接受“自我牺牲就是爱”这种想法。
\n\n **自我界限**: \n小孩子刚出生的时候是没有自我界限的。他在挥动胳膊的时候,觉得整个房间都在动,他与这个世界没有是分割的。到了两三岁发现自己挥动胳膊的时候,房间没有动,甚至他发现自己哭的时候,别人并不饿。 才能慢慢感受到原来自己跟他人是不一样的。到青春期这个人的自我界限已经开始完全封闭起来了。原来这个世界只有我自己,连我的父母都不了解我,我的喜怒哀乐他们根本不知道。所以人们开始陷入深深的孤独。青春期的孩子觉得自己最“孤独”,他觉得没人理解他,我是一个完全独一无二的个体,谁跟我都不一样,他的自我界限完全封闭起来。\n到了谈恋爱。谈恋爱是需要冒风险的,你是需要有勇气打开自我的界限,和另外一个人融为一体的。所以初恋的时候,很多人会有「**圣洁**」的感觉。就是“我打开了”,有一个人竟然“完全懂我”。有一个人可以跟我融为一体,那种水乳交融的感觉,他以为自己找到了「真爱」。因为他的边界在短期的崩溃。当他的自我边界崩溃以后,他感受到了生命的狂喜,那个就是短暂的获得了「爱」的感觉。但是那是假象。`因为那个并不建立在令我和对方人格不断成熟的一个过程当中。他并不是希望达成心智的成熟,他只是自我边界的短暂崩溃`。所以过了一两个月以后,这个自我界限慢慢弥合起来,他发现说“这个人怎么跟我也不一样”?“这个人的想法跟我也不同”。 现在的孩子谈恋爱特别快,有感觉就谈,没感觉了就分。把「感觉」当成了「爱」,事实上感觉只是欲望,是性欲。\n 但不要觉得欲望不是一件好事,无论是欲望,还是依赖,或者过度关注这样的东西,都是`培养爱的基础`。\n正是因为两个人打破了边界,走到一起,双方有可能为对方作出了承诺。接下来为了完成自己的承诺,需要不断的努力,需要有自律性。当你的自律性跟承诺相结合在起来的时候,你的这个短暂的恋爱的感觉爱,会慢慢滋生出真正的爱。 能够带来对方和自己心智共同的成熟。\n \n \n真正的「爱」
:爱是实际行动,是真正的付出。
\n爱的感觉与精神贯注密不可分。后者是把情感与兴趣贯注在对外的对象上,将其当作属于自己的一部分。精神贯注虽然跟真正的爱容易混淆,但是依然有显著的区别。首先,精神贯注的对象不一定是有生命的事物。因此就不见得会有心灵的感受。其次,对某种事物产生精神贯注的人,未必会重视其心智的成熟。(比如无原则溺爱孩子的父母)第三,精神贯注可能与智慧和责任无关。(酒吧认识一个人,立刻就情有所钟。但没有任何计划性,没有后续责任)。最后,精神贯注随时都有可能消失。今晚还很开心,明天不开心就分手啰。
\n 真正的爱需要投入和奉献,需要付出全部的智慧与力量。要使爱的对象得到成长,就必须付出足够多的努力,不然爱的愿望就会落空。 唯有真正的投入与奉献,才是实现爱的有效方式。真正的爱是自主的选择,无论「爱」的「感觉」是否存在, 都要奉献出情感和智慧。
\n \n「爱」的表现
\n\n倾听。我们真的能够拿出时间来,认真倾听对方的说话。最起码的尊重是通过倾听来展开的,我们要做一个良好的「倾听者」。 \n要有心里准备,接受爱的时候,就要准备承担风险。(有人经历过丧失亲人,之后就特别怕建立亲密关系。因为怕失去,「失去」的痛苦吓坏了他。)(爱还要面临冲突的风险。) \n需要尊重对方的独立性。否则就是占有,就是依赖。 \n \n信仰 \n科学也是信仰 \n科学也是一种信仰。这个世界上上信科学的人比信宗教的人多。人不是生活在一个真实的世界当中的,人是生活在思想家为我们所设定的思想通道当中的。科学家在不断的拓宽我们人类的视线,建立了科学的信仰。 作者认为宗教的信仰在某种程度上可能会导致人的某些情况下的精神分裂。但是在某些情况下也会带来信念,帮助人们解决心理的问题。比喻:倒洗澡水的时候,千万不要把婴儿也倒出去。对待信仰的时候,不能过于简单化。
\n原罪 \n作者认为人类的「原罪」
就是「懒惰」
。
\n自律需要用力,爱需要用力,这个世界天然的方向是「熵增」,屋子一定会变乱。我花力气把屋子整理干净十个「逆熵」的过程,逆熵是需要话费气力的。 人天生喜欢熵增,喜欢懒惰。在伊甸园,其实上帝经常在园子里散步。这两孩子如果能去问一下,这玩意儿能吃吗?人类的命运就改变了。这两个人为什么不去问 一下上帝呢?因为这两孩子「懒惰」,而「懒惰」的背后是「恐惧」。他们担心问了上帝以后受到上帝的责罚。
\n\n(天涯:我认为这个解释不对。那个时候的亚当和夏娃没有罪恶感,也从来没有受过责罚,怎么会有这个恐惧呢?而恐惧则是被赶出伊甸园以后人类才有的心智。)
\n \n有人不好好学习,是因为就算好好学习了也未必学得好啊。如果好好学了而没有学好,就会面对失去「我不是没能力,只是不愿学而已」这块遮羞布的恐惧。
\n尽量要做到潜意识和意识「合一」。因为潜意识里面有很多的能量,而我们由于“懒惰”以及“恐惧”不愿意去开发的,不愿意去面对的。
\n这本书为什么叫【少有人走的路】呢?因为人人都喜欢熵增的方向,都喜欢轻松的方向,人人都喜欢懒惰的方向。喜欢部分什么劲,就得到一切的这种感觉。如果你想要变得成熟,就要费力去做一些逆熵的行为,自律的事,延迟满足的事,用行动表达「爱」的 过程。
\n两种力量 \n这个世界始终是由两种力量来统治的,分别是「政治的力量」和「心灵的力量」。
\n【政治的力量】 :以公开或者隐秘的方式,去强迫别人遵循自己的意愿。这种力量既存在于权力之中,也存在于金钱之中。然而他并不属于拥有权力或者金钱的人。归根到底,政治的力量和德行以及智慧无关,最愚蠢最邪恶的人也可能成为地球的统治者。 \n【心灵的力量】 :则完全存在于人类的心中,它和强迫、控制别人的力量没有关系。它是在意识基础上作出决定的力量。也就是「意识的力量」。
\n如果我们的心理能够得到力量,我们就会感到舒适和愉快,在人生的旅途上稳扎稳打,循序渐进。 进步带给我们的愉悦感难以言喻。没有什么比成为人生的专家,熟知自己所做的事情,更让人感觉到幸福。我们的心灵越是成熟,就越有可能成为人生的专家。当我们的心智成熟到一定的阶段,我们就会更加谦逊而快乐。
\n "},{"title":"JavaScript & Typescript技术摘要","date":"2019-09-14T07:32:15.000Z","urlname":"javascript-typescript-skills","toc":true,"notshow":false,"_content":"\nJavasript 和 Typescript 的重要技巧。\n\n\n\n\n### 零散知识点\n\n- 列举 [Enum](https://www.typescriptlang.org/docs/handbook/enums.html) \n\n### Promise\n\n##### 输出链条\n\n文档 [Promises chaning](https://javascript.info/promise-chaining) \n\n:pencil2: 可以在 `then` 函数里面跑出 结果 `或者` 第二个 `Promise` \n\n##### 等待多个 Promise\n\n```javascript\nlet p1 = promise1\nlet p2 = promise2\nconst promises = Promise.all([p1, p2])\nreturn promises\n```\n\n### 声明以及定义扩展\n\n在 `*.d.ts` 文件中声明类型 \n\n```javascript\ndeclare type Book = {\n\ttitle: string,\n\tcomment?: string\n}\n```\n\n 对 JavaScript 的原型进行扩展, 在一个 TS 文件进行定义和实现\n\n```typescript\n// ...path/common.ts\nexport {} // this will make it module\ndeclare global {\n interface String {\n IsNullOrEmpty():boolean;\n Latex(color?:string):string;\n }\n}\n\nString.prototype.IsNullOrEmpty = function(){\n return this == undefined || this == null || this == \"\"\n}\n```\n\n在需要的地方引用\n\n```typescript\nimport '..path/common';\n\nlet str = \"\"\nconst is_it_empty = str.IsNullOrEmpty()\n```\n\n\n\n### 读取文本\n\n###### Html5 标准按钮\n\n```html\n
\n```\n\nJavascript 读取文本内容并转为数据库 (*使用 sql.js*)\n\n```javascript\nLoadLocalFile(file) {\n const fileurl: File = file.target.files[0];\n const reader = new FileReader();\n reader.onload = () => {\n console.log('read file:', reader.result);\n const buffer = reader.result;\n const Uints = new Uint8Array(buffer as ArrayBuffer);\n const db = new SQL.Database(Uints);\n const nodes = db.exec('SELECT * From node');\n console.log(nodes);\n };\n\n reader.readAsArrayBuffer(fileurl);\n }\n```\n\n###### 使用nix-file-helpers 插件\n\n[文档地址](https://www.npmjs.com/package/ngx-file-helpers)\n\n[演示地址](https://www.npmjs.com/package/ngx-file-helpers)\n\nHtml\n\n```html\n导入案例 \n```\n\n代码,读取文件\n\n```javascript\nonFilePicked(file: ReadFile) {\n const Uints = new Uint8Array(file.content as ArrayBuffer);\n const db = new SQL.Database(Uints);\n const nodes = db.exec('SELECT * From node');\n console.log(nodes);\n }\n```\n\n\n\n\n\n### 测试\n\n###### 引用第三方js文件\n\n在 **angular.json** 文件的 `test-->scripts` 中添加需要引用的文件。","source":"_posts/IT/Code/Javascript技术摘要.md","raw":"---\ntitle: JavaScript & Typescript技术摘要\ndate: 2019-09-14 09:32:15\nurlname: javascript-typescript-skills\ntoc: true\ntags: [Hexo]\ncategories: [IT, Code]\nnotshow: false\n---\n\nJavasript 和 Typescript 的重要技巧。\n\n\n\n\n### 零散知识点\n\n- 列举 [Enum](https://www.typescriptlang.org/docs/handbook/enums.html) \n\n### Promise\n\n##### 输出链条\n\n文档 [Promises chaning](https://javascript.info/promise-chaining) \n\n:pencil2: 可以在 `then` 函数里面跑出 结果 `或者` 第二个 `Promise` \n\n##### 等待多个 Promise\n\n```javascript\nlet p1 = promise1\nlet p2 = promise2\nconst promises = Promise.all([p1, p2])\nreturn promises\n```\n\n### 声明以及定义扩展\n\n在 `*.d.ts` 文件中声明类型 \n\n```javascript\ndeclare type Book = {\n\ttitle: string,\n\tcomment?: string\n}\n```\n\n 对 JavaScript 的原型进行扩展, 在一个 TS 文件进行定义和实现\n\n```typescript\n// ...path/common.ts\nexport {} // this will make it module\ndeclare global {\n interface String {\n IsNullOrEmpty():boolean;\n Latex(color?:string):string;\n }\n}\n\nString.prototype.IsNullOrEmpty = function(){\n return this == undefined || this == null || this == \"\"\n}\n```\n\n在需要的地方引用\n\n```typescript\nimport '..path/common';\n\nlet str = \"\"\nconst is_it_empty = str.IsNullOrEmpty()\n```\n\n\n\n### 读取文本\n\n###### Html5 标准按钮\n\n```html\n
\n```\n\nJavascript 读取文本内容并转为数据库 (*使用 sql.js*)\n\n```javascript\nLoadLocalFile(file) {\n const fileurl: File = file.target.files[0];\n const reader = new FileReader();\n reader.onload = () => {\n console.log('read file:', reader.result);\n const buffer = reader.result;\n const Uints = new Uint8Array(buffer as ArrayBuffer);\n const db = new SQL.Database(Uints);\n const nodes = db.exec('SELECT * From node');\n console.log(nodes);\n };\n\n reader.readAsArrayBuffer(fileurl);\n }\n```\n\n###### 使用nix-file-helpers 插件\n\n[文档地址](https://www.npmjs.com/package/ngx-file-helpers)\n\n[演示地址](https://www.npmjs.com/package/ngx-file-helpers)\n\nHtml\n\n```html\n导入案例 \n```\n\n代码,读取文件\n\n```javascript\nonFilePicked(file: ReadFile) {\n const Uints = new Uint8Array(file.content as ArrayBuffer);\n const db = new SQL.Database(Uints);\n const nodes = db.exec('SELECT * From node');\n console.log(nodes);\n }\n```\n\n\n\n\n\n### 测试\n\n###### 引用第三方js文件\n\n在 **angular.json** 文件的 `test-->scripts` 中添加需要引用的文件。","slug":"IT/Code/Javascript技术摘要","published":1,"updated":"2020-05-11T03:54:03.957Z","_id":"cka1y597r00154huu5w41rgul","comments":1,"layout":"post","photos":[],"link":"","content":"Javasript 和 Typescript 的重要技巧。
\n \n零散知识点 \n\nPromise \n输出链条 \n文档 Promises chaning
\n:pencil2: 可以在 then
函数里面跑出 结果 或者
第二个 Promise
\n等待多个 Promise \n1 2 3 4 let p1 = promise1let p2 = promise2const promises = Promise .all([p1, p2])return promises
\n声明以及定义扩展 \n在 *.d.ts
文件中声明类型
\n1 2 3 4 declare type Book = { \ttitle: string, \tcomment?: string }
\n对 JavaScript 的原型进行扩展, 在一个 TS 文件进行定义和实现
\n1 2 3 4 5 6 7 8 9 10 11 12 export {} declare global { interface String { IsNullOrEmpty():boolean ; Latex(color?:string ):string ; } } String .prototype.IsNullOrEmpty = function ( ) { return this == undefined || this == null || this == \"\" }
\n在需要的地方引用
\n1 2 3 4 import '..path/common' ;let str = \"\" const is_it_empty = str.IsNullOrEmpty()
\n读取文本 \nHtml5 标准按钮 \n1 <div type ='file' (change )='LoadLocalFile($event)' > </div >
\nJavascript 读取文本内容并转为数据库 (使用 sql.js )
\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 LoadLocalFile(file) { const fileurl: File = file.target.files[0 ]; const reader = new FileReader(); reader.onload = () => { console .log('read file:' , reader.result); const buffer = reader.result; const Uints = new Uint8Array (buffer as ArrayBuffer ); const db = new SQL.Database(Uints); const nodes = db.exec('SELECT * From node' ); console .log(nodes); }; reader.readAsArrayBuffer(fileurl); }
\n使用nix-file-helpers 插件 \n文档地址
\n演示地址
\nHtml
\n1 2 3 4 5 <ion-button ngxFilePicker #filePicker =\"ngxFilePicker\" [readMode ]=\"readMode\" (readStart )=\"onReadStart($event)\" (filePick )=\"onFilePicked($event)\" (readEnd )=\"onReadEnd($event)\" > 导入案例</ion-button >
\n代码,读取文件
\n1 2 3 4 5 6 onFilePicked(file: ReadFile) { const Uints = new Uint8Array (file.content as ArrayBuffer ); const db = new SQL.Database(Uints); const nodes = db.exec('SELECT * From node' ); console .log(nodes); }
\n测试 \n引用第三方js文件 \n在 angular.json 文件的 test-->scripts
中添加需要引用的文件。
\n","site":{"data":{}},"excerpt":"Javasript 和 Typescript 的重要技巧。
","more":"零散知识点 \n\nPromise \n输出链条 \n文档 Promises chaning
\n:pencil2: 可以在 then
函数里面跑出 结果 或者
第二个 Promise
\n等待多个 Promise \n\n声明以及定义扩展 \n在 *.d.ts
文件中声明类型
\n\n对 JavaScript 的原型进行扩展, 在一个 TS 文件进行定义和实现
\n\n在需要的地方引用
\n\n读取文本 \nHtml5 标准按钮 \n\nJavascript 读取文本内容并转为数据库 (使用 sql.js )
\n\n使用nix-file-helpers 插件 \n文档地址
\n演示地址
\nHtml
\n\n代码,读取文件
\n\n测试 \n引用第三方js文件 \n在 angular.json 文件的 test-->scripts
中添加需要引用的文件。
"},{"title":"Mac使用标签","date":"2019-07-22T16:58:50.000Z","urlname":"mac-using-tags","toc":true,"notshow":true,"_content":"## 使用标签\n在 Mac 上,执行以下任一项操作:\n\n- 给打开的文件添加标签:将鼠标指针悬停在文稿标题右侧,点按箭头,在“标签”栏中点按,然后输入新标签,或者从列表中选取一个标签。\n- 存储新文件时添加标签:点按“文件”>“存储”。在“存储”对话框中,在“标签”栏中点按,然后输入新标签,或者从列表中选取一个标签。\n- 给桌面上或“访达”中的文件添加标签:选择项目,然后打开“文件”菜单。也可以按住 Control 键点按该项目,或用双指轻点它。在“标签”下方选取颜色![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_blue_circle.png),或点按“标签”以从更多标签中进行选择或输入新标签。在“访达”窗口中,也可以选择该项目,点按“标签”按钮 ![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_tag.png),然后输入新标签,或从列表中选取一个标签。\n\n## 查找含有标签的项目\n\n1. 在 Mac 上,点按程序坞中的“访达”图标 ![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_finder.png)以打开“访达”窗口。\n2. 请执行以下一项操作:\n - 搜索标签:在搜索栏中输入标签颜色或名称,然后从建议中选择该标签。\n - 在边栏中选择标签:若要查看带有某个标签的所有项目,请在“访达”边栏中点按标签![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_blue_circle.png)。若要更改在边栏中看到的项目,请选取“访达”>“偏好设置”,点按“标签”,然后选择想要查看的标签。\n - 按标签将项目分组: 点按“分组”按钮![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_group.png),然后选取“标签”。\n - 按标签排序项目:在任何显示方式下,选取“显示”>“查看显示选项”,点按“排序方式”弹出式菜单,然后选取“标签”。在“列表显示”下,选择“标签”复选框以显示分栏,将指针移到“标签”分栏上方,然后点按。再次点按分栏名称来倒序排列。\n\n## 移除标签\n\n在 Mac 上,请执行以下一项操作:\n\n- 从项目中移除标签:按住 Control 键点按项目或使用双指轻点项目,然后点按“标签”。选择您想要移除的标签,然后按下 Delete 键。\n- 从 Mac 中移除标签:在“访达”中,选取“访达”>“偏好设置”,然后点按“标签”。选择您想要移除的标签,然后点按移除按钮——。\n\n## 编辑标签\n\n1. 在 Mac 上的“访达”![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_finder.png)中,选取“访达”>“偏好设置”,然后点按“标签”。\n2. 请执行以下一项操作:\n - 在“访达”边栏中查看标签:选择标签右侧的蓝色复选框。\n - 更改标签颜色:点按标签![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_blue_circle.png)\n - 旁边的颜色,然后选取新的颜色。\n - 更改标签名称:点按标签,点按标签名称,然后输入新名称。\n - 创建新标签:点按添加按钮 ![img](https://www.macdaxue.com/wp-content/uploads/2018/06/IL_AddiOS.png)。\n - 删除标签:选择标签,然后点按移除按钮 ——。\n - 将标签添加到[快捷键](https://www.macdaxue.com/os-x-key/)菜单中:在列表中选择标签,然后将它拖到您想要在窗口底部的个人收藏部分中替换的标签上方。当您按下 Control 键点按文件时,在出现的[快捷键](https://www.macdaxue.com/os-x-key/)菜单中可至多有七个标签。\n - 从快捷键菜单中移除标签:将标签拖出“个人收藏标签”部分,直到看到移除符号![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_x.png)。","source":"_posts/IT/Mac/Mac使用标签.md","raw":"---\ntitle: Mac使用标签\ndate: 2019-07-22 18:58:50\nurlname: mac-using-tags\ntoc: true\ntags: [Mac]\ncategories: [IT, Mac]\nnotshow: true\n\n---\n## 使用标签\n在 Mac 上,执行以下任一项操作:\n\n- 给打开的文件添加标签:将鼠标指针悬停在文稿标题右侧,点按箭头,在“标签”栏中点按,然后输入新标签,或者从列表中选取一个标签。\n- 存储新文件时添加标签:点按“文件”>“存储”。在“存储”对话框中,在“标签”栏中点按,然后输入新标签,或者从列表中选取一个标签。\n- 给桌面上或“访达”中的文件添加标签:选择项目,然后打开“文件”菜单。也可以按住 Control 键点按该项目,或用双指轻点它。在“标签”下方选取颜色![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_blue_circle.png),或点按“标签”以从更多标签中进行选择或输入新标签。在“访达”窗口中,也可以选择该项目,点按“标签”按钮 ![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_tag.png),然后输入新标签,或从列表中选取一个标签。\n\n## 查找含有标签的项目\n\n1. 在 Mac 上,点按程序坞中的“访达”图标 ![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_finder.png)以打开“访达”窗口。\n2. 请执行以下一项操作:\n - 搜索标签:在搜索栏中输入标签颜色或名称,然后从建议中选择该标签。\n - 在边栏中选择标签:若要查看带有某个标签的所有项目,请在“访达”边栏中点按标签![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_blue_circle.png)。若要更改在边栏中看到的项目,请选取“访达”>“偏好设置”,点按“标签”,然后选择想要查看的标签。\n - 按标签将项目分组: 点按“分组”按钮![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_group.png),然后选取“标签”。\n - 按标签排序项目:在任何显示方式下,选取“显示”>“查看显示选项”,点按“排序方式”弹出式菜单,然后选取“标签”。在“列表显示”下,选择“标签”复选框以显示分栏,将指针移到“标签”分栏上方,然后点按。再次点按分栏名称来倒序排列。\n\n## 移除标签\n\n在 Mac 上,请执行以下一项操作:\n\n- 从项目中移除标签:按住 Control 键点按项目或使用双指轻点项目,然后点按“标签”。选择您想要移除的标签,然后按下 Delete 键。\n- 从 Mac 中移除标签:在“访达”中,选取“访达”>“偏好设置”,然后点按“标签”。选择您想要移除的标签,然后点按移除按钮——。\n\n## 编辑标签\n\n1. 在 Mac 上的“访达”![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_finder.png)中,选取“访达”>“偏好设置”,然后点按“标签”。\n2. 请执行以下一项操作:\n - 在“访达”边栏中查看标签:选择标签右侧的蓝色复选框。\n - 更改标签颜色:点按标签![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_blue_circle.png)\n - 旁边的颜色,然后选取新的颜色。\n - 更改标签名称:点按标签,点按标签名称,然后输入新名称。\n - 创建新标签:点按添加按钮 ![img](https://www.macdaxue.com/wp-content/uploads/2018/06/IL_AddiOS.png)。\n - 删除标签:选择标签,然后点按移除按钮 ——。\n - 将标签添加到[快捷键](https://www.macdaxue.com/os-x-key/)菜单中:在列表中选择标签,然后将它拖到您想要在窗口底部的个人收藏部分中替换的标签上方。当您按下 Control 键点按文件时,在出现的[快捷键](https://www.macdaxue.com/os-x-key/)菜单中可至多有七个标签。\n - 从快捷键菜单中移除标签:将标签拖出“个人收藏标签”部分,直到看到移除符号![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_x.png)。","slug":"IT/Mac/Mac使用标签","published":1,"updated":"2019-07-31T03:51:34.000Z","_id":"cka1y597t00164huuyti606sh","comments":1,"layout":"post","photos":[],"link":"","content":"使用标签 \n在 Mac 上,执行以下任一项操作:
\n\n给打开的文件添加标签:将鼠标指针悬停在文稿标题右侧,点按箭头,在“标签”栏中点按,然后输入新标签,或者从列表中选取一个标签。 \n存储新文件时添加标签:点按“文件”>“存储”。在“存储”对话框中,在“标签”栏中点按,然后输入新标签,或者从列表中选取一个标签。 \n给桌面上或“访达”中的文件添加标签:选择项目,然后打开“文件”菜单。也可以按住 Control 键点按该项目,或用双指轻点它。在“标签”下方选取颜色 ,或点按“标签”以从更多标签中进行选择或输入新标签。在“访达”窗口中,也可以选择该项目,点按“标签”按钮 ,然后输入新标签,或从列表中选取一个标签。 \n \n查找含有标签的项目 \n\n在 Mac 上,点按程序坞中的“访达”图标 以打开“访达”窗口。 \n请执行以下一项操作:\n\n搜索标签:在搜索栏中输入标签颜色或名称,然后从建议中选择该标签。 \n在边栏中选择标签:若要查看带有某个标签的所有项目,请在“访达”边栏中点按标签 。若要更改在边栏中看到的项目,请选取“访达”>“偏好设置”,点按“标签”,然后选择想要查看的标签。 \n按标签将项目分组: 点按“分组”按钮 ,然后选取“标签”。 \n按标签排序项目:在任何显示方式下,选取“显示”>“查看显示选项”,点按“排序方式”弹出式菜单,然后选取“标签”。在“列表显示”下,选择“标签”复选框以显示分栏,将指针移到“标签”分栏上方,然后点按。再次点按分栏名称来倒序排列。 \n \n \n \n移除标签 \n在 Mac 上,请执行以下一项操作:
\n\n从项目中移除标签:按住 Control 键点按项目或使用双指轻点项目,然后点按“标签”。选择您想要移除的标签,然后按下 Delete 键。 \n从 Mac 中移除标签:在“访达”中,选取“访达”>“偏好设置”,然后点按“标签”。选择您想要移除的标签,然后点按移除按钮——。 \n \n编辑标签 \n\n在 Mac 上的“访达” 中,选取“访达”>“偏好设置”,然后点按“标签”。 \n请执行以下一项操作:\n\n在“访达”边栏中查看标签:选择标签右侧的蓝色复选框。 \n更改标签颜色:点按标签 \n旁边的颜色,然后选取新的颜色。 \n更改标签名称:点按标签,点按标签名称,然后输入新名称。 \n创建新标签:点按添加按钮 。 \n删除标签:选择标签,然后点按移除按钮 ——。 \n将标签添加到快捷键 菜单中:在列表中选择标签,然后将它拖到您想要在窗口底部的个人收藏部分中替换的标签上方。当您按下 Control 键点按文件时,在出现的快捷键 菜单中可至多有七个标签。 \n从快捷键菜单中移除标签:将标签拖出“个人收藏标签”部分,直到看到移除符号 。 \n \n \n \n","site":{"data":{}},"excerpt":"","more":"使用标签 \n在 Mac 上,执行以下任一项操作:
\n\n给打开的文件添加标签:将鼠标指针悬停在文稿标题右侧,点按箭头,在“标签”栏中点按,然后输入新标签,或者从列表中选取一个标签。 \n存储新文件时添加标签:点按“文件”>“存储”。在“存储”对话框中,在“标签”栏中点按,然后输入新标签,或者从列表中选取一个标签。 \n给桌面上或“访达”中的文件添加标签:选择项目,然后打开“文件”菜单。也可以按住 Control 键点按该项目,或用双指轻点它。在“标签”下方选取颜色 ,或点按“标签”以从更多标签中进行选择或输入新标签。在“访达”窗口中,也可以选择该项目,点按“标签”按钮 ,然后输入新标签,或从列表中选取一个标签。 \n \n查找含有标签的项目 \n\n在 Mac 上,点按程序坞中的“访达”图标 以打开“访达”窗口。 \n请执行以下一项操作:\n\n搜索标签:在搜索栏中输入标签颜色或名称,然后从建议中选择该标签。 \n在边栏中选择标签:若要查看带有某个标签的所有项目,请在“访达”边栏中点按标签 。若要更改在边栏中看到的项目,请选取“访达”>“偏好设置”,点按“标签”,然后选择想要查看的标签。 \n按标签将项目分组: 点按“分组”按钮 ,然后选取“标签”。 \n按标签排序项目:在任何显示方式下,选取“显示”>“查看显示选项”,点按“排序方式”弹出式菜单,然后选取“标签”。在“列表显示”下,选择“标签”复选框以显示分栏,将指针移到“标签”分栏上方,然后点按。再次点按分栏名称来倒序排列。 \n \n \n \n移除标签 \n在 Mac 上,请执行以下一项操作:
\n\n从项目中移除标签:按住 Control 键点按项目或使用双指轻点项目,然后点按“标签”。选择您想要移除的标签,然后按下 Delete 键。 \n从 Mac 中移除标签:在“访达”中,选取“访达”>“偏好设置”,然后点按“标签”。选择您想要移除的标签,然后点按移除按钮——。 \n \n编辑标签 \n\n在 Mac 上的“访达” 中,选取“访达”>“偏好设置”,然后点按“标签”。 \n请执行以下一项操作:\n\n在“访达”边栏中查看标签:选择标签右侧的蓝色复选框。 \n更改标签颜色:点按标签 \n旁边的颜色,然后选取新的颜色。 \n更改标签名称:点按标签,点按标签名称,然后输入新名称。 \n创建新标签:点按添加按钮 。 \n删除标签:选择标签,然后点按移除按钮 ——。 \n将标签添加到快捷键 菜单中:在列表中选择标签,然后将它拖到您想要在窗口底部的个人收藏部分中替换的标签上方。当您按下 Control 键点按文件时,在出现的快捷键 菜单中可至多有七个标签。 \n从快捷键菜单中移除标签:将标签拖出“个人收藏标签”部分,直到看到移除符号 。 \n \n \n \n"},{"title":"Gitbook攻略","date":"2019-08-14T21:02:14.000Z","urlname":"gitbook_with_typora_gh-pages","toc":true,"_content":"\n本文为你介绍如何使用利用 **Typora + gitbook-cli + Github Pages** 书写Gitbook. 在本地用 Typora 书写 md 文件, 用 gitbook-cli 编译, 最后发布到 Github Pages 上.\n\n\n\n\n\n# 安装\n\n前提是已经安装了Node, 直接用npm包管理工具安装:\n\n```sh\nsudo npm install -g gitbook-cli\ngitbook -V # 注意是大写V\n```\n\n> CLI version: 2.3.2\n> GitBook version: 3.2.3\n\n# 新建书籍\n\n1. 为新书建立一个根目录 `mkdir pytho_finance`\n\n2. 在该目录下执行(命令行下):`gitbook init`,之后会在该目录下产生2个文件,分别是README.md(书籍的介绍)和SUMMARY.md(书籍的目录结构)。\n\n![gitbook目录的写法](https://github.com/maiernte/img/raw/master/Tech/gitbook目录的写法.png)\n\n3. 按照上图格式填写目录和文件, 然后再次执行 `gitbook init` , GitBook 会查找 SUMMARY.md 文件中描述的目录和文件,如果没有则会将其创建. \n\n4. 然后就可以预览书籍了 `gitbook serve`. 执行命令后会对 Markdown 格式的文档进行转换,默认转换为 html 格式,提示Serving book on http://localhost:4000,打开网址即可查看.\n5. 构建书籍\n\n```sh\ngitbook build\n```\n\n默认将生成的静态网站输出到 _book 目录。实际上,这一步也包含在 gitbook serve 里面,因为它们是 HTML,所以 GitBook 通过 Node.js 给你提供服务了。\n\nbuild 命令可以指定路径, 或者指定端口, 或者生产 pdf , epub, mobi 等格式. [具体参考文章](https://www.cnblogs.com/eveblog/p/10003217.html). \n\n# 发布到Github Pages\n\n```sh\ngit init\ngit remote add origin https://github.com/maiernte/gitbook_python_finance.git\ngit add .\ngit commit -m \"new book\"\ngit push -u origin master # 将源代码推送到master\n```\n\n在GitHub的仓库中新添一个 **gh-pages** 的Branch. \n\n```sh\nmkdir new_fold\ncd new_fold\nrm -rf . # 删除这个目录下所有文件, 注意那 .git 文件夹不能删除\n\n# 在源代码目录中,也就是md文件的目录\ngitbook build \n\n# 将会产生一个 _book 目录\n# 添加忽略, 以免下次推送的时候 _book 目录被推送.\necho \"*~\" > .gitignore\necho \"_book\" >> .gitignore\necho \"/node_modules\" >> .gitignore\n\ncp -r _book/* path_to/new_fold\n```\n\n:pen: 忽略文件夹,windows下的测试是 `/node_modules`, 不加双引号。\n\n进入新目录, 推送编译后的html 和 js 文件到 gh-pages 的分支中去.\n\n```sh\ncd path_to/new_fold\ngit add .\ngit commit -m \"to gh-pages\"\ngit push -u origin gh-pages\n```\n\n如此实现了将源代码保存到master, 将静态网站推送到gh-pages, 一个仓库搞定! 在浏览器输入仓库地址, 就可以看到自己的Gitbook. 比如我新书地址\n\n> https://maiernte.github.io/gitbook_python_finance/\n\n\n\n## 更新和维护\n\n因为master 和 gh-pages 上存放的是不同的文档,所以拉取的时候也有指定 branch\n\n```sh\n# 拉取源代码\ngit clone https://github.com/maiernte/gitbook_python_finance.git --branch master new_fold\n\n# 拉取静态网站\ngit clone https://github.com/maiernte/gitbook_python_finance.git --branch gh-pages new_fold\n```\n\n\n\n# 个性化配置\n\n在项目的根目录上添加一个 `book.json` 文件, 用来更全面的配置项目. 比如头文件, 插件等等.\n\n```json\n{\n \"title\": \"使用Python处理金融数据\",\n \"author\": \"鎏金天涯 \",\n \"description\": \"使用Python处理金融数据的各种技术\",\n \"generator\": \"site\",\n \"plugins\": [\"mathjax\"],\n \"links\": {\n \"sidebar\": {\n \"鎏金天涯个人博客\": \"http://goldentianya.pub\"\n }\n }\n}\n```\n\n## 数学插件\n\n在上述文件添加了 `\"plugins\": [\"mathjax\"]`, 并执行命令\n\n```sh\ngitbook install ./ # 会添加一堆 node_modules 包\n```\n\n更详细的配置请参阅[官方文档](https://chrisniael.gitbooks.io/gitbook-documentation/content/).\n\n## 目录插件\n\n[项目地址和文档](https://www.npmjs.com/package/gitbook-plugin-page-toc)\n\n将 ***book.json*** 文件修改为 `\"plugins\": [\"mathjax\", \"page-toc\" ], ` 每一页的目录就会出现在右上角。\n\n\n\n# 编译错误列表\n\n版本\n\n```\nCLI version: 2.3.2\nGitBook version: 3.2.3\n```\n\n## sharing 插件出错\n\n添加了 `page-toc` 插件后,`gitbook serve` 的时候总是出现错误。就算把文章改回原来的样子也无补于事。\n\n> info: 7 plugins are installed\n> info: loading plugin \"livereload\"... OK\n> info: loading plugin \"highlight\"... OK\n> info: loading plugin \"search\"... OK\n> info: loading plugin \"lunr\"... OK\n> info: loading plugin \"sharing\"... OK\n> info: loading plugin \"fontsettings\"... OK\n> info: loading plugin \"theme-default\"... OK\n> info: found 1 pages\n> info: found 0 asset files\n>\n> Error: ENOENT: no such file or directory, stat 'D:\\f040371\\git_book\\plattform_finance\\_book\\gitbook\\gitbook-plugin-sharing\\buttons.js'\n\n### 解决方法\n\n修改 `C:\\Users\\f040371\\.gitbook\\versions\\3.2.3\\lib\\output\\website\\copyPluginAssets.js` 文件中的 112 行\n\n![copyPluginAssets.js](https://images2018.cnblogs.com/blog/623717/201808/623717-20180815170921683-2030924288.png)\n\n将 `confirm: true` 改为 `confirm: false`\n\n\n\n参考文章:\n\n---\n\n[使用GitBook和Typora写知识库](https://beihaionline.com/11523.html)\n\n[gitbook+git+typora 的使用过程](https://www.cnblogs.com/eveblog/p/10003217.html)\n\n[GitBook + Typora + Git 编写电子文档](https://www.jianshu.com/p/02caaaaa97ef)\n\n[Gitbook 发布到 Github Pages](http://www.chengweiyang.cn/gitbook/github-pages/README.html)\n\n","source":"_posts/IT/Tools/Gitbook攻略.md","raw":"---\ntitle: Gitbook攻略\ndate: 2019-08-14 23:02:14\nurlname: gitbook_with_typora_gh-pages\ntoc: true\ntags: [工具]\ncategories: [IT, Tools]\n\n---\n\n本文为你介绍如何使用利用 **Typora + gitbook-cli + Github Pages** 书写Gitbook. 在本地用 Typora 书写 md 文件, 用 gitbook-cli 编译, 最后发布到 Github Pages 上.\n\n\n\n\n\n# 安装\n\n前提是已经安装了Node, 直接用npm包管理工具安装:\n\n```sh\nsudo npm install -g gitbook-cli\ngitbook -V # 注意是大写V\n```\n\n> CLI version: 2.3.2\n> GitBook version: 3.2.3\n\n# 新建书籍\n\n1. 为新书建立一个根目录 `mkdir pytho_finance`\n\n2. 在该目录下执行(命令行下):`gitbook init`,之后会在该目录下产生2个文件,分别是README.md(书籍的介绍)和SUMMARY.md(书籍的目录结构)。\n\n![gitbook目录的写法](https://github.com/maiernte/img/raw/master/Tech/gitbook目录的写法.png)\n\n3. 按照上图格式填写目录和文件, 然后再次执行 `gitbook init` , GitBook 会查找 SUMMARY.md 文件中描述的目录和文件,如果没有则会将其创建. \n\n4. 然后就可以预览书籍了 `gitbook serve`. 执行命令后会对 Markdown 格式的文档进行转换,默认转换为 html 格式,提示Serving book on http://localhost:4000,打开网址即可查看.\n5. 构建书籍\n\n```sh\ngitbook build\n```\n\n默认将生成的静态网站输出到 _book 目录。实际上,这一步也包含在 gitbook serve 里面,因为它们是 HTML,所以 GitBook 通过 Node.js 给你提供服务了。\n\nbuild 命令可以指定路径, 或者指定端口, 或者生产 pdf , epub, mobi 等格式. [具体参考文章](https://www.cnblogs.com/eveblog/p/10003217.html). \n\n# 发布到Github Pages\n\n```sh\ngit init\ngit remote add origin https://github.com/maiernte/gitbook_python_finance.git\ngit add .\ngit commit -m \"new book\"\ngit push -u origin master # 将源代码推送到master\n```\n\n在GitHub的仓库中新添一个 **gh-pages** 的Branch. \n\n```sh\nmkdir new_fold\ncd new_fold\nrm -rf . # 删除这个目录下所有文件, 注意那 .git 文件夹不能删除\n\n# 在源代码目录中,也就是md文件的目录\ngitbook build \n\n# 将会产生一个 _book 目录\n# 添加忽略, 以免下次推送的时候 _book 目录被推送.\necho \"*~\" > .gitignore\necho \"_book\" >> .gitignore\necho \"/node_modules\" >> .gitignore\n\ncp -r _book/* path_to/new_fold\n```\n\n:pen: 忽略文件夹,windows下的测试是 `/node_modules`, 不加双引号。\n\n进入新目录, 推送编译后的html 和 js 文件到 gh-pages 的分支中去.\n\n```sh\ncd path_to/new_fold\ngit add .\ngit commit -m \"to gh-pages\"\ngit push -u origin gh-pages\n```\n\n如此实现了将源代码保存到master, 将静态网站推送到gh-pages, 一个仓库搞定! 在浏览器输入仓库地址, 就可以看到自己的Gitbook. 比如我新书地址\n\n> https://maiernte.github.io/gitbook_python_finance/\n\n\n\n## 更新和维护\n\n因为master 和 gh-pages 上存放的是不同的文档,所以拉取的时候也有指定 branch\n\n```sh\n# 拉取源代码\ngit clone https://github.com/maiernte/gitbook_python_finance.git --branch master new_fold\n\n# 拉取静态网站\ngit clone https://github.com/maiernte/gitbook_python_finance.git --branch gh-pages new_fold\n```\n\n\n\n# 个性化配置\n\n在项目的根目录上添加一个 `book.json` 文件, 用来更全面的配置项目. 比如头文件, 插件等等.\n\n```json\n{\n \"title\": \"使用Python处理金融数据\",\n \"author\": \"鎏金天涯 \",\n \"description\": \"使用Python处理金融数据的各种技术\",\n \"generator\": \"site\",\n \"plugins\": [\"mathjax\"],\n \"links\": {\n \"sidebar\": {\n \"鎏金天涯个人博客\": \"http://goldentianya.pub\"\n }\n }\n}\n```\n\n## 数学插件\n\n在上述文件添加了 `\"plugins\": [\"mathjax\"]`, 并执行命令\n\n```sh\ngitbook install ./ # 会添加一堆 node_modules 包\n```\n\n更详细的配置请参阅[官方文档](https://chrisniael.gitbooks.io/gitbook-documentation/content/).\n\n## 目录插件\n\n[项目地址和文档](https://www.npmjs.com/package/gitbook-plugin-page-toc)\n\n将 ***book.json*** 文件修改为 `\"plugins\": [\"mathjax\", \"page-toc\" ], ` 每一页的目录就会出现在右上角。\n\n\n\n# 编译错误列表\n\n版本\n\n```\nCLI version: 2.3.2\nGitBook version: 3.2.3\n```\n\n## sharing 插件出错\n\n添加了 `page-toc` 插件后,`gitbook serve` 的时候总是出现错误。就算把文章改回原来的样子也无补于事。\n\n> info: 7 plugins are installed\n> info: loading plugin \"livereload\"... OK\n> info: loading plugin \"highlight\"... OK\n> info: loading plugin \"search\"... OK\n> info: loading plugin \"lunr\"... OK\n> info: loading plugin \"sharing\"... OK\n> info: loading plugin \"fontsettings\"... OK\n> info: loading plugin \"theme-default\"... OK\n> info: found 1 pages\n> info: found 0 asset files\n>\n> Error: ENOENT: no such file or directory, stat 'D:\\f040371\\git_book\\plattform_finance\\_book\\gitbook\\gitbook-plugin-sharing\\buttons.js'\n\n### 解决方法\n\n修改 `C:\\Users\\f040371\\.gitbook\\versions\\3.2.3\\lib\\output\\website\\copyPluginAssets.js` 文件中的 112 行\n\n![copyPluginAssets.js](https://images2018.cnblogs.com/blog/623717/201808/623717-20180815170921683-2030924288.png)\n\n将 `confirm: true` 改为 `confirm: false`\n\n\n\n参考文章:\n\n---\n\n[使用GitBook和Typora写知识库](https://beihaionline.com/11523.html)\n\n[gitbook+git+typora 的使用过程](https://www.cnblogs.com/eveblog/p/10003217.html)\n\n[GitBook + Typora + Git 编写电子文档](https://www.jianshu.com/p/02caaaaa97ef)\n\n[Gitbook 发布到 Github Pages](http://www.chengweiyang.cn/gitbook/github-pages/README.html)\n\n","slug":"IT/Tools/Gitbook攻略","published":1,"updated":"2019-08-15T09:46:18.000Z","_id":"cka1y597u001a4huuspnhsflr","comments":1,"layout":"post","photos":[],"link":"","content":"本文为你介绍如何使用利用 Typora + gitbook-cli + Github Pages 书写Gitbook. 在本地用 Typora 书写 md 文件, 用 gitbook-cli 编译, 最后发布到 Github Pages 上.
\n \n安装 \n前提是已经安装了Node, 直接用npm包管理工具安装:
\n1 2 sudo npm install -g gitbook-cli gitbook -V
\n\nCLI version: 2.3.2 \nGitBook version: 3.2.3
\n \n新建书籍 \n\n\n为新书建立一个根目录 mkdir pytho_finance
\n \n\n在该目录下执行(命令行下):gitbook init
,之后会在该目录下产生2个文件,分别是README.md (书籍的介绍)和SUMMARY.md (书籍的目录结构)。
\n \n \n
\n\n\n按照上图格式填写目录和文件, 然后再次执行 gitbook init
, GitBook 会查找 SUMMARY.md 文件中描述的目录和文件,如果没有则会将其创建.
\n \n\n然后就可以预览书籍了 gitbook serve
. 执行命令后会对 Markdown 格式的文档进行转换,默认转换为 html 格式,提示Serving book on http://localhost:4000 ,打开网址即可查看.
\n \n\n构建书籍
\n \n \n \n默认将生成的静态网站输出到 _book 目录。实际上,这一步也包含在 gitbook serve 里面,因为它们是 HTML,所以 GitBook 通过 Node.js 给你提供服务了。
\nbuild 命令可以指定路径, 或者指定端口, 或者生产 pdf , epub, mobi 等格式. 具体参考文章 .
\n发布到Github Pages \n1 2 3 4 5 git init git remote add origin https://github.com/maiernte/gitbook_python_finance.git git add . git commit -m \"new book\" git push -u origin master
\n在GitHub的仓库中新添一个 gh-pages 的Branch.
\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 mkdir new_fold cd new_foldrm -rf . gitbook build echo \"*~\" > .gitignoreecho \"_book\" >> .gitignoreecho \"/node_modules\" >> .gitignorecp -r _book/* path_to/new_fold
\n:pen: 忽略文件夹,windows下的测试是 /node_modules
, 不加双引号。
\n进入新目录, 推送编译后的html 和 js 文件到 gh-pages 的分支中去.
\n1 2 3 4 cd path_to/new_foldgit add . git commit -m \"to gh-pages\" git push -u origin gh-pages
\n如此实现了将源代码保存到master, 将静态网站推送到gh-pages, 一个仓库搞定! 在浏览器输入仓库地址, 就可以看到自己的Gitbook. 比如我新书地址
\n\nhttps://maiernte.github.io/gitbook_python_finance/
\n \n更新和维护 \n因为master 和 gh-pages 上存放的是不同的文档,所以拉取的时候也有指定 branch
\n1 2 3 4 5 git clone https://github.com/maiernte/gitbook_python_finance.git --branch master new_fold git clone https://github.com/maiernte/gitbook_python_finance.git --branch gh-pages new_fold
\n个性化配置 \n在项目的根目录上添加一个 book.json
文件, 用来更全面的配置项目. 比如头文件, 插件等等.
\n1 2 3 4 5 6 7 8 9 10 11 12 { \"title\" : \"使用Python处理金融数据\" , \"author\" : \"鎏金天涯 <mai.yongfeng@gmail.com>\" , \"description\" : \"使用Python处理金融数据的各种技术\" , \"generator\" : \"site\" , \"plugins\" : [\"mathjax\" ], \"links\" : { \"sidebar\" : { \"鎏金天涯个人博客\" : \"http://goldentianya.pub\" } } }
\n数学插件 \n在上述文件添加了 "plugins": ["mathjax"]
, 并执行命令
\n \n更详细的配置请参阅官方文档 .
\n目录插件 \n项目地址和文档
\n将 book.json 文件修改为 "plugins": ["mathjax", "page-toc" ],
每一页的目录就会出现在右上角。
\n编译错误列表 \n版本
\n1 2 CLI version: 2.3.2 GitBook version: 3.2.3
\nsharing 插件出错 \n添加了 page-toc
插件后,gitbook serve
的时候总是出现错误。就算把文章改回原来的样子也无补于事。
\n\ninfo: 7 plugins are installed \ninfo: loading plugin “livereload”… OK \ninfo: loading plugin “highlight”… OK \ninfo: loading plugin “search”… OK \ninfo: loading plugin “lunr”… OK \ninfo: loading plugin “sharing”… OK \ninfo: loading plugin “fontsettings”… OK \ninfo: loading plugin “theme-default”… OK \ninfo: found 1 pages \ninfo: found 0 asset files
\nError: ENOENT: no such file or directory, stat ‘D:\\f040371\\git_book\\plattform_finance_book\\gitbook\\gitbook-plugin-sharing\\buttons.js’
\n \n解决方法 \n修改 C:\\Users\\f040371\\.gitbook\\versions\\3.2.3\\lib\\output\\website\\copyPluginAssets.js
文件中的 112 行
\n
\n将 confirm: true
改为 confirm: false
\n参考文章:
\n \n使用GitBook和Typora写知识库
\ngitbook+git+typora 的使用过程
\nGitBook + Typora + Git 编写电子文档
\nGitbook 发布到 Github Pages
\n","site":{"data":{}},"excerpt":"本文为你介绍如何使用利用 Typora + gitbook-cli + Github Pages 书写Gitbook. 在本地用 Typora 书写 md 文件, 用 gitbook-cli 编译, 最后发布到 Github Pages 上.
","more":"安装 \n前提是已经安装了Node, 直接用npm包管理工具安装:
\n\n\nCLI version: 2.3.2 \nGitBook version: 3.2.3
\n \n新建书籍 \n\n\n为新书建立一个根目录 mkdir pytho_finance
\n \n\n在该目录下执行(命令行下):gitbook init
,之后会在该目录下产生2个文件,分别是README.md (书籍的介绍)和SUMMARY.md (书籍的目录结构)。
\n \n \n
\n\n\n按照上图格式填写目录和文件, 然后再次执行 gitbook init
, GitBook 会查找 SUMMARY.md 文件中描述的目录和文件,如果没有则会将其创建.
\n \n\n然后就可以预览书籍了 gitbook serve
. 执行命令后会对 Markdown 格式的文档进行转换,默认转换为 html 格式,提示Serving book on http://localhost:4000 ,打开网址即可查看.
\n \n\n构建书籍
\n \n \n\n默认将生成的静态网站输出到 _book 目录。实际上,这一步也包含在 gitbook serve 里面,因为它们是 HTML,所以 GitBook 通过 Node.js 给你提供服务了。
\nbuild 命令可以指定路径, 或者指定端口, 或者生产 pdf , epub, mobi 等格式. 具体参考文章 .
\n发布到Github Pages \n\n在GitHub的仓库中新添一个 gh-pages 的Branch.
\n\n:pen: 忽略文件夹,windows下的测试是 /node_modules
, 不加双引号。
\n进入新目录, 推送编译后的html 和 js 文件到 gh-pages 的分支中去.
\n\n如此实现了将源代码保存到master, 将静态网站推送到gh-pages, 一个仓库搞定! 在浏览器输入仓库地址, 就可以看到自己的Gitbook. 比如我新书地址
\n\nhttps://maiernte.github.io/gitbook_python_finance/
\n \n更新和维护 \n因为master 和 gh-pages 上存放的是不同的文档,所以拉取的时候也有指定 branch
\n\n个性化配置 \n在项目的根目录上添加一个 book.json
文件, 用来更全面的配置项目. 比如头文件, 插件等等.
\n\n数学插件 \n在上述文件添加了 "plugins": ["mathjax"]
, 并执行命令
\n\n更详细的配置请参阅官方文档 .
\n目录插件 \n项目地址和文档
\n将 book.json 文件修改为 "plugins": ["mathjax", "page-toc" ],
每一页的目录就会出现在右上角。
\n编译错误列表 \n版本
\n\nsharing 插件出错 \n添加了 page-toc
插件后,gitbook serve
的时候总是出现错误。就算把文章改回原来的样子也无补于事。
\n\ninfo: 7 plugins are installed \ninfo: loading plugin “livereload”… OK \ninfo: loading plugin “highlight”… OK \ninfo: loading plugin “search”… OK \ninfo: loading plugin “lunr”… OK \ninfo: loading plugin “sharing”… OK \ninfo: loading plugin “fontsettings”… OK \ninfo: loading plugin “theme-default”… OK \ninfo: found 1 pages \ninfo: found 0 asset files
\nError: ENOENT: no such file or directory, stat ‘D:\\f040371\\git_book\\plattform_finance_book\\gitbook\\gitbook-plugin-sharing\\buttons.js’
\n \n解决方法 \n修改 C:\\Users\\f040371\\.gitbook\\versions\\3.2.3\\lib\\output\\website\\copyPluginAssets.js
文件中的 112 行
\n
\n将 confirm: true
改为 confirm: false
\n参考文章:
\n \n使用GitBook和Typora写知识库
\ngitbook+git+typora 的使用过程
\nGitBook + Typora + Git 编写电子文档
\nGitbook 发布到 Github Pages
"},{"title":"Mac备忘录","date":"2019-07-22T16:47:47.000Z","urlname":"mac-memo","toc":true,"notshow":true,"_content":"\n# 指令和任务\n\n## 隐藏文件夹\n\nTerminal 命令\n\n```bash\n//显示隐藏文件\ndefaults write com.apple.finder AppleShowAllFiles -bool true\n//不显示隐藏文件\ndefaults write com.apple.finder AppleShowAllFiles -bool false\n```\n\n快速命令,打开访达窗口,然后 ⌘ + ⇧ + . 就可以隐藏/显示。\n\n\n\n需要重启Finder使设置生效 :\n\n> 重启Finder:窗口左上角的苹果标志-->强制退出-->Finder-->重新启动\n\n## 允许任何来源软件\n\n系统默认在 **安全与隐私** 里只显示 “App Store” 和 “App Store 和被认可的开发者”,没有 “任何来源”。开启的话需要在终端输入\n\n`sudo spctl --master-disable` \n\n并输入开机密码。\n\n\n\n## 任务控制\n\n- 将任务放在后台运行:`command + &` \n\n- 将任务丢到后台暂停:`ctrl-z` \n\n- 查看后台所有任务状态:`jobs -l` (会列出 1、2、3序列号)\n\n- 将后台的任务拿到前台处理:`fg %jobnumber` (指序列号,而不是任务id)\n\n- 将后台的任务变成运行中:`bg %jobnumber` \n\n- 管理后台当中的任务:`kill -signal %jobnumber`\n\n# 文件管理\n\n## 标签的使用\n\n参看 [mac 标签的使用](mac-using-tags.html)\n\n# 通用技巧\n\n## 输入法\n\n### 查看按键字符\n\n1. 偏好设置 → 键盘 → 输入法,窗口右面会显示键盘⌨️图案,按住shift⇧键或者option⌥,会显示在不同功能键下面的字符。\n\n\n\n## 通过Automator添加快捷键\n\n[文章来源](https://zhidao.baidu.com/question/1514898183998822540.html)\n\n1. 一次打开 ***Finder —> 应用程序 —> automator***\n2. 选取 ***服务***\n3. 从左边的双栏选取 ***使用工具—>运行AppleScript***, 并双击运行。\n4. 出现文本框后选定(右栏最上边)***没有输入***\n\n```objective-c\non run {input, parameters}\n (* Your script goes here *)\n tell application \"Safari\"\n reopen\n activate\n end tell\nend run\n```\n\n5. ⌘+S 保存,命名为 *Open Safari*。关闭automator\n6. 转到 ***系统偏好设置—>键盘—>快捷键—>服务—>通用—>open safari*** ,然后设定快捷键就好了。\n\n\n\n## 电源管理\n\n`pmset`是**macOS**下用来操作、电源管理的工具,可设定休眠模式、时间和唤醒时间或显示电源信息,不过因为它是一个命令列的指令,因此得透过终端机察看或修改设定。当你开启「终端机」输入p`mset -g` 会看到具体设置。\n\n- `Standbydelay 28800` :将系统储存于內存中休眠,会消耗一些电力。\n- `Autopowerofdelay 28800` : 把系统写入SSD硬盘中,将內存暂存关闭,依照这篇文章的说法,两者延迟时间28800秒(约八小时)会让电脑多维持內存八小时左右的电力。\n- `tcpkeepalive` :设定睡眠后是否还保持网络连接, 以便可以透过TCP唤醒系统\n- `hibernatemode` :睡眠模式。数字越小,耗电越高。可以设置为 25\n\n```sh\nsudo pmset -b autopoweroffdelay 300 # 将睡眠时间缩短为300秒(五分钟)\nsudo pmset -b standbydelay 300 # 然后将系统储存到SSD硬盘\nsudo pmset -b tcpkeepalive 0 # 将透过TCP唤醒系统的功能关闭\nsudo pmset -a hibernatemode 25 \n```\n\n> 中间的参数-b是使用电池下的参数,-c为外接电源下的参数设定, -a 为所有情况下的设定。\n\n\n\n## 升级到Mojave后鼠标发飘\n\n前往***偏好设置-->网络-->设定服务顺序(左下角齿轮)***,然后将***蓝牙PAN***拖到最上面。\n\n\n\n# 网络资源\n\n## 应用软件\n\n1. 大量破解资源分享的网站 [MacEnjoy](https://www.macenjoy.co/)\n\n## 在线文档\n\n[iMac 2012 规格](https://support.apple.com/kb/SP665?locale=zh_CN&viewlocale=zh_CN)\n\n### 升级SSD固态硬盘\n\n[iMac 2012 21.5吋 拆卸指南](https://zh.ifixit.com/Teardown/iMac+Intel+21.5-Inch+EMC+2544+Teardown/11936)\n\n[Mac升级外挂SSD硬盘](https://luolei.org/imac-5k-external-usb-ssd-update/)\n\n[如何选择另一个启动磁盘](https://support.apple.com/zh-cn/HT202796) :pen: 官方说明 \n\n[更换SSD固态硬盘攻略](http://www.mac52ipod.cn/post/apple-mac-macbook-pro-change-ssd-hardisk-tutorial.php)\n\n1. 固态硬盘通过USB 3连接到电脑,并格式化成 **Mac OS 扩展** 格式。\n\n ![](http://www.mac52ipod.cn/attachment.php?fid=5823)\n\n2. 用 Carbon Copy Cloner([官网下载](https://bombich.com/))把原硬盘的数据镜像到 SSD。完成后要制作恢复分区「Recovery HD」[破解版下载地址](https://www.macenjoy.co/blog/carbon-copy-cloner-for-mac-v5-1-9)\n\n 或者 [SuperDuper](https://www.shirt-pocket.com/SuperDuper/SuperDuperDescription.html) :pen: 免费版可以全盘备份,而不支持增量操作。 \n\n ![](http://www.mac52ipod.cn/attachment.php?fid=5824)\n\n3. 重启,听到 「当 」一声后按住 `Option` 键(windows 键盘上的 Alt)。然后选择SSD作为启动硬盘。\n\n4. 开机后用 **Trim Enabler**([官网下载](http://www.cindori.org/software/trimenabler/))开启 **Trim** 读写加速。:+1:","source":"_posts/IT/Mac/Mac备忘录.md","raw":"---\ntitle: Mac备忘录\ndate: 2019-07-22 18:47:47\nurlname: mac-memo\ntoc: true\ntags: [Mac]\ncategories: [IT, Mac]\nnotshow: true\n\n---\n\n# 指令和任务\n\n## 隐藏文件夹\n\nTerminal 命令\n\n```bash\n//显示隐藏文件\ndefaults write com.apple.finder AppleShowAllFiles -bool true\n//不显示隐藏文件\ndefaults write com.apple.finder AppleShowAllFiles -bool false\n```\n\n快速命令,打开访达窗口,然后 ⌘ + ⇧ + . 就可以隐藏/显示。\n\n\n\n需要重启Finder使设置生效 :\n\n> 重启Finder:窗口左上角的苹果标志-->强制退出-->Finder-->重新启动\n\n## 允许任何来源软件\n\n系统默认在 **安全与隐私** 里只显示 “App Store” 和 “App Store 和被认可的开发者”,没有 “任何来源”。开启的话需要在终端输入\n\n`sudo spctl --master-disable` \n\n并输入开机密码。\n\n\n\n## 任务控制\n\n- 将任务放在后台运行:`command + &` \n\n- 将任务丢到后台暂停:`ctrl-z` \n\n- 查看后台所有任务状态:`jobs -l` (会列出 1、2、3序列号)\n\n- 将后台的任务拿到前台处理:`fg %jobnumber` (指序列号,而不是任务id)\n\n- 将后台的任务变成运行中:`bg %jobnumber` \n\n- 管理后台当中的任务:`kill -signal %jobnumber`\n\n# 文件管理\n\n## 标签的使用\n\n参看 [mac 标签的使用](mac-using-tags.html)\n\n# 通用技巧\n\n## 输入法\n\n### 查看按键字符\n\n1. 偏好设置 → 键盘 → 输入法,窗口右面会显示键盘⌨️图案,按住shift⇧键或者option⌥,会显示在不同功能键下面的字符。\n\n\n\n## 通过Automator添加快捷键\n\n[文章来源](https://zhidao.baidu.com/question/1514898183998822540.html)\n\n1. 一次打开 ***Finder —> 应用程序 —> automator***\n2. 选取 ***服务***\n3. 从左边的双栏选取 ***使用工具—>运行AppleScript***, 并双击运行。\n4. 出现文本框后选定(右栏最上边)***没有输入***\n\n```objective-c\non run {input, parameters}\n (* Your script goes here *)\n tell application \"Safari\"\n reopen\n activate\n end tell\nend run\n```\n\n5. ⌘+S 保存,命名为 *Open Safari*。关闭automator\n6. 转到 ***系统偏好设置—>键盘—>快捷键—>服务—>通用—>open safari*** ,然后设定快捷键就好了。\n\n\n\n## 电源管理\n\n`pmset`是**macOS**下用来操作、电源管理的工具,可设定休眠模式、时间和唤醒时间或显示电源信息,不过因为它是一个命令列的指令,因此得透过终端机察看或修改设定。当你开启「终端机」输入p`mset -g` 会看到具体设置。\n\n- `Standbydelay 28800` :将系统储存于內存中休眠,会消耗一些电力。\n- `Autopowerofdelay 28800` : 把系统写入SSD硬盘中,将內存暂存关闭,依照这篇文章的说法,两者延迟时间28800秒(约八小时)会让电脑多维持內存八小时左右的电力。\n- `tcpkeepalive` :设定睡眠后是否还保持网络连接, 以便可以透过TCP唤醒系统\n- `hibernatemode` :睡眠模式。数字越小,耗电越高。可以设置为 25\n\n```sh\nsudo pmset -b autopoweroffdelay 300 # 将睡眠时间缩短为300秒(五分钟)\nsudo pmset -b standbydelay 300 # 然后将系统储存到SSD硬盘\nsudo pmset -b tcpkeepalive 0 # 将透过TCP唤醒系统的功能关闭\nsudo pmset -a hibernatemode 25 \n```\n\n> 中间的参数-b是使用电池下的参数,-c为外接电源下的参数设定, -a 为所有情况下的设定。\n\n\n\n## 升级到Mojave后鼠标发飘\n\n前往***偏好设置-->网络-->设定服务顺序(左下角齿轮)***,然后将***蓝牙PAN***拖到最上面。\n\n\n\n# 网络资源\n\n## 应用软件\n\n1. 大量破解资源分享的网站 [MacEnjoy](https://www.macenjoy.co/)\n\n## 在线文档\n\n[iMac 2012 规格](https://support.apple.com/kb/SP665?locale=zh_CN&viewlocale=zh_CN)\n\n### 升级SSD固态硬盘\n\n[iMac 2012 21.5吋 拆卸指南](https://zh.ifixit.com/Teardown/iMac+Intel+21.5-Inch+EMC+2544+Teardown/11936)\n\n[Mac升级外挂SSD硬盘](https://luolei.org/imac-5k-external-usb-ssd-update/)\n\n[如何选择另一个启动磁盘](https://support.apple.com/zh-cn/HT202796) :pen: 官方说明 \n\n[更换SSD固态硬盘攻略](http://www.mac52ipod.cn/post/apple-mac-macbook-pro-change-ssd-hardisk-tutorial.php)\n\n1. 固态硬盘通过USB 3连接到电脑,并格式化成 **Mac OS 扩展** 格式。\n\n ![](http://www.mac52ipod.cn/attachment.php?fid=5823)\n\n2. 用 Carbon Copy Cloner([官网下载](https://bombich.com/))把原硬盘的数据镜像到 SSD。完成后要制作恢复分区「Recovery HD」[破解版下载地址](https://www.macenjoy.co/blog/carbon-copy-cloner-for-mac-v5-1-9)\n\n 或者 [SuperDuper](https://www.shirt-pocket.com/SuperDuper/SuperDuperDescription.html) :pen: 免费版可以全盘备份,而不支持增量操作。 \n\n ![](http://www.mac52ipod.cn/attachment.php?fid=5824)\n\n3. 重启,听到 「当 」一声后按住 `Option` 键(windows 键盘上的 Alt)。然后选择SSD作为启动硬盘。\n\n4. 开机后用 **Trim Enabler**([官网下载](http://www.cindori.org/software/trimenabler/))开启 **Trim** 读写加速。:+1:","slug":"IT/Mac/Mac备忘录","published":1,"updated":"2020-05-07T07:28:37.649Z","_id":"cka1y597w001d4huu070sswhu","comments":1,"layout":"post","photos":[],"link":"","content":"指令和任务 \n隐藏文件夹 \nTerminal 命令
\n1 2 3 4 //显示隐藏文件 defaults write com.apple.finder AppleShowAllFiles -bool true //不显示隐藏文件 defaults write com.apple.finder AppleShowAllFiles -bool false
\n快速命令,打开访达窗口,然后 ⌘ + ⇧ + . 就可以隐藏/显示。
\n需要重启Finder使设置生效 :
\n\n重启Finder:窗口左上角的苹果标志–>强制退出–>Finder–>重新启动
\n \n允许任何来源软件 \n系统默认在 安全与隐私 里只显示 “App Store” 和 “App Store 和被认可的开发者”,没有 “任何来源”。开启的话需要在终端输入
\nsudo spctl --master-disable
\n并输入开机密码。
\n任务控制 \n\n\n将任务放在后台运行:command + &
\n \n\n将任务丢到后台暂停:ctrl-z
\n \n\n查看后台所有任务状态:jobs -l
(会列出 1、2、3序列号)
\n \n\n将后台的任务拿到前台处理:fg %jobnumber
(指序列号,而不是任务id)
\n \n\n将后台的任务变成运行中:bg %jobnumber
\n \n\n管理后台当中的任务:kill -signal %jobnumber
\n \n \n文件管理 \n标签的使用 \n参看 mac 标签的使用
\n通用技巧 \n输入法 \n查看按键字符 \n\n偏好设置 → 键盘 → 输入法,窗口右面会显示键盘⌨️图案,按住shift⇧键或者option⌥,会显示在不同功能键下面的字符。 \n \n通过Automator添加快捷键 \n文章来源
\n\n一次打开 Finder —> 应用程序 —> automator \n选取 服务 \n从左边的双栏选取 使用工具—>运行AppleScript , 并双击运行。 \n出现文本框后选定(右栏最上边)没有输入 \n \n1 2 3 4 5 6 7 on run {input, parameters} (* Your script goes here *) tell application "Safari" reopen activate end tell end run
\n\n⌘+S 保存,命名为 Open Safari 。关闭automator \n转到 系统偏好设置—>键盘—>快捷键—>服务—>通用—>open safari ,然后设定快捷键就好了。 \n \n电源管理 \npmset
是macOS 下用来操作、电源管理的工具,可设定休眠模式、时间和唤醒时间或显示电源信息,不过因为它是一个命令列的指令,因此得透过终端机察看或修改设定。当你开启「终端机」输入pmset -g
会看到具体设置。
\n\nStandbydelay 28800
:将系统储存于內存中休眠,会消耗一些电力。 \nAutopowerofdelay 28800
: 把系统写入SSD硬盘中,将內存暂存关闭,依照这篇文章的说法,两者延迟时间28800秒(约八小时)会让电脑多维持內存八小时左右的电力。 \ntcpkeepalive
:设定睡眠后是否还保持网络连接, 以便可以透过TCP唤醒系统 \nhibernatemode
:睡眠模式。数字越小,耗电越高。可以设置为 25 \n \n1 2 3 4 sudo pmset -b autopoweroffdelay 300 sudo pmset -b standbydelay 300 sudo pmset -b tcpkeepalive 0 sudo pmset -a hibernatemode 25
\n\n中间的参数-b是使用电池下的参数,-c为外接电源下的参数设定, -a 为所有情况下的设定。
\n \n升级到Mojave后鼠标发飘 \n前往偏好设置–>网络–>设定服务顺序(左下角齿轮) ,然后将蓝牙PAN 拖到最上面。
\n网络资源 \n应用软件 \n\n大量破解资源分享的网站 MacEnjoy \n \n在线文档 \niMac 2012 规格
\n升级SSD固态硬盘 \niMac 2012 21.5吋 拆卸指南
\nMac升级外挂SSD硬盘
\n如何选择另一个启动磁盘 :pen: 官方说明
\n更换SSD固态硬盘攻略
\n\n\n固态硬盘通过USB 3连接到电脑,并格式化成 Mac OS 扩展 格式。
\n
\n \n\n用 Carbon Copy Cloner(官网下载 )把原硬盘的数据镜像到 SSD。完成后要制作恢复分区「Recovery HD」破解版下载地址
\n或者 SuperDuper :pen: 免费版可以全盘备份,而不支持增量操作。
\n
\n \n\n重启,听到 「当 」一声后按住 Option
键(windows 键盘上的 Alt)。然后选择SSD作为启动硬盘。
\n \n\n开机后用 Trim Enabler (官网下载 )开启 Trim 读写加速。:+1:
\n \n \n","site":{"data":{}},"excerpt":"","more":"指令和任务 \n隐藏文件夹 \nTerminal 命令
\n\n快速命令,打开访达窗口,然后 ⌘ + ⇧ + . 就可以隐藏/显示。
\n需要重启Finder使设置生效 :
\n\n重启Finder:窗口左上角的苹果标志–>强制退出–>Finder–>重新启动
\n \n允许任何来源软件 \n系统默认在 安全与隐私 里只显示 “App Store” 和 “App Store 和被认可的开发者”,没有 “任何来源”。开启的话需要在终端输入
\nsudo spctl --master-disable
\n并输入开机密码。
\n任务控制 \n\n\n将任务放在后台运行:command + &
\n \n\n将任务丢到后台暂停:ctrl-z
\n \n\n查看后台所有任务状态:jobs -l
(会列出 1、2、3序列号)
\n \n\n将后台的任务拿到前台处理:fg %jobnumber
(指序列号,而不是任务id)
\n \n\n将后台的任务变成运行中:bg %jobnumber
\n \n\n管理后台当中的任务:kill -signal %jobnumber
\n \n \n文件管理 \n标签的使用 \n参看 mac 标签的使用
\n通用技巧 \n输入法 \n查看按键字符 \n\n偏好设置 → 键盘 → 输入法,窗口右面会显示键盘⌨️图案,按住shift⇧键或者option⌥,会显示在不同功能键下面的字符。 \n \n通过Automator添加快捷键 \n文章来源
\n\n一次打开 Finder —> 应用程序 —> automator \n选取 服务 \n从左边的双栏选取 使用工具—>运行AppleScript , 并双击运行。 \n出现文本框后选定(右栏最上边)没有输入 \n \n\n\n⌘+S 保存,命名为 Open Safari 。关闭automator \n转到 系统偏好设置—>键盘—>快捷键—>服务—>通用—>open safari ,然后设定快捷键就好了。 \n \n电源管理 \npmset
是macOS 下用来操作、电源管理的工具,可设定休眠模式、时间和唤醒时间或显示电源信息,不过因为它是一个命令列的指令,因此得透过终端机察看或修改设定。当你开启「终端机」输入pmset -g
会看到具体设置。
\n\nStandbydelay 28800
:将系统储存于內存中休眠,会消耗一些电力。 \nAutopowerofdelay 28800
: 把系统写入SSD硬盘中,将內存暂存关闭,依照这篇文章的说法,两者延迟时间28800秒(约八小时)会让电脑多维持內存八小时左右的电力。 \ntcpkeepalive
:设定睡眠后是否还保持网络连接, 以便可以透过TCP唤醒系统 \nhibernatemode
:睡眠模式。数字越小,耗电越高。可以设置为 25 \n \n\n\n中间的参数-b是使用电池下的参数,-c为外接电源下的参数设定, -a 为所有情况下的设定。
\n \n升级到Mojave后鼠标发飘 \n前往偏好设置–>网络–>设定服务顺序(左下角齿轮) ,然后将蓝牙PAN 拖到最上面。
\n网络资源 \n应用软件 \n\n大量破解资源分享的网站 MacEnjoy \n \n在线文档 \niMac 2012 规格
\n升级SSD固态硬盘 \niMac 2012 21.5吋 拆卸指南
\nMac升级外挂SSD硬盘
\n如何选择另一个启动磁盘 :pen: 官方说明
\n更换SSD固态硬盘攻略
\n\n\n固态硬盘通过USB 3连接到电脑,并格式化成 Mac OS 扩展 格式。
\n
\n \n\n用 Carbon Copy Cloner(官网下载 )把原硬盘的数据镜像到 SSD。完成后要制作恢复分区「Recovery HD」破解版下载地址
\n或者 SuperDuper :pen: 免费版可以全盘备份,而不支持增量操作。
\n
\n \n\n重启,听到 「当 」一声后按住 Option
键(windows 键盘上的 Alt)。然后选择SSD作为启动硬盘。
\n \n\n开机后用 Trim Enabler (官网下载 )开启 Trim 读写加速。:+1:
\n \n \n"},{"title":"Ubuntu重设root用户密码","date":"2019-07-26T15:51:03.000Z","urlname":"ubuntu-reset-root-pw","toc":true,"notshow":true,"_content":"\n# 重设密码\n\n原理上参考这份[中文指引][Chinese]就好。由于我的服务器是IONOS公司的,这里主要记录[IONOS][IONOS]的官方指引。(严格按照步骤)\n\n```sh\n网址 www.ionos.de/hilfe\n# 选择 Server & Cloud Infrastructure\n```\n\n\n\n1. 打开 KVM-Konsole\n2. 在用户管理平台软重启系统 Soft-Restart\n3. 在 KVM-Konsole 这边按 ``ESC`` 键\n4. 当出现类似一下界面,按 ``E`` 键\n\n![](https://github.com/maiernte/img/raw/master/Tech/ubuntu-reset-root-1.png)\n\n5. 然后会来到这个界面。\n6. ![](https://github.com/maiernte/img/raw/master/Tech/ubuntu-reset-root-2.png)\n\n7. 用上下键移动到“linux。。。”开始的那一行,并左右键移动到这行的末尾,空格,输入 `init=/bin/bash`\n\n![](https://github.com/maiernte/img/raw/master/Tech/ubuntu-reset-root-3.png)\n\n8. 按 `F10` 开始重启。等完成,进入命令模式后,输入以下命令。\n\n ```sh\n mount -o remount,rw /\n passwd\n Enter new UNIX password:\n Retype new UNIX password:\n passwd: password updated successfull\n ```\n\n \n\n9. 最后输入命令重启系统!\n\n ```sh\n reboot -f \n ```\n\n# 设置公共SSH\n\n在配置 github 的时候已经生成了 ssh-key ,可以用以下方法。\n\n```sh\ncd ~/.ssh\ncp id_rsa.pub authorized_keys\nssh-copy-id -i ~/.ssh/id_rsa.pub root@217.160.61.19 # 我的用户名和服务器地址,默认端口 22\n# 指定端口号为2212:ssh-copy-id -i ~/.ssh/id_rsa.pub -p 2212 user@ip\n\nssh root@217.160.61.19 # 登录并输入密码,第二次就不再需要密码了。\n\n```\n\n\n\n---\n\n[Chinese]: https://ifmx.cc/linux/398.html \"中文指引\"\n[IONOS]: https://www.ionos.de/hilfe/server-cloud-infrastructure/erste-schritte/root-passwort-zuruecksetzen/root-passwort-zuruecksetzen-ubuntu/ \"IONOS官方指引\"\n\n\n","source":"_posts/IT/Tools/Ubuntu重设root用户密码.md","raw":"---\n\ntitle: Ubuntu重设root用户密码\ndate: 2019-07-26 17:51:03\nurlname: ubuntu-reset-root-pw\ntoc: true\ntags: [工具]\ncategories: [IT, Tools]\nnotshow: true\n\n---\n\n# 重设密码\n\n原理上参考这份[中文指引][Chinese]就好。由于我的服务器是IONOS公司的,这里主要记录[IONOS][IONOS]的官方指引。(严格按照步骤)\n\n```sh\n网址 www.ionos.de/hilfe\n# 选择 Server & Cloud Infrastructure\n```\n\n\n\n1. 打开 KVM-Konsole\n2. 在用户管理平台软重启系统 Soft-Restart\n3. 在 KVM-Konsole 这边按 ``ESC`` 键\n4. 当出现类似一下界面,按 ``E`` 键\n\n![](https://github.com/maiernte/img/raw/master/Tech/ubuntu-reset-root-1.png)\n\n5. 然后会来到这个界面。\n6. ![](https://github.com/maiernte/img/raw/master/Tech/ubuntu-reset-root-2.png)\n\n7. 用上下键移动到“linux。。。”开始的那一行,并左右键移动到这行的末尾,空格,输入 `init=/bin/bash`\n\n![](https://github.com/maiernte/img/raw/master/Tech/ubuntu-reset-root-3.png)\n\n8. 按 `F10` 开始重启。等完成,进入命令模式后,输入以下命令。\n\n ```sh\n mount -o remount,rw /\n passwd\n Enter new UNIX password:\n Retype new UNIX password:\n passwd: password updated successfull\n ```\n\n \n\n9. 最后输入命令重启系统!\n\n ```sh\n reboot -f \n ```\n\n# 设置公共SSH\n\n在配置 github 的时候已经生成了 ssh-key ,可以用以下方法。\n\n```sh\ncd ~/.ssh\ncp id_rsa.pub authorized_keys\nssh-copy-id -i ~/.ssh/id_rsa.pub root@217.160.61.19 # 我的用户名和服务器地址,默认端口 22\n# 指定端口号为2212:ssh-copy-id -i ~/.ssh/id_rsa.pub -p 2212 user@ip\n\nssh root@217.160.61.19 # 登录并输入密码,第二次就不再需要密码了。\n\n```\n\n\n\n---\n\n[Chinese]: https://ifmx.cc/linux/398.html \"中文指引\"\n[IONOS]: https://www.ionos.de/hilfe/server-cloud-infrastructure/erste-schritte/root-passwort-zuruecksetzen/root-passwort-zuruecksetzen-ubuntu/ \"IONOS官方指引\"\n\n\n","slug":"IT/Tools/Ubuntu重设root用户密码","published":1,"updated":"2019-08-14T06:34:27.000Z","_id":"cka1y597x001e4huuv3ebsp4j","comments":1,"layout":"post","photos":[],"link":"","content":"重设密码 \n原理上参考这份中文指引 就好。由于我的服务器是IONOS公司的,这里主要记录IONOS 的官方指引。(严格按照步骤)
\n \n\n打开 KVM-Konsole \n在用户管理平台软重启系统 Soft-Restart \n在 KVM-Konsole 这边按 ESC
键 \n当出现类似一下界面,按 E
键 \n \n
\n\n\n然后会来到这个界面。
\n \n\n
\n \n\n用上下键移动到“linux。。。”开始的那一行,并左右键移动到这行的末尾,空格,输入 init=/bin/bash
\n \n \n
\n\n\n按 F10
开始重启。等完成,进入命令模式后,输入以下命令。
\n1 2 3 4 5 mount -o remount,rw / passwd Enter new UNIX password: Retype new UNIX password: passwd: password updated successfull
\n \n\n最后输入命令重启系统!
\n \n \n \n设置公共SSH \n在配置 github 的时候已经生成了 ssh-key ,可以用以下方法。
\n1 2 3 4 5 6 cd ~/.sshcp id_rsa.pub authorized_keys ssh-copy-id -i ~/.ssh/id_rsa.pub root@217.160.61.19 ssh root@217.160.61.19
\n \n","site":{"data":{}},"excerpt":"","more":"重设密码 \n原理上参考这份中文指引 就好。由于我的服务器是IONOS公司的,这里主要记录IONOS 的官方指引。(严格按照步骤)
\n\n\n打开 KVM-Konsole \n在用户管理平台软重启系统 Soft-Restart \n在 KVM-Konsole 这边按 ESC
键 \n当出现类似一下界面,按 E
键 \n \n
\n\n\n然后会来到这个界面。
\n \n\n
\n \n\n用上下键移动到“linux。。。”开始的那一行,并左右键移动到这行的末尾,空格,输入 init=/bin/bash
\n \n \n
\n\n\n按 F10
开始重启。等完成,进入命令模式后,输入以下命令。
\n\n \n\n最后输入命令重启系统!
\n\n \n \n设置公共SSH \n在配置 github 的时候已经生成了 ssh-key ,可以用以下方法。
\n\n \n"},{"title":"使用Github维护知识库","date":"2019-07-24T21:02:14.000Z","urlname":"use-github-in-wiki","toc":true,"notshow":true,"_content":"\n### 部署以及更新\n\n- **初建**:将文件夹设置为仓库。只是第一次需要,以后就基本不用。\n``git init``\n\n- **更新**:更新所有的文件。\n``git add .``\n\n- **描述**:更新描述(optional 不是必须的)\n``git commit -m \"my command...\"``\n\n- **推送**:上传到云仓库\n``git push -u origin master``\n\n\n\n#### 详细指令\n\n```bash\ngit remote add origin https://github.com/maiernte/NewAngular.git\n\ngit push -u origin master\n\n# For the next commit\n$ git add . # add to index only files created/modified and not those deleted\n$ git add -u # add to index only files deleted/modified and not those created\n$ git add -A # do both operation at once, add to index all files\n```\n下载及更新\n\n```bash\n#下载整个项目\ngit clone XXXXX\n#从服务器更新\ngit pull [xxxxxx]\n#Help\ngit hepl VERB\ngit VERB -h\n```\n\n克隆指定 Branch, 因为有时候 master 和 gh-pages 上存放的是不同的文档。\n\n```sh\ngit clone https://github.com/maiernte/gitbook_python_finance.git --branch master new_fold\n```\n\n设置忽略文件夹以及文件\n\n```sh\ntouch .gitignore\nvim .gitignore\n```\n\n并添加类似的行\n\n```\n# See https://help.github.com/ignore-files/ for more about ignoring files.\n# dependencies\n/node_modules\n\n# testing\n/coverage\n# production\n/build\n# misc\n.DS_Store\n.env.local\nnpm-debug.log*\nyarn-debug.log*\n```\n\n\n\n### 设置git身份信息\n\n```bash\ngit config --global user.name \"你的用户名\"\ngit config --global user.email \"你的邮箱\" \n```\n\n\n\n### 密码和凭证\n\n#### 保存 Github 用户名和密码\n\nMac 下面每次 `push` 都要询问用户名和密码,很麻烦。而且将来不利于用脚本控制部署。有个解决的办法:进入项目根目录,执行一下命令\n\n```sh\ngit config --global credential.helper store\n```\n\n然后推送一次,输入账号和密码后,第二次推送就不需要了!\n\n\n\n#### SSH Key 凭证\n\n```sh\n# 加入 SSH Agent\nssh-agent -s\n```\n\n如果出现类似`Agent pid XXXX`这样的字样,则跳过下一步,否则输入:\n\n```sh\neval `ssh-agent -s`\n```\n\n直到出现`Agent pid XXXX`这样的提示之后,输入:\n\n```sh\nssh-add ~/.ssh/id_rsa\n```\n\n这样,你成功的在本地生成了一个可用的SSH key。\n\n下面将这个key添加到github网站。 打开https://github.com/settings/ssh,点击`Add SSH Key`,复制`id_rsa.pub`中的所有内容到`Key`框中,在`Title`框中输入方便自己记忆的名字(建议输入能让自己明白是哪台电脑的名字,方便以后管理)。 当网页显示添加成功后,就已经完成了全部的操作。 下面进行一些测试,同样是打开Git Bash,输入:\n\n```\nssh -T git@github.com\n```\n\nbash中会显示如下字样:\n\n```\nThe authenticity of host 'github.com (207.97.227.239)' can't be established.\nRSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.\nAre you sure you want to continue connecting (yes/no)?\n```\n\n输入yes之后,计算机会自动将`github.com`列入已知的host,然后会出现如下提示:\n\n```\nHi username! You've successfully authenticated, but GitHub does not\nprovide shell access.\n```\n\n如果成功看见,说明你已经配置好了,快去享受爽快的hexo一键部署吧; 如果出现任何错误提示,请仔细检查自己的操作,或者将错误信息发给我。\n\n[参阅:十步轻松搞定Hexo]([https://gavinlee1.github.io/2017/02/25/%E5%8D%81%E6%AD%A5%E4%B9%8B%E5%86%85%E8%BD%BB%E6%9D%BE%E6%90%9E%E5%AE%9A-Hexo-GitHub%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/](https://gavinlee1.github.io/2017/02/25/十步之内轻松搞定-Hexo-GitHub搭建个人博客/))\n\n如果要多台电脑共同使用同一个SSH-Key,先在第二台电脑上用这个key的相同邮件生成一个新的key\n```\nssh-keygen -t rsa -b 4096 -C \"username@gmail.com\"\n```\n用第一台电脑上的两个key文件 `id_rsa, id_rsa.pub` 覆盖第二台电脑的文件(*注意备份*)。确保NEW上的两个文件的权限是正确的,id_rsa是600,id_rsa.pub是644,比如:\n```sh\n-rw------- 1 fancy fancy 1675 2013-03-19 12:55 id_rsa\n-rw-r--r-- 1 fancy fancy 406 2013-03-19 12:55 id_rsa.pub\n# 查看权限命令是 \nls -l\n# 更改权限命令是\nchmod 600 ~/.ssh/id_rsa\nchmod 644 ~/.ssh/id_rsa.pub\n```\n\n\n### 删除仓库\n\n1. 点开仓库\n2. 点击右上角的 `Settings`\n3. 滚动到最下面 `Done Zone`, 选择 `Delete this repository`。\n\n### 恢复所有修改\n\n```sh\ngit checkout . #本地所有修改的。没有的提交的,都返回到原来的状态\ngit stash #把所有没有提交的修改暂存到stash里面。可用git stash pop回复。\ngit reset --hard HASH #返回到HASH点,不保留修改。\ngit reset --soft HASH #同上,保留修改。HASH 是节点号,z.B. 7d593c5\n\ngit clean -df #返回到某个节点\ngit clean 参数\n -n 显示 将要 删除的 文件 和 目录\n -f 删除 文件\n -df 删除 文件 和 目录\n--------------------- \ngit describe --always # 查看当前节点号\ngit log # 查看所有HEAD号和Commit描述\n```\n\n更加暴力的方式是\n\n```sh\nit checkout . && git clean -xdf\n```\n\n\n\n#### 清除历史记录\n\n{% fold 代码 %}\n```\n1. Checkout\n git checkout --orphan latest_branch\n\n2. Add all the files\n git add -A\n\n3. Commit the changes\n git commit -am \"commit message\"\n\n4. Delete the branch\n git branch -D master\n\n5. Rename the current branch to master\n git branch -m master\n\n6. Finally, force update your repository\n\n git push -f origin master\n```\n{% endfold %}\n\n### 私人仓库\n\n作为个人笔记,不应该设为public,这样别人可以浏览。==2019== 年Github更新了[新的政策](https://www.infoq.cn/article/aKm94Aw1RmDL_9Gysm8D\n):\n> GitHub Free:包含无限制的私人存储库。有了 GitHub Free,开发人员可以将 GitHub 用于私有项目,每个存储库最多可以有三个协作者。许多开发人员希望使用私人仓库申请工作,做一些 side project,或者在公开发布之前先私下尝试一些东西。从今天开始,这些场景在 GitHub 上可以免费实现(未来可能有更多场景)。 公共存储库仍然是免费的,并包括无限合作者。\n\n\n\n1. 点开仓库\n2. 点击右上角的 `Settings`\n3. 滚动到最下面 `Done Zone`, 选择 `Make this repository private`。\n\n## 文摘资源\n\n[Git submodule 子模块的管理和使用](https://www.jianshu.com/p/9000cd49822c)","source":"_posts/IT/Tools/使用Github维护知识库.md","raw":"---\ntitle: 使用Github维护知识库\ndate: 2019-07-24 23:02:14\nurlname: use-github-in-wiki\ntoc: true\ntags: [工具]\ncategories: [IT, Tools]\nnotshow: true\n\n---\n\n### 部署以及更新\n\n- **初建**:将文件夹设置为仓库。只是第一次需要,以后就基本不用。\n``git init``\n\n- **更新**:更新所有的文件。\n``git add .``\n\n- **描述**:更新描述(optional 不是必须的)\n``git commit -m \"my command...\"``\n\n- **推送**:上传到云仓库\n``git push -u origin master``\n\n\n\n#### 详细指令\n\n```bash\ngit remote add origin https://github.com/maiernte/NewAngular.git\n\ngit push -u origin master\n\n# For the next commit\n$ git add . # add to index only files created/modified and not those deleted\n$ git add -u # add to index only files deleted/modified and not those created\n$ git add -A # do both operation at once, add to index all files\n```\n下载及更新\n\n```bash\n#下载整个项目\ngit clone XXXXX\n#从服务器更新\ngit pull [xxxxxx]\n#Help\ngit hepl VERB\ngit VERB -h\n```\n\n克隆指定 Branch, 因为有时候 master 和 gh-pages 上存放的是不同的文档。\n\n```sh\ngit clone https://github.com/maiernte/gitbook_python_finance.git --branch master new_fold\n```\n\n设置忽略文件夹以及文件\n\n```sh\ntouch .gitignore\nvim .gitignore\n```\n\n并添加类似的行\n\n```\n# See https://help.github.com/ignore-files/ for more about ignoring files.\n# dependencies\n/node_modules\n\n# testing\n/coverage\n# production\n/build\n# misc\n.DS_Store\n.env.local\nnpm-debug.log*\nyarn-debug.log*\n```\n\n\n\n### 设置git身份信息\n\n```bash\ngit config --global user.name \"你的用户名\"\ngit config --global user.email \"你的邮箱\" \n```\n\n\n\n### 密码和凭证\n\n#### 保存 Github 用户名和密码\n\nMac 下面每次 `push` 都要询问用户名和密码,很麻烦。而且将来不利于用脚本控制部署。有个解决的办法:进入项目根目录,执行一下命令\n\n```sh\ngit config --global credential.helper store\n```\n\n然后推送一次,输入账号和密码后,第二次推送就不需要了!\n\n\n\n#### SSH Key 凭证\n\n```sh\n# 加入 SSH Agent\nssh-agent -s\n```\n\n如果出现类似`Agent pid XXXX`这样的字样,则跳过下一步,否则输入:\n\n```sh\neval `ssh-agent -s`\n```\n\n直到出现`Agent pid XXXX`这样的提示之后,输入:\n\n```sh\nssh-add ~/.ssh/id_rsa\n```\n\n这样,你成功的在本地生成了一个可用的SSH key。\n\n下面将这个key添加到github网站。 打开https://github.com/settings/ssh,点击`Add SSH Key`,复制`id_rsa.pub`中的所有内容到`Key`框中,在`Title`框中输入方便自己记忆的名字(建议输入能让自己明白是哪台电脑的名字,方便以后管理)。 当网页显示添加成功后,就已经完成了全部的操作。 下面进行一些测试,同样是打开Git Bash,输入:\n\n```\nssh -T git@github.com\n```\n\nbash中会显示如下字样:\n\n```\nThe authenticity of host 'github.com (207.97.227.239)' can't be established.\nRSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.\nAre you sure you want to continue connecting (yes/no)?\n```\n\n输入yes之后,计算机会自动将`github.com`列入已知的host,然后会出现如下提示:\n\n```\nHi username! You've successfully authenticated, but GitHub does not\nprovide shell access.\n```\n\n如果成功看见,说明你已经配置好了,快去享受爽快的hexo一键部署吧; 如果出现任何错误提示,请仔细检查自己的操作,或者将错误信息发给我。\n\n[参阅:十步轻松搞定Hexo]([https://gavinlee1.github.io/2017/02/25/%E5%8D%81%E6%AD%A5%E4%B9%8B%E5%86%85%E8%BD%BB%E6%9D%BE%E6%90%9E%E5%AE%9A-Hexo-GitHub%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/](https://gavinlee1.github.io/2017/02/25/十步之内轻松搞定-Hexo-GitHub搭建个人博客/))\n\n如果要多台电脑共同使用同一个SSH-Key,先在第二台电脑上用这个key的相同邮件生成一个新的key\n```\nssh-keygen -t rsa -b 4096 -C \"username@gmail.com\"\n```\n用第一台电脑上的两个key文件 `id_rsa, id_rsa.pub` 覆盖第二台电脑的文件(*注意备份*)。确保NEW上的两个文件的权限是正确的,id_rsa是600,id_rsa.pub是644,比如:\n```sh\n-rw------- 1 fancy fancy 1675 2013-03-19 12:55 id_rsa\n-rw-r--r-- 1 fancy fancy 406 2013-03-19 12:55 id_rsa.pub\n# 查看权限命令是 \nls -l\n# 更改权限命令是\nchmod 600 ~/.ssh/id_rsa\nchmod 644 ~/.ssh/id_rsa.pub\n```\n\n\n### 删除仓库\n\n1. 点开仓库\n2. 点击右上角的 `Settings`\n3. 滚动到最下面 `Done Zone`, 选择 `Delete this repository`。\n\n### 恢复所有修改\n\n```sh\ngit checkout . #本地所有修改的。没有的提交的,都返回到原来的状态\ngit stash #把所有没有提交的修改暂存到stash里面。可用git stash pop回复。\ngit reset --hard HASH #返回到HASH点,不保留修改。\ngit reset --soft HASH #同上,保留修改。HASH 是节点号,z.B. 7d593c5\n\ngit clean -df #返回到某个节点\ngit clean 参数\n -n 显示 将要 删除的 文件 和 目录\n -f 删除 文件\n -df 删除 文件 和 目录\n--------------------- \ngit describe --always # 查看当前节点号\ngit log # 查看所有HEAD号和Commit描述\n```\n\n更加暴力的方式是\n\n```sh\nit checkout . && git clean -xdf\n```\n\n\n\n#### 清除历史记录\n\n{% fold 代码 %}\n```\n1. Checkout\n git checkout --orphan latest_branch\n\n2. Add all the files\n git add -A\n\n3. Commit the changes\n git commit -am \"commit message\"\n\n4. Delete the branch\n git branch -D master\n\n5. Rename the current branch to master\n git branch -m master\n\n6. Finally, force update your repository\n\n git push -f origin master\n```\n{% endfold %}\n\n### 私人仓库\n\n作为个人笔记,不应该设为public,这样别人可以浏览。==2019== 年Github更新了[新的政策](https://www.infoq.cn/article/aKm94Aw1RmDL_9Gysm8D\n):\n> GitHub Free:包含无限制的私人存储库。有了 GitHub Free,开发人员可以将 GitHub 用于私有项目,每个存储库最多可以有三个协作者。许多开发人员希望使用私人仓库申请工作,做一些 side project,或者在公开发布之前先私下尝试一些东西。从今天开始,这些场景在 GitHub 上可以免费实现(未来可能有更多场景)。 公共存储库仍然是免费的,并包括无限合作者。\n\n\n\n1. 点开仓库\n2. 点击右上角的 `Settings`\n3. 滚动到最下面 `Done Zone`, 选择 `Make this repository private`。\n\n## 文摘资源\n\n[Git submodule 子模块的管理和使用](https://www.jianshu.com/p/9000cd49822c)","slug":"IT/Tools/使用Github维护知识库","published":1,"updated":"2019-08-15T09:40:53.000Z","_id":"cka1y597z001h4huur126uc0a","comments":1,"layout":"post","photos":[],"link":"","content":"部署以及更新 \n\n\n初建 :将文件夹设置为仓库。只是第一次需要,以后就基本不用。 \ngit init
\n \n\n更新 :更新所有的文件。 \ngit add .
\n \n\n描述 :更新描述(optional 不是必须的) \ngit commit -m "my command..."
\n \n\n推送 :上传到云仓库 \ngit push -u origin master
\n \n \n \n详细指令 \n1 2 3 4 5 6 7 8 git remote add origin https://github.com/maiernte/NewAngular.git git push -u origin master $ git add . $ git add -u $ git add -A
\n下载及更新
\n1 2 3 4 5 6 7 git clone XXXXX git pull [xxxxxx] git hepl VERB git VERB -h
\n克隆指定 Branch, 因为有时候 master 和 gh-pages 上存放的是不同的文档。
\n1 git clone https://github.com/maiernte/gitbook_python_finance.git --branch master new_fold
\n设置忽略文件夹以及文件
\n1 2 touch .gitignore vim .gitignore
\n并添加类似的行
\n1 2 3 4 5 6 7 8 9 10 11 12 13 # See https://help.github.com/ignore-files/ for more about ignoring files. # dependencies /node_modules # testing /coverage # production /build # misc .DS_Store .env.local npm-debug.log* yarn-debug.log*
\n设置git身份信息 \n1 2 git config --global user.name \"你的用户名\" git config --global user.email \"你的邮箱\"
\n密码和凭证 \n保存 Github 用户名和密码 \nMac 下面每次 push
都要询问用户名和密码,很麻烦。而且将来不利于用脚本控制部署。有个解决的办法:进入项目根目录,执行一下命令
\n1 git config --global credential.helper store
\n然后推送一次,输入账号和密码后,第二次推送就不需要了!
\nSSH Key 凭证 \n \n如果出现类似Agent pid XXXX
这样的字样,则跳过下一步,否则输入:
\n \n直到出现Agent pid XXXX
这样的提示之后,输入:
\n \n这样,你成功的在本地生成了一个可用的SSH key。
\n下面将这个key添加到github网站。 打开https://github.com/settings/ssh,点击Add SSH Key
,复制id_rsa.pub
中的所有内容到Key
框中,在Title
框中输入方便自己记忆的名字(建议输入能让自己明白是哪台电脑的名字,方便以后管理)。 当网页显示添加成功后,就已经完成了全部的操作。 下面进行一些测试,同样是打开Git Bash,输入:
\n \nbash中会显示如下字样:
\n1 2 3 The authenticity of host 'github.com (207.97.227.239)' can't be established. RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48. Are you sure you want to continue connecting (yes/no)?
\n输入yes之后,计算机会自动将github.com
列入已知的host,然后会出现如下提示:
\n1 2 Hi username! You've successfully authenticated, but GitHub does not provide shell access.
\n如果成功看见,说明你已经配置好了,快去享受爽快的hexo一键部署吧; 如果出现任何错误提示,请仔细检查自己的操作,或者将错误信息发给我。
\n参阅:十步轻松搞定Hexo
\n如果要多台电脑共同使用同一个SSH-Key,先在第二台电脑上用这个key的相同邮件生成一个新的key
\n1 ssh-keygen -t rsa -b 4096 -C "username@gmail.com"
\n用第一台电脑上的两个key文件 id_rsa, id_rsa.pub
覆盖第二台电脑的文件(注意备份 )。确保NEW上的两个文件的权限是正确的,id_rsa是600,id_rsa.pub是644,比如:
\n1 2 3 4 5 6 7 -rw------- 1 fancy fancy 1675 2013-03-19 12:55 id_rsa -rw-r--r-- 1 fancy fancy 406 2013-03-19 12:55 id_rsa.pub ls -l chmod 600 ~/.ssh/id_rsa chmod 644 ~/.ssh/id_rsa.pub
\n删除仓库 \n\n点开仓库 \n点击右上角的 Settings
\n滚动到最下面 Done Zone
, 选择 Delete this repository
。 \n \n恢复所有修改 \n1 2 3 4 5 6 7 8 9 10 11 12 13 git checkout . git stash git reset --hard HASH git reset --soft HASH git clean -df git clean 参数 -n 显示 将要 删除的 文件 和 目录 -f 删除 文件 -df 删除 文件 和 目录 --------------------- git describe --always git log
\n更加暴力的方式是
\n1 it checkout . && git clean -xdf
\n清除历史记录 \n\n
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1. Checkout git checkout --orphan latest_branch 2. Add all the files git add -A 3. Commit the changes git commit -am "commit message" 4. Delete the branch git branch -D master 5. Rename the current branch to master git branch -m master 6. Finally, force update your repository git push -f origin master
\n\n
\n私人仓库 \n作为个人笔记,不应该设为public,这样别人可以浏览。==2019== 年Github更新了新的政策 :
\n\nGitHub Free:包含无限制的私人存储库。有了 GitHub Free,开发人员可以将 GitHub 用于私有项目,每个存储库最多可以有三个协作者。许多开发人员希望使用私人仓库申请工作,做一些 side project,或者在公开发布之前先私下尝试一些东西。从今天开始,这些场景在 GitHub 上可以免费实现(未来可能有更多场景)。 公共存储库仍然是免费的,并包括无限合作者。
\n \n\n点开仓库 \n点击右上角的 Settings
\n滚动到最下面 Done Zone
, 选择 Make this repository private
。 \n \n文摘资源 \nGit submodule 子模块的管理和使用
\n","site":{"data":{}},"excerpt":"部署以及更新 \n\n\n初建 :将文件夹设置为仓库。只是第一次需要,以后就基本不用。 \ngit init
\n \n\n更新 :更新所有的文件。 \ngit add .
\n \n\n描述 :更新描述(optional 不是必须的) \ngit commit -m "my command..."
\n \n\n推送 :上传到云仓库 \ngit push -u origin master
\n \n ","more":"详细指令 \n\n下载及更新
\n\n克隆指定 Branch, 因为有时候 master 和 gh-pages 上存放的是不同的文档。
\n\n设置忽略文件夹以及文件
\n\n并添加类似的行
\n\n设置git身份信息 \n\n密码和凭证 \n保存 Github 用户名和密码 \nMac 下面每次 push
都要询问用户名和密码,很麻烦。而且将来不利于用脚本控制部署。有个解决的办法:进入项目根目录,执行一下命令
\n\n然后推送一次,输入账号和密码后,第二次推送就不需要了!
\nSSH Key 凭证 \n\n如果出现类似Agent pid XXXX
这样的字样,则跳过下一步,否则输入:
\n\n直到出现Agent pid XXXX
这样的提示之后,输入:
\n\n这样,你成功的在本地生成了一个可用的SSH key。
\n下面将这个key添加到github网站。 打开https://github.com/settings/ssh,点击Add SSH Key
,复制id_rsa.pub
中的所有内容到Key
框中,在Title
框中输入方便自己记忆的名字(建议输入能让自己明白是哪台电脑的名字,方便以后管理)。 当网页显示添加成功后,就已经完成了全部的操作。 下面进行一些测试,同样是打开Git Bash,输入:
\n\nbash中会显示如下字样:
\n\n输入yes之后,计算机会自动将github.com
列入已知的host,然后会出现如下提示:
\n\n如果成功看见,说明你已经配置好了,快去享受爽快的hexo一键部署吧; 如果出现任何错误提示,请仔细检查自己的操作,或者将错误信息发给我。
\n参阅:十步轻松搞定Hexo
\n如果要多台电脑共同使用同一个SSH-Key,先在第二台电脑上用这个key的相同邮件生成一个新的key
\n\n用第一台电脑上的两个key文件 id_rsa, id_rsa.pub
覆盖第二台电脑的文件(注意备份 )。确保NEW上的两个文件的权限是正确的,id_rsa是600,id_rsa.pub是644,比如:
\n\n删除仓库 \n\n点开仓库 \n点击右上角的 Settings
\n滚动到最下面 Done Zone
, 选择 Delete this repository
。 \n \n恢复所有修改 \n\n更加暴力的方式是
\n\n清除历史记录 \n\n私人仓库 \n作为个人笔记,不应该设为public,这样别人可以浏览。==2019== 年Github更新了新的政策 :
\n\nGitHub Free:包含无限制的私人存储库。有了 GitHub Free,开发人员可以将 GitHub 用于私有项目,每个存储库最多可以有三个协作者。许多开发人员希望使用私人仓库申请工作,做一些 side project,或者在公开发布之前先私下尝试一些东西。从今天开始,这些场景在 GitHub 上可以免费实现(未来可能有更多场景)。 公共存储库仍然是免费的,并包括无限合作者。
\n \n\n点开仓库 \n点击右上角的 Settings
\n滚动到最下面 Done Zone
, 选择 Make this repository private
。 \n \n文摘资源 \nGit submodule 子模块的管理和使用
"},{"title":"坚果云有关","date":"2019-07-25T03:41:28.000Z","urlname":"about-jianguoyu","toc":true,"notshow":true,"_content":"\n\n\n##### 忽略文件\n\n配置文件 `customExtRules.conf`。在 Window 版可以在软件直接打开,在 Mac App 里面没有这个选项,要自行查找这个配置文件。[官方说明](http://www.jianguoyun.com/s/content/2219.html)\n\n> 在 Windows 和 Mac 下面目录可能不一样。\n\n\n\nMac 系统或 Linux 系统这个文件通常位于\n\n```sh\nvim ~/.nutstore/db/customExtRules.conf\nfold/to/ignore # 文件夹的绝对路径\n```\n\n\n\n##### 安卓系统上同步文件夹\n\n安卓版的坚果云客户端只会打开临时指定的文件。如果希望跟在PC上一样的操作,将整个文件库都同步到指定的文件夹内,就要用[FolderSync](http://help.jianguoyun.com/?p=2887)软件。\n\n登陆坚果云官网,账户信息-->安全选项-->第三方应用管理,生成一个新的第三方应用 **androidSync**,密码为 `xxxxxxxxxxxxxxxx`,然后按照上述官网的指南一步一步配置 FolderSync 就可以了。回头还是用 「坚果云 Markdown」这款软件来阅读md文档。\n\n##### 托管密码\n\n设置为 SafeInClound 的托管云盘。用户名是坚果云的登陆账户,密码为专门为其开通的第三方应用 *mypass* 的专门密码。`Local Pfad` 填写云盘内存储数据库文件的文件夹。 \n\n![](https://github.com/maiernte/img/raw/master/Tech/safeInCloudToJianguo.png)","source":"_posts/IT/Tools/坚果云有关.md","raw":"---\ntitle: 坚果云有关\ndate: 2019-07-25 05:41:28\nurlname: about-jianguoyu\ntoc: true\ntags: [工具]\ncategories: [IT, Tools]\nnotshow: true\n\n---\n\n\n\n##### 忽略文件\n\n配置文件 `customExtRules.conf`。在 Window 版可以在软件直接打开,在 Mac App 里面没有这个选项,要自行查找这个配置文件。[官方说明](http://www.jianguoyun.com/s/content/2219.html)\n\n> 在 Windows 和 Mac 下面目录可能不一样。\n\n\n\nMac 系统或 Linux 系统这个文件通常位于\n\n```sh\nvim ~/.nutstore/db/customExtRules.conf\nfold/to/ignore # 文件夹的绝对路径\n```\n\n\n\n##### 安卓系统上同步文件夹\n\n安卓版的坚果云客户端只会打开临时指定的文件。如果希望跟在PC上一样的操作,将整个文件库都同步到指定的文件夹内,就要用[FolderSync](http://help.jianguoyun.com/?p=2887)软件。\n\n登陆坚果云官网,账户信息-->安全选项-->第三方应用管理,生成一个新的第三方应用 **androidSync**,密码为 `xxxxxxxxxxxxxxxx`,然后按照上述官网的指南一步一步配置 FolderSync 就可以了。回头还是用 「坚果云 Markdown」这款软件来阅读md文档。\n\n##### 托管密码\n\n设置为 SafeInClound 的托管云盘。用户名是坚果云的登陆账户,密码为专门为其开通的第三方应用 *mypass* 的专门密码。`Local Pfad` 填写云盘内存储数据库文件的文件夹。 \n\n![](https://github.com/maiernte/img/raw/master/Tech/safeInCloudToJianguo.png)","slug":"IT/Tools/坚果云有关","published":1,"updated":"2019-08-14T22:10:30.000Z","_id":"cka1y5981001j4huuk1yz6awj","comments":1,"layout":"post","photos":[],"link":"","content":"忽略文件 \n配置文件 customExtRules.conf
。在 Window 版可以在软件直接打开,在 Mac App 里面没有这个选项,要自行查找这个配置文件。官方说明
\n\n在 Windows 和 Mac 下面目录可能不一样。
\n \n \nMac 系统或 Linux 系统这个文件通常位于
\n1 2 vim ~/.nutstore/db/customExtRules.conf fold/to/ignore
\n安卓系统上同步文件夹 \n安卓版的坚果云客户端只会打开临时指定的文件。如果希望跟在PC上一样的操作,将整个文件库都同步到指定的文件夹内,就要用FolderSync 软件。
\n登陆坚果云官网,账户信息–>安全选项–>第三方应用管理,生成一个新的第三方应用 androidSync ,密码为 xxxxxxxxxxxxxxxx
,然后按照上述官网的指南一步一步配置 FolderSync 就可以了。回头还是用 「坚果云 Markdown」这款软件来阅读md文档。
\n托管密码 \n设置为 SafeInClound 的托管云盘。用户名是坚果云的登陆账户,密码为专门为其开通的第三方应用 mypass 的专门密码。Local Pfad
填写云盘内存储数据库文件的文件夹。
\n
\n","site":{"data":{}},"excerpt":"忽略文件 \n配置文件 customExtRules.conf
。在 Window 版可以在软件直接打开,在 Mac App 里面没有这个选项,要自行查找这个配置文件。官方说明
\n\n在 Windows 和 Mac 下面目录可能不一样。
\n ","more":"Mac 系统或 Linux 系统这个文件通常位于
\n\n安卓系统上同步文件夹 \n安卓版的坚果云客户端只会打开临时指定的文件。如果希望跟在PC上一样的操作,将整个文件库都同步到指定的文件夹内,就要用FolderSync 软件。
\n登陆坚果云官网,账户信息–>安全选项–>第三方应用管理,生成一个新的第三方应用 androidSync ,密码为 xxxxxxxxxxxxxxxx
,然后按照上述官网的指南一步一步配置 FolderSync 就可以了。回头还是用 「坚果云 Markdown」这款软件来阅读md文档。
\n托管密码 \n设置为 SafeInClound 的托管云盘。用户名是坚果云的登陆账户,密码为专门为其开通的第三方应用 mypass 的专门密码。Local Pfad
填写云盘内存储数据库文件的文件夹。
\n
"},{"title":"编辑器工具使用技巧汇总","date":"2019-07-27T06:24:33.000Z","urlname":"Editor-Skills-Summary","toc":true,"notshow":true,"_content":"\n# VSCode\n\n1. Wechseln zwischen Text-Editor und Terminal\n 1. `Command+K+S` oder in Menü `Code->Pereferenc->Hotky`, öffnet Hot-Key Editor Fenster.\n 2. Tip `terminal` in Suchfeld, findet die Binding `^\\``, löscht diese Einstellung.\n 3. Sucht den \"workbench.action.terminal.focus\", bindet es mit Key `⌃<`.\n 4. Sucht den \"workbench.action.focusActiveEditorGroup\", bindet es wiederum mit Schlüssel `⌃<`, und Wenn-Kondition \"terminalFocus\".\n\n\n\n# Typora\n\n更多更详细的内容请参阅 Typora Wiki\n\n[Typora Wiki](http://support.typora.io/) ([wiki-website Project](https://github.com/typora/wiki-website))\n\n\n\n## 个性化快捷键\n\n**Windows**\n\n*文件--->偏好设置--->往高级设置* ,点击看到两个`json`格式的文件,打开第二个(**conf.user.json**), 用记事本打开,第17行`keyBinding`,在大括号中写 `代码块`:“你要设置的快捷键”,比如我的是**代码块**:`Ctrl+Alt+P`,保存文件,重启`typora`即可生效。[更详细介绍](https://github.com/itcastWsy/typora_copy_images)\n\n\n```json\n// Custom key binding, which will override the default ones.\n \"keyBinding\": {\n // for example: \n // \"Always on Top\": \"Ctrl+Shift+P\"\n \"注释\":\"Ctrl+Alt+/\",\n \"代码块\":\"Ctrl+Alt+P\",\n \"打开文件夹…\":\"Ctrl+Alt+O\"\n },\n```\n\n**Mac**\n\n[官方说明](http://support.typora.io/Shortcut-Keys/#macos)\n\n需要到`系统偏好设置—>键盘-->快捷键-->应用快捷键`那边设置。找到 ***Typora.App***,菜单名称填 ***代码***,然后输入希望的快捷键。我的设置是***⌃+⌘+C***。\n\n\n\n## 更改风格\n\n[开发好的工具](https://github.com/typora/typora-theme-toolkit) [如何客制化格式](https://pjchender.github.io/2018/04/24/note-%E5%A6%82%E4%BD%95%E7%82%BA-typora-%E6%92%B0%E5%AF%AB%E5%AE%A2%E8%A3%BD%E5%8C%96%E6%A8%A3%E5%BC%8F/)\n\n简单使用:添加 `base.user.css` 文件,并改变行内代码的颜色,以及公式颜色\n\n```css\n# 行内代码\ncode {\n\tcolor: red\n}\n\n# 行内公式\n.MathJax_SVG{\n\tcolor: DarkBlue;\n}\n```\n\n \n\nTypora的代码使用 [CodeMirror](https://codemirror.net/) 项目,尝试了一下修改 `base.user.css` 文件确实可以改变代码段的高度,并带滚动。但同时也限定了进行代码编辑时的整个窗口高度。所以没有用\n\n```css\n# 缺点:打开源代码模式的时候,整个页面也被限制成了只有300px高\n.CodeMirror {\n max-height: 300px;\n}\n.CodeMirror-scroll {\n overflow-y: auto;\n \toverflow-x: auto;\n\tmax-height: 300px;\n}\n```\n\n注意到书写模式的时候,整个编辑器都被包裹在 `
` 里面。在源代码模式的时候,没有这个 `write` 元素的包裹,而整个源代码窗口都被作用为一个 `CodeMirror` 元素对待。因此,作一些改变就能满足要求\n\n```scss\n#write .CodeMirror {\n max-height: 350px;\n}\n# 设定上下 padding 会让滚动条在小代码区消失\n#write .CodeMirror-scroll {\n overflow-y: auto;\n \toverflow-x: auto;\n\tmax-height: 330px;\n\tpadding-top: 10px;\n\tpadding-bottom: 10px;\n}\n```\n\n```\n# 避免只有一行的代码区,因为会显示滚动条,不好看。一行代码就用行内代码好了。\n```\n\n如果要限制来自 `GistHub` 的代码高度,只能限定其父元素 `iframe`\n\n```css\niframe {\n\tmax-height: 500px;\n}\n```\n\nWindows版的 Typora 的数学模块保存在 `path/resource/app/lib.asar` 压缩文件中。需要用asar解压\n\n[如何查看 asar 内部结构](https://newsn.net/say/electron-asar-explorer.html)\n\n[asar 如何加密解密](https://newsn.net/say/electron-asar-explorer.html)\n\n```sh\nnpm install -g asar\nasar extract 压缩文件 解压文件夹\nasar pack 文件夹 压缩文件名\n```\n\n\n\n\n## 文本搜索\n\n打开的单篇文章内搜索:\n\n> Windows `Control + F`\n>\n> Mac `⌘+F`\n\n文件夹内的搜索\n\n> Windows `Control + Shift + F`\n>\n> Mac `⇧+⌘+F`","source":"_posts/IT/Tools/编辑器工具使用技巧汇总.md","raw":"---\ntitle: 编辑器工具使用技巧汇总\ndate: 2019-07-27 08:24:33\nurlname: Editor-Skills-Summary\ntoc: true\ntags: [工具]\ncategories: [IT, Tools]\nnotshow: true\n\n---\n\n# VSCode\n\n1. Wechseln zwischen Text-Editor und Terminal\n 1. `Command+K+S` oder in Menü `Code->Pereferenc->Hotky`, öffnet Hot-Key Editor Fenster.\n 2. Tip `terminal` in Suchfeld, findet die Binding `^\\``, löscht diese Einstellung.\n 3. Sucht den \"workbench.action.terminal.focus\", bindet es mit Key `⌃<`.\n 4. Sucht den \"workbench.action.focusActiveEditorGroup\", bindet es wiederum mit Schlüssel `⌃<`, und Wenn-Kondition \"terminalFocus\".\n\n\n\n# Typora\n\n更多更详细的内容请参阅 Typora Wiki\n\n[Typora Wiki](http://support.typora.io/) ([wiki-website Project](https://github.com/typora/wiki-website))\n\n\n\n## 个性化快捷键\n\n**Windows**\n\n*文件--->偏好设置--->往高级设置* ,点击看到两个`json`格式的文件,打开第二个(**conf.user.json**), 用记事本打开,第17行`keyBinding`,在大括号中写 `代码块`:“你要设置的快捷键”,比如我的是**代码块**:`Ctrl+Alt+P`,保存文件,重启`typora`即可生效。[更详细介绍](https://github.com/itcastWsy/typora_copy_images)\n\n\n```json\n// Custom key binding, which will override the default ones.\n \"keyBinding\": {\n // for example: \n // \"Always on Top\": \"Ctrl+Shift+P\"\n \"注释\":\"Ctrl+Alt+/\",\n \"代码块\":\"Ctrl+Alt+P\",\n \"打开文件夹…\":\"Ctrl+Alt+O\"\n },\n```\n\n**Mac**\n\n[官方说明](http://support.typora.io/Shortcut-Keys/#macos)\n\n需要到`系统偏好设置—>键盘-->快捷键-->应用快捷键`那边设置。找到 ***Typora.App***,菜单名称填 ***代码***,然后输入希望的快捷键。我的设置是***⌃+⌘+C***。\n\n\n\n## 更改风格\n\n[开发好的工具](https://github.com/typora/typora-theme-toolkit) [如何客制化格式](https://pjchender.github.io/2018/04/24/note-%E5%A6%82%E4%BD%95%E7%82%BA-typora-%E6%92%B0%E5%AF%AB%E5%AE%A2%E8%A3%BD%E5%8C%96%E6%A8%A3%E5%BC%8F/)\n\n简单使用:添加 `base.user.css` 文件,并改变行内代码的颜色,以及公式颜色\n\n```css\n# 行内代码\ncode {\n\tcolor: red\n}\n\n# 行内公式\n.MathJax_SVG{\n\tcolor: DarkBlue;\n}\n```\n\n \n\nTypora的代码使用 [CodeMirror](https://codemirror.net/) 项目,尝试了一下修改 `base.user.css` 文件确实可以改变代码段的高度,并带滚动。但同时也限定了进行代码编辑时的整个窗口高度。所以没有用\n\n```css\n# 缺点:打开源代码模式的时候,整个页面也被限制成了只有300px高\n.CodeMirror {\n max-height: 300px;\n}\n.CodeMirror-scroll {\n overflow-y: auto;\n \toverflow-x: auto;\n\tmax-height: 300px;\n}\n```\n\n注意到书写模式的时候,整个编辑器都被包裹在 `
` 里面。在源代码模式的时候,没有这个 `write` 元素的包裹,而整个源代码窗口都被作用为一个 `CodeMirror` 元素对待。因此,作一些改变就能满足要求\n\n```scss\n#write .CodeMirror {\n max-height: 350px;\n}\n# 设定上下 padding 会让滚动条在小代码区消失\n#write .CodeMirror-scroll {\n overflow-y: auto;\n \toverflow-x: auto;\n\tmax-height: 330px;\n\tpadding-top: 10px;\n\tpadding-bottom: 10px;\n}\n```\n\n```\n# 避免只有一行的代码区,因为会显示滚动条,不好看。一行代码就用行内代码好了。\n```\n\n如果要限制来自 `GistHub` 的代码高度,只能限定其父元素 `iframe`\n\n```css\niframe {\n\tmax-height: 500px;\n}\n```\n\nWindows版的 Typora 的数学模块保存在 `path/resource/app/lib.asar` 压缩文件中。需要用asar解压\n\n[如何查看 asar 内部结构](https://newsn.net/say/electron-asar-explorer.html)\n\n[asar 如何加密解密](https://newsn.net/say/electron-asar-explorer.html)\n\n```sh\nnpm install -g asar\nasar extract 压缩文件 解压文件夹\nasar pack 文件夹 压缩文件名\n```\n\n\n\n\n## 文本搜索\n\n打开的单篇文章内搜索:\n\n> Windows `Control + F`\n>\n> Mac `⌘+F`\n\n文件夹内的搜索\n\n> Windows `Control + Shift + F`\n>\n> Mac `⇧+⌘+F`","slug":"IT/Tools/编辑器工具使用技巧汇总","published":1,"updated":"2019-09-01T17:11:47.000Z","_id":"cka1y5983001n4huuemw79ybo","comments":1,"layout":"post","photos":[],"link":"","content":"VSCode \n\nWechseln zwischen Text-Editor und Terminal\n\nCommand+K+S
oder in Menü Code->Pereferenc->Hotky
, öffnet Hot-Key Editor Fenster. \nTip terminal
in Suchfeld, findet die Binding `^``, löscht diese Einstellung. \nSucht den “workbench.action.terminal.focus”, bindet es mit Key ⌃<
. \nSucht den “workbench.action.focusActiveEditorGroup”, bindet es wiederum mit Schlüssel ⌃<
, und Wenn-Kondition “terminalFocus”. \n \n \n \n \nTypora \n更多更详细的内容请参阅 Typora Wiki
\nTypora Wiki (wiki-website Project )
\n个性化快捷键 \nWindows
\n文件—>偏好设置—>往高级设置 ,点击看到两个json
格式的文件,打开第二个(conf.user.json ), 用记事本打开,第17行keyBinding
,在大括号中写 代码块
:“你要设置的快捷键”,比如我的是代码块 :Ctrl+Alt+P
,保存文件,重启typora
即可生效。更详细介绍
\n1 2 3 4 5 6 7 8 // Custom key binding, which will override the default ones. \"keyBinding\": { // for example: // \"Always on Top\": \"Ctrl+Shift+P\" \"注释\":\"Ctrl+Alt+/\", \"代码块\":\"Ctrl+Alt+P\", \"打开文件夹…\":\"Ctrl+Alt+O\" },
\nMac
\n官方说明
\n需要到系统偏好设置—>键盘-->快捷键-->应用快捷键
那边设置。找到 Typora.App ,菜单名称填 代码 ,然后输入希望的快捷键。我的设置是⌃+⌘+C 。
\n更改风格 \n开发好的工具 如何客制化格式
\n简单使用:添加 base.user.css
文件,并改变行内代码的颜色,以及公式颜色
\n1 2 3 4 5 6 7 8 9 # 行内代码 code {\tcolor : red } # 行内公式 .MathJax_SVG {\tcolor : DarkBlue; }
\nTypora的代码使用 CodeMirror 项目,尝试了一下修改 base.user.css
文件确实可以改变代码段的高度,并带滚动。但同时也限定了进行代码编辑时的整个窗口高度。所以没有用
\n1 2 3 4 5 6 7 8 9 # 缺点:打开源代码模式的时候,整个页面也被限制成了只有300px 高 .CodeMirror { max-height : 300px ; } .CodeMirror-scroll { overflow-y : auto; \toverflow-x : auto; \tmax-height : 300px ; }
\n注意到书写模式的时候,整个编辑器都被包裹在 <div id="write"> </div>
里面。在源代码模式的时候,没有这个 write
元素的包裹,而整个源代码窗口都被作用为一个 CodeMirror
元素对待。因此,作一些改变就能满足要求
\n1 2 3 4 5 6 7 8 9 10 11 #write .CodeMirror { max-height : 350px ; } # 设定上下 padding 会让滚动条在小代码区消失 #write .CodeMirror-scroll { overflow-y : auto; \toverflow-x : auto; \tmax-height : 330px ; \tpadding-top : 10px ; \tpadding-bottom : 10px ; }
\n1 # 避免只有一行的代码区,因为会显示滚动条,不好看。一行代码就用行内代码好了。
\n如果要限制来自 GistHub
的代码高度,只能限定其父元素 iframe
\n1 2 3 iframe {\tmax-height : 500px ; }
\nWindows版的 Typora 的数学模块保存在 path/resource/app/lib.asar
压缩文件中。需要用asar解压
\n如何查看 asar 内部结构
\nasar 如何加密解密
\n1 2 3 npm install -g asar asar extract 压缩文件 解压文件夹 asar pack 文件夹 压缩文件名
\n文本搜索 \n打开的单篇文章内搜索:
\n\nWindows Control + F
\nMac ⌘+F
\n \n文件夹内的搜索
\n\nWindows Control + Shift + F
\nMac ⇧+⌘+F
\n \n","site":{"data":{}},"excerpt":"VSCode \n\nWechseln zwischen Text-Editor und Terminal\n\nCommand+K+S
oder in Menü Code->Pereferenc->Hotky
, öffnet Hot-Key Editor Fenster. \nTip terminal
in Suchfeld, findet die Binding `^``, löscht diese Einstellung. \nSucht den “workbench.action.terminal.focus”, bindet es mit Key ⌃<
. \nSucht den “workbench.action.focusActiveEditorGroup”, bindet es wiederum mit Schlüssel ⌃<
, und Wenn-Kondition “terminalFocus”. \n \n \n ","more":"Typora \n更多更详细的内容请参阅 Typora Wiki
\nTypora Wiki (wiki-website Project )
\n个性化快捷键 \nWindows
\n文件—>偏好设置—>往高级设置 ,点击看到两个json
格式的文件,打开第二个(conf.user.json ), 用记事本打开,第17行keyBinding
,在大括号中写 代码块
:“你要设置的快捷键”,比如我的是代码块 :Ctrl+Alt+P
,保存文件,重启typora
即可生效。更详细介绍
\n\nMac
\n官方说明
\n需要到系统偏好设置—>键盘-->快捷键-->应用快捷键
那边设置。找到 Typora.App ,菜单名称填 代码 ,然后输入希望的快捷键。我的设置是⌃+⌘+C 。
\n更改风格 \n开发好的工具 如何客制化格式
\n简单使用:添加 base.user.css
文件,并改变行内代码的颜色,以及公式颜色
\n\nTypora的代码使用 CodeMirror 项目,尝试了一下修改 base.user.css
文件确实可以改变代码段的高度,并带滚动。但同时也限定了进行代码编辑时的整个窗口高度。所以没有用
\n\n注意到书写模式的时候,整个编辑器都被包裹在 <div id="write"> </div>
里面。在源代码模式的时候,没有这个 write
元素的包裹,而整个源代码窗口都被作用为一个 CodeMirror
元素对待。因此,作一些改变就能满足要求
\n\n\n如果要限制来自 GistHub
的代码高度,只能限定其父元素 iframe
\n\nWindows版的 Typora 的数学模块保存在 path/resource/app/lib.asar
压缩文件中。需要用asar解压
\n如何查看 asar 内部结构
\nasar 如何加密解密
\n\n文本搜索 \n打开的单篇文章内搜索:
\n\nWindows Control + F
\nMac ⌘+F
\n \n文件夹内的搜索
\n\nWindows Control + Shift + F
\nMac ⇧+⌘+F
\n "},{"title":"配置服务器端MySQL","date":"2019-08-06T15:26:28.000Z","urlname":"config-mysql-access-privileges-on-vps","toc":true,"notshow":true,"_content":"\n[文章](https://blog.csdn.net/bird3014/article/details/78481104)\n\n###### 问题一:端口状态\n\n1. 查看 3306 端口状态 `sudo netstat -an | grep 3306`\n\n> tcp 0 0 127.0.0.1:3306 0.0.0.0:* \n\n3306端口是默认绑定在本地IP 127.0.0.1上的,所以外网无法访问该主机的3306端口。 \n打开MySQL的配置文件:`sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf`\n\n2. 找到如下内容的一行并注释掉:\n\n> bind-address = 127.0.0.1\n\n3. 重启MySQL服务\n\n> sudo systemctl restart mysql\n\n然后使用如下命令查看端口绑定状态\n\n> `sudo netstat -an | grep 3306`\n\n----\n\n###### 问题二:用户权限\n\n查看用户权限\n\n```mysql\nsudo mysql -uroot -p[你的密码]\nuse mysql\nselect user,host from user\n```\n\n当显示如下,表示用户root只允许内网访问\n\n> root localhost\n\n给用户授权\n\n```mysql\ngrant all privileges on *.* to 'root'@'[允许的ip]' identified by '[密码]' with grant option;\nflush privileges;\n```\n\n其中*`[允许的ip]`*如果设置为**%**的话则表示所有$ip$都可以访问,*`[密码]`*表示外网访问的密码是什么。比如我设置成所有$ip$都可访问,密码是$root$,则命令如下:\n\n```mysql\ngrant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;\nflush privileges;\nselect user,host from user;\n```\n\n重新查看,会显示 \n\n> root %\n>\n> root localhost\n\n\n\n###### 安装 phpMyAdmin\n\n","source":"_posts/IT/Tools/配置服务器端MySQL.md","raw":"---\ntitle: 配置服务器端MySQL\ndate: 2019-08-06 17:26:28\nurlname: config-mysql-access-privileges-on-vps\ntoc: true\ntags: [工具]\ncategories: [IT, Tools]\nnotshow: true\n\n---\n\n[文章](https://blog.csdn.net/bird3014/article/details/78481104)\n\n###### 问题一:端口状态\n\n1. 查看 3306 端口状态 `sudo netstat -an | grep 3306`\n\n> tcp 0 0 127.0.0.1:3306 0.0.0.0:* \n\n3306端口是默认绑定在本地IP 127.0.0.1上的,所以外网无法访问该主机的3306端口。 \n打开MySQL的配置文件:`sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf`\n\n2. 找到如下内容的一行并注释掉:\n\n> bind-address = 127.0.0.1\n\n3. 重启MySQL服务\n\n> sudo systemctl restart mysql\n\n然后使用如下命令查看端口绑定状态\n\n> `sudo netstat -an | grep 3306`\n\n----\n\n###### 问题二:用户权限\n\n查看用户权限\n\n```mysql\nsudo mysql -uroot -p[你的密码]\nuse mysql\nselect user,host from user\n```\n\n当显示如下,表示用户root只允许内网访问\n\n> root localhost\n\n给用户授权\n\n```mysql\ngrant all privileges on *.* to 'root'@'[允许的ip]' identified by '[密码]' with grant option;\nflush privileges;\n```\n\n其中*`[允许的ip]`*如果设置为**%**的话则表示所有$ip$都可以访问,*`[密码]`*表示外网访问的密码是什么。比如我设置成所有$ip$都可访问,密码是$root$,则命令如下:\n\n```mysql\ngrant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;\nflush privileges;\nselect user,host from user;\n```\n\n重新查看,会显示 \n\n> root %\n>\n> root localhost\n\n\n\n###### 安装 phpMyAdmin\n\n","slug":"IT/Tools/配置服务器端MySQL","published":1,"updated":"2019-08-14T13:10:45.000Z","_id":"cka1y5986001p4huuxt1btjua","comments":1,"layout":"post","photos":[],"link":"","content":"文章
\n问题一:端口状态 \n\n查看 3306 端口状态 sudo netstat -an | grep 3306
\n \n\ntcp 0 0 127.0.0.1:3306 0.0.0.0:*
\n \n3306端口是默认绑定在本地IP 127.0.0.1上的,所以外网无法访问该主机的3306端口。 \n打开MySQL的配置文件:sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
\n\n找到如下内容的一行并注释掉: \n \n\nbind-address = 127.0.0.1
\n \n\n重启MySQL服务 \n \n\nsudo systemctl restart mysql
\n \n然后使用如下命令查看端口绑定状态
\n\nsudo netstat -an | grep 3306
\n \n \n问题二:用户权限 \n查看用户权限
\n1 2 3 sudo mysql -uroot -p[你的密码] use mysql select user,host from user
\n当显示如下,表示用户root只允许内网访问
\n\nroot localhost
\n \n给用户授权
\n1 2 grant all privileges on *.* to 'root'@'[允许的ip]' identified by '[密码]' with grant option; flush privileges;
\n其中*[允许的ip]
如果设置为 *%**的话则表示所有$ip$都可以访问,*[密码]
*表示外网访问的密码是什么。比如我设置成所有$ip$都可访问,密码是$root$,则命令如下:
\n1 2 3 grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option; flush privileges; select user,host from user;
\n重新查看,会显示
\n\nroot %
\nroot localhost
\n \n安装 phpMyAdmin \n","site":{"data":{}},"excerpt":"","more":"文章
\n问题一:端口状态 \n\n查看 3306 端口状态 sudo netstat -an | grep 3306
\n \n\ntcp 0 0 127.0.0.1:3306 0.0.0.0:*
\n \n3306端口是默认绑定在本地IP 127.0.0.1上的,所以外网无法访问该主机的3306端口。 \n打开MySQL的配置文件:sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
\n\n找到如下内容的一行并注释掉: \n \n\nbind-address = 127.0.0.1
\n \n\n重启MySQL服务 \n \n\nsudo systemctl restart mysql
\n \n然后使用如下命令查看端口绑定状态
\n\nsudo netstat -an | grep 3306
\n \n \n问题二:用户权限 \n查看用户权限
\n\n当显示如下,表示用户root只允许内网访问
\n\nroot localhost
\n \n给用户授权
\n\n其中*[允许的ip]
如果设置为 *%**的话则表示所有$ip$都可以访问,*[密码]
*表示外网访问的密码是什么。比如我设置成所有$ip$都可访问,密码是$root$,则命令如下:
\n\n重新查看,会显示
\n\nroot %
\nroot localhost
\n \n安装 phpMyAdmin \n"},{"title":"Next以及wikitten主题添加内容折叠","date":"2019-07-23T18:29:33.000Z","urlname":"next-collapse-block","toc":true,"_content":"\n# 添加代码\n\n当有大段的代码直接展示在页面时,看起来臃肿且不便于观看,此时将代码折叠式最好的选择。下面是在Hexo的Next主题上添加折叠功能。\n\n\n\n## 在main.js中添加折叠js\n\nNext主题的主要js位于 `themes/next/source/js/src/post-details.js`,在下面添加一下代码段:\n\n```javascript\n$(document).ready(function(){\n $(document).on('click', '.fold_hider', function(){\n $('>.fold', this.parentNode).slideToggle();\n $('>:first', this).toggleClass('open');\n });\n //默认情况下折叠\n $(\"div.fold\").css(\"display\",\"none\");\n});\n```\n\nWikitten 主题添加到 `themes/wikitten/source/js/main.js` 后面。\n\n## 自定义内建标签\n\n在主题scripts下添加一个tags.js,位于`themes/next/scripts/tags.js`\n\n```javascript\n/*\n @haohuawu\n 修复 Nunjucks 的 tag 里写 ```代码块```,最终都会渲染成 undefined 的问题\n https://github.com/hexojs/hexo/issues/2400\n*/\nconst rEscapeContent = /]*)>([\\s\\S]*?)<\\/escape>/g;\nconst placeholder = '\\uFFFD';\nconst rPlaceholder = /(?:<|<)\\!--\\uFFFD(\\d+)--(?:>|>)/g;\nconst cache = [];\nfunction escapeContent(str) {\n return '';\n}\nhexo.extend.filter.register('before_post_render', function(data) {\n data.content = data.content.replace(rEscapeContent, function(match, content) {\n return escapeContent(content);\n });\n return data;\n});\nhexo.extend.filter.register('after_post_render', function(data) {\n data.content = data.content.replace(rPlaceholder, function() {\n return cache[arguments[1]];\n });\n return data;\n});\n```\n\n再继续添加一个fold.js,位于`themes/next/scripts/fold.js`\n\n\n\n```javascript\n/* global hexo */\n// Usage: {% fold ???? %} Something {% endfold %}\nfunction fold (args, content) {\n var text = args[0];\n if(!text) text = \"点击显/隐\";\n return '\\n' + hexo.render.renderSync({text: content, engine: 'markdown'}) + '\\n
';\n}\nhexo.extend.tag.register('fold', fold, {ends: true});\n```\n\nwikitten主题将这两个文件复制到 `themes/wikitten/scripts` 目录下。\n\n## 添加自定义样式\n\n位于`themes/next/source/css/_custom/custom.styl`\n\n```css\n.hider_title{\n font-family: \"Microsoft Yahei\";\n cursor: pointer;\n color: red;\n}\n.close:after{\n content: \"▼\";\n}\n.open:after{\n content: \"▲\";\n}\n```\n\nwikitten 主题将此代码添加到 `themes/wikitten/source/css/_partial/article.styl` 文件下面。在`next` 主题必须将==color: red==去掉,否则会影响大纲栏的颜色。\n\n## 使用\n\n在我们需要折叠的地方前后添加便签,示例用法:\n\n```\n{% fold 点击显/隐内容 %}\n需要隐藏的内容。。。\n{% endfold %}\n```\n\n\n\n## 参考\n\n[Hexo next博客添加折叠块功能添加折叠代码块](https://blog.rmiao.top/hexo-fold-block/) \n[Next主题实现内容折叠](http://zlingfly.com/2018/09/05/fold-test/) \n[jQuery 实现内容折叠功能](https://www.oyohyee.com/post/Note/fold/)\n\n[Hexo 标签插件 官方](https://hexo.io/zh-cn/docs/tag-plugins.html)\n\n# 实例\n\n## 嵌套代码\n\nSome Content\n\n{% fold 点击显/隐内容 %}\n{% blockquote Mai, Düsseldorf link http://google.de %}\n\n\n\tpo_bfa_swbh_laufbahn \n\t\n\\ \n\n{% endblockquote %}\n{% endfold %}\n\n## Hexo 代码方式\n\n{% blockquote David, Levithan %}\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque hendrerit lacus ut purus iaculis feugiat. Sed nec tempor elit, quis aliquam neque. Curabitur sed diam eget dolor fermentum semper at eu lorem.\n{% endblockquote %}\n\n{% codeblock KOS xsl http://google.de downloadcode %}\n1 code snippet\n{% endcodeblock %}\n\n## Gist\n\n### Hexo 方式\n\nGist (\"48edcb5cfd92937ae61360b74852d4e1\" 就是id。 而 \"xml\" 是我创建时的文件名)。地址是 git.github.com\n\n{% gist 48edcb5cfd92937ae61360b74852d4e1 xml %}\n\n \n\n### Javascript 方式\n\n\n\n","source":"_posts/IT/Web/Next主题添加内容折叠.md","raw":"---\ntitle: Next以及wikitten主题添加内容折叠\ndate: 2019-07-23 20:29:33\nurlname: next-collapse-block\ntoc: true\ntags: [Hexo]\ncategories: [IT, Web]\n\n---\n\n# 添加代码\n\n当有大段的代码直接展示在页面时,看起来臃肿且不便于观看,此时将代码折叠式最好的选择。下面是在Hexo的Next主题上添加折叠功能。\n\n\n\n## 在main.js中添加折叠js\n\nNext主题的主要js位于 `themes/next/source/js/src/post-details.js`,在下面添加一下代码段:\n\n```javascript\n$(document).ready(function(){\n $(document).on('click', '.fold_hider', function(){\n $('>.fold', this.parentNode).slideToggle();\n $('>:first', this).toggleClass('open');\n });\n //默认情况下折叠\n $(\"div.fold\").css(\"display\",\"none\");\n});\n```\n\nWikitten 主题添加到 `themes/wikitten/source/js/main.js` 后面。\n\n## 自定义内建标签\n\n在主题scripts下添加一个tags.js,位于`themes/next/scripts/tags.js`\n\n```javascript\n/*\n @haohuawu\n 修复 Nunjucks 的 tag 里写 ```代码块```,最终都会渲染成 undefined 的问题\n https://github.com/hexojs/hexo/issues/2400\n*/\nconst rEscapeContent = /]*)>([\\s\\S]*?)<\\/escape>/g;\nconst placeholder = '\\uFFFD';\nconst rPlaceholder = /(?:<|<)\\!--\\uFFFD(\\d+)--(?:>|>)/g;\nconst cache = [];\nfunction escapeContent(str) {\n return '';\n}\nhexo.extend.filter.register('before_post_render', function(data) {\n data.content = data.content.replace(rEscapeContent, function(match, content) {\n return escapeContent(content);\n });\n return data;\n});\nhexo.extend.filter.register('after_post_render', function(data) {\n data.content = data.content.replace(rPlaceholder, function() {\n return cache[arguments[1]];\n });\n return data;\n});\n```\n\n再继续添加一个fold.js,位于`themes/next/scripts/fold.js`\n\n\n\n```javascript\n/* global hexo */\n// Usage: {% fold ???? %} Something {% endfold %}\nfunction fold (args, content) {\n var text = args[0];\n if(!text) text = \"点击显/隐\";\n return '\\n' + hexo.render.renderSync({text: content, engine: 'markdown'}) + '\\n
';\n}\nhexo.extend.tag.register('fold', fold, {ends: true});\n```\n\nwikitten主题将这两个文件复制到 `themes/wikitten/scripts` 目录下。\n\n## 添加自定义样式\n\n位于`themes/next/source/css/_custom/custom.styl`\n\n```css\n.hider_title{\n font-family: \"Microsoft Yahei\";\n cursor: pointer;\n color: red;\n}\n.close:after{\n content: \"▼\";\n}\n.open:after{\n content: \"▲\";\n}\n```\n\nwikitten 主题将此代码添加到 `themes/wikitten/source/css/_partial/article.styl` 文件下面。在`next` 主题必须将==color: red==去掉,否则会影响大纲栏的颜色。\n\n## 使用\n\n在我们需要折叠的地方前后添加便签,示例用法:\n\n```\n{% fold 点击显/隐内容 %}\n需要隐藏的内容。。。\n{% endfold %}\n```\n\n\n\n## 参考\n\n[Hexo next博客添加折叠块功能添加折叠代码块](https://blog.rmiao.top/hexo-fold-block/) \n[Next主题实现内容折叠](http://zlingfly.com/2018/09/05/fold-test/) \n[jQuery 实现内容折叠功能](https://www.oyohyee.com/post/Note/fold/)\n\n[Hexo 标签插件 官方](https://hexo.io/zh-cn/docs/tag-plugins.html)\n\n# 实例\n\n## 嵌套代码\n\nSome Content\n\n{% fold 点击显/隐内容 %}\n{% blockquote Mai, Düsseldorf link http://google.de %}\n\n\n\tpo_bfa_swbh_laufbahn \n\t\n\\ \n\n{% endblockquote %}\n{% endfold %}\n\n## Hexo 代码方式\n\n{% blockquote David, Levithan %}\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque hendrerit lacus ut purus iaculis feugiat. Sed nec tempor elit, quis aliquam neque. Curabitur sed diam eget dolor fermentum semper at eu lorem.\n{% endblockquote %}\n\n{% codeblock KOS xsl http://google.de downloadcode %}\n1 code snippet\n{% endcodeblock %}\n\n## Gist\n\n### Hexo 方式\n\nGist (\"48edcb5cfd92937ae61360b74852d4e1\" 就是id。 而 \"xml\" 是我创建时的文件名)。地址是 git.github.com\n\n{% gist 48edcb5cfd92937ae61360b74852d4e1 xml %}\n\n \n\n### Javascript 方式\n\n\n\n","slug":"IT/Web/Next主题添加内容折叠","published":1,"updated":"2019-07-31T03:51:34.000Z","_id":"cka1y5988001t4huux85puqey","comments":1,"layout":"post","photos":[],"link":"","content":"添加代码 \n当有大段的代码直接展示在页面时,看起来臃肿且不便于观看,此时将代码折叠式最好的选择。下面是在Hexo的Next主题上添加折叠功能。
\n \n在main.js中添加折叠js \nNext主题的主要js位于 themes/next/source/js/src/post-details.js
,在下面添加一下代码段:
\n1 2 3 4 5 6 7 8 $(document ).ready(function ( ) { $(document ).on('click' , '.fold_hider' , function ( ) { $('>.fold' , this .parentNode).slideToggle(); $('>:first' , this ).toggleClass('open' ); }); $(\"div.fold\" ).css(\"display\" ,\"none\" ); });
\nWikitten 主题添加到 themes/wikitten/source/js/main.js
后面。
\n自定义内建标签 \n在主题scripts下添加一个tags.js,位于themes/next/scripts/tags.js
\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 const rEscapeContent = /<escape(?:[^>]*)>([\\s\\S]*?)<\\/escape>/g ;const placeholder = '\\uFFFD' ;const rPlaceholder = /(?:<|<)\\!--\\uFFFD(\\d+)--(?:>|>)/g ;const cache = [];function escapeContent (str ) { return '<!--' + placeholder + (cache.push(str) - 1 ) + '-->' ; } hexo.extend.filter.register('before_post_render' , function (data ) { data.content = data.content.replace(rEscapeContent, function (match, content ) { return escapeContent(content); }); return data; }); hexo.extend.filter.register('after_post_render' , function (data ) { data.content = data.content.replace(rPlaceholder, function ( ) { return cache[arguments [1 ]]; }); return data; });
\n再继续添加一个fold.js,位于themes/next/scripts/fold.js
\n1 2 3 4 5 6 7 8 function fold (args, content ) { var text = args[0 ]; if (!text) text = \"点击显/隐\" ; return '<div><div class=\"fold_hider\"><div class=\"close hider_title\">' + text + '</div></div><div class=\"fold\">\\n' + hexo.render.renderSync({text : content, engine : 'markdown' }) + '\\n</div></div>' ; } hexo.extend.tag.register('fold' , fold, {ends : true });
\nwikitten主题将这两个文件复制到 themes/wikitten/scripts
目录下。
\n添加自定义样式 \n位于themes/next/source/css/_custom/custom.styl
\n1 2 3 4 5 6 7 8 9 10 11 .hider_title { font-family : \"Microsoft Yahei\" ; cursor : pointer; color : red; } .close :after { content : \"▼\" ; } .open :after { content : \"▲\" ; }
\nwikitten 主题将此代码添加到 themes/wikitten/source/css/_partial/article.styl
文件下面。在next
主题必须将==color: red==去掉,否则会影响大纲栏的颜色。
\n使用 \n在我们需要折叠的地方前后添加便签,示例用法:
\n1 2 3 {% fold 点击显/隐内容 %} 需要隐藏的内容。。。 {% endfold %}
\n参考 \nHexo next博客添加折叠块功能添加折叠代码块 \nNext主题实现内容折叠 \njQuery 实现内容折叠功能
\nHexo 标签插件 官方
\n实例 \n嵌套代码 \nSome Content
\n\n
<xsl:call-template name=“SetGlobaleVariable”> \n<xsl:with-param name=“name-variable”>po_bfa_swbh_laufbahn</xsl:with-param> \n<xsl:with-param name=“wert-variable” select="$bf_laufbahnzulage"/> \n</xsl:call-template>
\n\n
\nHexo 代码方式 \nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque hendrerit lacus ut purus iaculis feugiat. Sed nec tempor elit, quis aliquam neque. Curabitur sed diam eget dolor fermentum semper at eu lorem.
\n \nKOS xsl downloadcode \nGist \nHexo 方式 \nGist (“48edcb5cfd92937ae61360b74852d4e1” 就是id。 而 “xml” 是我创建时的文件名)。地址是 git.github.com
\n\n \nJavascript 方式 \n\n","site":{"data":{}},"excerpt":"添加代码 \n当有大段的代码直接展示在页面时,看起来臃肿且不便于观看,此时将代码折叠式最好的选择。下面是在Hexo的Next主题上添加折叠功能。
","more":"在main.js中添加折叠js \nNext主题的主要js位于 themes/next/source/js/src/post-details.js
,在下面添加一下代码段:
\n\nWikitten 主题添加到 themes/wikitten/source/js/main.js
后面。
\n自定义内建标签 \n在主题scripts下添加一个tags.js,位于themes/next/scripts/tags.js
\n\n再继续添加一个fold.js,位于themes/next/scripts/fold.js
\n\nwikitten主题将这两个文件复制到 themes/wikitten/scripts
目录下。
\n添加自定义样式 \n位于themes/next/source/css/_custom/custom.styl
\n\nwikitten 主题将此代码添加到 themes/wikitten/source/css/_partial/article.styl
文件下面。在next
主题必须将==color: red==去掉,否则会影响大纲栏的颜色。
\n使用 \n在我们需要折叠的地方前后添加便签,示例用法:
\n\n参考 \nHexo next博客添加折叠块功能添加折叠代码块 \nNext主题实现内容折叠 \njQuery 实现内容折叠功能
\nHexo 标签插件 官方
\n实例 \n嵌套代码 \nSome Content
\n\n
<xsl:call-template name=“SetGlobaleVariable”> \n<xsl:with-param name=“name-variable”>po_bfa_swbh_laufbahn</xsl:with-param> \n<xsl:with-param name=“wert-variable” select="$bf_laufbahnzulage"/> \n</xsl:call-template>
\n\n
\nHexo 代码方式 \nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque hendrerit lacus ut purus iaculis feugiat. Sed nec tempor elit, quis aliquam neque. Curabitur sed diam eget dolor fermentum semper at eu lorem.
\n \nKOS xsl downloadcode \nGist \nHexo 方式 \nGist (“48edcb5cfd92937ae61360b74852d4e1” 就是id。 而 “xml” 是我创建时的文件名)。地址是 git.github.com
\n\n \nJavascript 方式 \n"},{"title":"同步Hexo文章与Mac上原笔记的分类和标签","date":"2019-08-01T15:30:00.000Z","urlname":"synchron-the-tag-and-categories-btw-pc-hexo","toc":true,"_content":"\n\n\n最近才搞明白,原来**Hexo**博客的`_post`文件夹里面的Markdown原文件是可以按照分级嵌套的目录结构摆放的。编译的时候才放到**public**这个单一目录下。如果能让文章在Hexo的==分类==严格跟md文件的存储目录一一对应,将来需要找原文件的时侯会方便很多。😄\n\n\n\n使用**Mac**系统的同学也知道,mac有个很风骚的操作,就是给文件分配不同颜色的标签,非常方便文件寻找。我也希望博客上的文章标签,能跟Mac系统里的标签统一起来。:smile: \n\n\n\n实现物理存储目录与`Hexo分类`统一很简单,将源md文件的相对存储路径写到文件meta元素的`categories`里面就行了。比如源文件放在`我的博客-->IT-->前端`,文章的头文件就写成这样:`categories:[IT, 前端]`。\n\n\n\n实现标签的统一稍微麻烦一点,需要先读取文件实际分配到的标签。网上已经有一个公开的项目, [tag](https://github.com/jdberry/tag) 。下载并安装,就可以通过 `tag` 命令读取文件和文件夹的标签。\n\n```sh\n# 安装\nbrew install tag\n# 查看版本\ntag --version\n# 读取文件标签\ntag --list fileUrl\n```\n\n\n\n我已经写好了相应的脚本文件,下载并执行脚本文件就好了。脚本文件里的`dirPath`变量是我的统一存放md源文件的文件夹,你需要改成自己的存放路径,那样就不用每次运行的时候输入一遍。\n\n> 我在Hexo项目的根目录新添一个文件夹专门存放管理的脚本文件,每次都在终端运行这个脚本,所以默认执行路径是 `./source/_post`。\n\n\n\n运行脚本的时候可以设定时间参数,过滤掉太久远的文件。默认情况不会更改文件内容,只查看文件的实际分类和标签是否与文内头文件相同。然后按照给出的列表手动更改。如果想让程序自动更改,按照提示输入`fix`参数就好。\n\n","source":"_posts/IT/Web/同步Hexo文章与Mac上原笔记的分类和标签.md","raw":"---\ntitle: 同步Hexo文章与Mac上原笔记的分类和标签\ndate: 2019-08-01 17:30:00\nurlname: synchron-the-tag-and-categories-btw-pc-hexo\ntoc: true\ntags: [Hexo, Mac]\ncategories: [IT, Web]\n---\n\n\n\n最近才搞明白,原来**Hexo**博客的`_post`文件夹里面的Markdown原文件是可以按照分级嵌套的目录结构摆放的。编译的时候才放到**public**这个单一目录下。如果能让文章在Hexo的==分类==严格跟md文件的存储目录一一对应,将来需要找原文件的时侯会方便很多。😄\n\n\n\n使用**Mac**系统的同学也知道,mac有个很风骚的操作,就是给文件分配不同颜色的标签,非常方便文件寻找。我也希望博客上的文章标签,能跟Mac系统里的标签统一起来。:smile: \n\n\n\n实现物理存储目录与`Hexo分类`统一很简单,将源md文件的相对存储路径写到文件meta元素的`categories`里面就行了。比如源文件放在`我的博客-->IT-->前端`,文章的头文件就写成这样:`categories:[IT, 前端]`。\n\n\n\n实现标签的统一稍微麻烦一点,需要先读取文件实际分配到的标签。网上已经有一个公开的项目, [tag](https://github.com/jdberry/tag) 。下载并安装,就可以通过 `tag` 命令读取文件和文件夹的标签。\n\n```sh\n# 安装\nbrew install tag\n# 查看版本\ntag --version\n# 读取文件标签\ntag --list fileUrl\n```\n\n\n\n我已经写好了相应的脚本文件,下载并执行脚本文件就好了。脚本文件里的`dirPath`变量是我的统一存放md源文件的文件夹,你需要改成自己的存放路径,那样就不用每次运行的时候输入一遍。\n\n> 我在Hexo项目的根目录新添一个文件夹专门存放管理的脚本文件,每次都在终端运行这个脚本,所以默认执行路径是 `./source/_post`。\n\n\n\n运行脚本的时候可以设定时间参数,过滤掉太久远的文件。默认情况不会更改文件内容,只查看文件的实际分类和标签是否与文内头文件相同。然后按照给出的列表手动更改。如果想让程序自动更改,按照提示输入`fix`参数就好。\n\n","slug":"IT/Web/同步Hexo文章与Mac上原笔记的分类和标签","published":1,"updated":"2019-08-03T12:58:26.000Z","_id":"cka1y598a001v4huunsgdb908","comments":1,"layout":"post","photos":[],"link":"","content":"最近才搞明白,原来Hexo 博客的_post
文件夹里面的Markdown原文件是可以按照分级嵌套的目录结构摆放的。编译的时候才放到public 这个单一目录下。如果能让文章在Hexo的==分类==严格跟md文件的存储目录一一对应,将来需要找原文件的时侯会方便很多。😄
\n使用Mac 系统的同学也知道,mac有个很风骚的操作,就是给文件分配不同颜色的标签,非常方便文件寻找。我也希望博客上的文章标签,能跟Mac系统里的标签统一起来。:smile:
\n实现物理存储目录与Hexo分类
统一很简单,将源md文件的相对存储路径写到文件meta元素的categories
里面就行了。比如源文件放在我的博客-->IT-->前端
,文章的头文件就写成这样:categories:[IT, 前端]
。
\n实现标签的统一稍微麻烦一点,需要先读取文件实际分配到的标签。网上已经有一个公开的项目, tag 。下载并安装,就可以通过 tag
命令读取文件和文件夹的标签。
\n1 2 3 4 5 6 brew install tag tag --version tag --list fileUrl
\n我已经写好了相应的脚本文件,下载并执行脚本文件就好了。脚本文件里的dirPath
变量是我的统一存放md源文件的文件夹,你需要改成自己的存放路径,那样就不用每次运行的时候输入一遍。
\n\n我在Hexo项目的根目录新添一个文件夹专门存放管理的脚本文件,每次都在终端运行这个脚本,所以默认执行路径是 ./source/_post
。
\n \n运行脚本的时候可以设定时间参数,过滤掉太久远的文件。默认情况不会更改文件内容,只查看文件的实际分类和标签是否与文内头文件相同。然后按照给出的列表手动更改。如果想让程序自动更改,按照提示输入fix
参数就好。
\n","site":{"data":{}},"excerpt":"","more":"最近才搞明白,原来Hexo 博客的_post
文件夹里面的Markdown原文件是可以按照分级嵌套的目录结构摆放的。编译的时候才放到public 这个单一目录下。如果能让文章在Hexo的==分类==严格跟md文件的存储目录一一对应,将来需要找原文件的时侯会方便很多。😄
\n使用Mac 系统的同学也知道,mac有个很风骚的操作,就是给文件分配不同颜色的标签,非常方便文件寻找。我也希望博客上的文章标签,能跟Mac系统里的标签统一起来。:smile:
\n实现物理存储目录与Hexo分类
统一很简单,将源md文件的相对存储路径写到文件meta元素的categories
里面就行了。比如源文件放在我的博客-->IT-->前端
,文章的头文件就写成这样:categories:[IT, 前端]
。
\n实现标签的统一稍微麻烦一点,需要先读取文件实际分配到的标签。网上已经有一个公开的项目, tag 。下载并安装,就可以通过 tag
命令读取文件和文件夹的标签。
\n\n我已经写好了相应的脚本文件,下载并执行脚本文件就好了。脚本文件里的dirPath
变量是我的统一存放md源文件的文件夹,你需要改成自己的存放路径,那样就不用每次运行的时候输入一遍。
\n\n我在Hexo项目的根目录新添一个文件夹专门存放管理的脚本文件,每次都在终端运行这个脚本,所以默认执行路径是 ./source/_post
。
\n \n运行脚本的时候可以设定时间参数,过滤掉太久远的文件。默认情况不会更改文件内容,只查看文件的实际分类和标签是否与文内头文件相同。然后按照给出的列表手动更改。如果想让程序自动更改,按照提示输入fix
参数就好。
\n"},{"title":"如何系统化管理Hexo博客","date":"2019-07-28T19:30:00.000Z","urlname":"how-to-manage-big-hexo-blog","toc":true,"contentpw":123456,"_content":"\n管理? \n\n![](https://github.com/maiernte/img/raw/master/fun/what.jpg)\n\n\n\n# 建立博客的初衷\n虽说这篇笔记的题目是「如何管理」,为了更好的回答这个问题,必须要回到最原始问题上来——我为何要建一个博客,而且是费那么大劲。而我的初衷是建立和维护一个属于自己的「知识库」。通常来说,为了达成这个目的,更好的选择是笔记APP,而不是博客。我确实也是这么做的。一开始用印象笔记,因为它死活不支持多级目录,我又转到国内的为知笔记,做了五年的VIP用户。但它五年来似乎从没改进过。随着近年来有道云异军突起,以及IOS生态圈中琳琅满目的APP,如熊掌记、Notion、谷歌的Keep、阿里的语雀。。。。。。各有各的惊艳,各有各的槽点。\n\n随着国外的Github和国内的Coding等公司,相继开放永久免费、不限流量的静态网页托管平台,如Github Pages。我走上了自建Bolg的不归路。当然不是说,搭博客这条路完全没有槽点。而是——自己造的孽,含着泪也会继续造下去。至少它满足了我以下几点「必不可少」的要求:\n\n- [x] 多级目录\n- [x] 支持Markdown文本\n- [x] 支持分类、标签、以及站内全文检索\n- [x] 没有IOS、Windows、Android等平台限制\n\n说白了,我是利用Github提供的免费平台,把Blog当笔记本来用。最后选了Hexo,简单易用、界面绚丽、插件丰富。除开自用的「知识平台」功能以外,偶尔还能发发博文装大尾巴狼,也是蛮不错的感觉。\n\n网上介绍怎么搭建Hexo以及添加绚丽功能的帖子海了去了,但我基本没有发现分享「如何管理」的。因为绝大多数这些博主,搭建Hexo只是用来玩一阵子。回头有更新更好玩的东西,就跑去玩别的了。极少数有博客,站内文章超过50篇的。所以,对他们来说,根本不存在——管理——这个议题。\n\n虽然Hexo在逻辑上支持`分类`和`标签`,但物理上它把所有的Post都放到一个单一的目录下面。而我是打算把它当作知识库,长期、密集使用的。可预见的将来,站内笔记会非常多。不但写新贴,还可能经常更改旧贴。那势必会带来一个问题:如何管理数量少日益膨胀的笔记?\n\n# 解决思路\n\n我能想到的办法很简单,也很传统。就是不但逻辑分类,而且也必须物理上分目录存放。理论上在自己的PC分目录保存就好了。但我有好几台电脑,单位一台、自己Windows一台、Mac一台,还有平板。为了让能在不同的电脑上能随时修改、添加笔记,必须放在托管在云端。\n\n## 硬件\n没有必要租用传统的VPS,太贵了,而且连10%的运算能力都用不上。用共享的Web Hosting就完全能解决需求。比如百度云,或者Azure的Web App。而我是租用 1&1 公司的Web Hosting,每个月 1€\n- 1 CPU\n- 500M 内存\n- 20G SSD\n\n就算那么低的运算能力,平时我的网站也用不到25%的运算能力。应付起啦,绰绰有余。\n\n## 软件\n我采用了`MM-Wiki` 管理平台(以下简称维基平台)。这是一个非常优秀的开源项目,具体请参看[作者的文档](https://github.com/phachon/mm-wiki)。部署超级简单,可以说一键部署,然后就可以用起啦了。简单来说这个平台有以下几个特点:\n- [x] 支持空间管理、空间内支持多级目录。\n- [x] 支持Markdown编辑。\n- [x] 支持附件。\n- [x] 有修改记录。\n- [ ] 不支持内容搜索,只支持笔记的题目搜索。\n- [ ] 标签只支持到空间级别,目录和笔记都没有标签。\n\n但它跟Hexo博客搭配使用,就完全满足我的需求了。其实Hexo博客中,有个仿维基的Wikitten主题,跟`MM-Wiki`项目非常像。但毕竟不是所有内容,都适合摆在公开的地方。以`MM-Wiki` 作为私用平台,增加了私隐保护。\n\n我的做法是,在维基平台中开辟一个独立的空间,用来存放博客上所有的源文件。而在Github Pages上托管的静态网站其实都是HTML文件。所有的改动,都必须在源Markdownn文件上修改,然后再推送到博客网站的。\n\n在维基平台修改、添加、删除笔记的源文件。然后复制到Hexo的项目目录,编译后推送到Github Pages站点。维基百科内置的在线版`Editor.md `编辑器,非常美观实用。基本上我都不太需要在自己的电脑上用Typora等编辑器写MD文本了。思路有了,实现起来还是有一点问题。\n\n# 难点的解决办法\n\n首先,在维基平台内,MD文件是分目录存储的。这个目录不能直接拷贝到Hexo的`_post`目录。懒得每修改一个,或者添加一个笔记,就立马拷贝到博客中去。解决笔记复制的问题。\n\n其次,笔记的物理保存目录,**必须**跟Hexo上的「分类」是一一对应的。否则,管理起来会很麻烦。在维基平台移动了笔记的保存目录后,在一一修改内容,也是很吃力的事情。\n\n## 笔记复制的解决办法\n\n说来也超级简单,一个脚本命令就够了。先用`find`命令在指定目录找出所有的MD文件,然后通过管道传给复制命令`cp`,搞定!\n```sh\nfind /root/bibliothek/markdowns/博客草稿/ -type f -name \"*.md\" -exec cp {} /home/_post/ \\;\n```\n然后`hexo d -g`编译、发布,结束!\n\n## 管理笔记的分类\n\n这个问题有一点麻烦。因为必须打开每一个文件,读取笔记的头文件描述,然后再比较跟文件的物理位置是否符合。我尝试用shell脚本解决这难题。无奈我的的shell脚本功底是在很差,搞半天未果就放弃了。用Java或者.NET Core啥的,正儿八经写一个Console程序,也不是不行。但有种杀鸡用牛刀的感觉。\n\n最后想到了用Javascript。因为编译Hexo是需要安装Node.js的,写一段JavaScript,让Node跑起来。通往罗马的道路千万条,选一条自己最熟悉的就完了。\n\n{% fold 点击查看代码 %}\n\n{% endfold %}\n\n> 上面这个脚本使用的都是我个人设置,你如果要用的话需要改成自己实际文件目录。\n\n![](https://github.com/maiernte/img/raw/master/fun/给力.jpg)","source":"_posts/IT/Web/如何系统化管理Hexo博客.md","raw":"---\ntitle: 如何系统化管理Hexo博客\ndate: 2019-07-28 21:30:00\nurlname: how-to-manage-big-hexo-blog\ntoc: true\ncontentpw: 123456\ntags: [Hexo]\ncategories: [IT, Web]\n\n---\n\n管理? \n\n![](https://github.com/maiernte/img/raw/master/fun/what.jpg)\n\n\n\n# 建立博客的初衷\n虽说这篇笔记的题目是「如何管理」,为了更好的回答这个问题,必须要回到最原始问题上来——我为何要建一个博客,而且是费那么大劲。而我的初衷是建立和维护一个属于自己的「知识库」。通常来说,为了达成这个目的,更好的选择是笔记APP,而不是博客。我确实也是这么做的。一开始用印象笔记,因为它死活不支持多级目录,我又转到国内的为知笔记,做了五年的VIP用户。但它五年来似乎从没改进过。随着近年来有道云异军突起,以及IOS生态圈中琳琅满目的APP,如熊掌记、Notion、谷歌的Keep、阿里的语雀。。。。。。各有各的惊艳,各有各的槽点。\n\n随着国外的Github和国内的Coding等公司,相继开放永久免费、不限流量的静态网页托管平台,如Github Pages。我走上了自建Bolg的不归路。当然不是说,搭博客这条路完全没有槽点。而是——自己造的孽,含着泪也会继续造下去。至少它满足了我以下几点「必不可少」的要求:\n\n- [x] 多级目录\n- [x] 支持Markdown文本\n- [x] 支持分类、标签、以及站内全文检索\n- [x] 没有IOS、Windows、Android等平台限制\n\n说白了,我是利用Github提供的免费平台,把Blog当笔记本来用。最后选了Hexo,简单易用、界面绚丽、插件丰富。除开自用的「知识平台」功能以外,偶尔还能发发博文装大尾巴狼,也是蛮不错的感觉。\n\n网上介绍怎么搭建Hexo以及添加绚丽功能的帖子海了去了,但我基本没有发现分享「如何管理」的。因为绝大多数这些博主,搭建Hexo只是用来玩一阵子。回头有更新更好玩的东西,就跑去玩别的了。极少数有博客,站内文章超过50篇的。所以,对他们来说,根本不存在——管理——这个议题。\n\n虽然Hexo在逻辑上支持`分类`和`标签`,但物理上它把所有的Post都放到一个单一的目录下面。而我是打算把它当作知识库,长期、密集使用的。可预见的将来,站内笔记会非常多。不但写新贴,还可能经常更改旧贴。那势必会带来一个问题:如何管理数量少日益膨胀的笔记?\n\n# 解决思路\n\n我能想到的办法很简单,也很传统。就是不但逻辑分类,而且也必须物理上分目录存放。理论上在自己的PC分目录保存就好了。但我有好几台电脑,单位一台、自己Windows一台、Mac一台,还有平板。为了让能在不同的电脑上能随时修改、添加笔记,必须放在托管在云端。\n\n## 硬件\n没有必要租用传统的VPS,太贵了,而且连10%的运算能力都用不上。用共享的Web Hosting就完全能解决需求。比如百度云,或者Azure的Web App。而我是租用 1&1 公司的Web Hosting,每个月 1€\n- 1 CPU\n- 500M 内存\n- 20G SSD\n\n就算那么低的运算能力,平时我的网站也用不到25%的运算能力。应付起啦,绰绰有余。\n\n## 软件\n我采用了`MM-Wiki` 管理平台(以下简称维基平台)。这是一个非常优秀的开源项目,具体请参看[作者的文档](https://github.com/phachon/mm-wiki)。部署超级简单,可以说一键部署,然后就可以用起啦了。简单来说这个平台有以下几个特点:\n- [x] 支持空间管理、空间内支持多级目录。\n- [x] 支持Markdown编辑。\n- [x] 支持附件。\n- [x] 有修改记录。\n- [ ] 不支持内容搜索,只支持笔记的题目搜索。\n- [ ] 标签只支持到空间级别,目录和笔记都没有标签。\n\n但它跟Hexo博客搭配使用,就完全满足我的需求了。其实Hexo博客中,有个仿维基的Wikitten主题,跟`MM-Wiki`项目非常像。但毕竟不是所有内容,都适合摆在公开的地方。以`MM-Wiki` 作为私用平台,增加了私隐保护。\n\n我的做法是,在维基平台中开辟一个独立的空间,用来存放博客上所有的源文件。而在Github Pages上托管的静态网站其实都是HTML文件。所有的改动,都必须在源Markdownn文件上修改,然后再推送到博客网站的。\n\n在维基平台修改、添加、删除笔记的源文件。然后复制到Hexo的项目目录,编译后推送到Github Pages站点。维基百科内置的在线版`Editor.md `编辑器,非常美观实用。基本上我都不太需要在自己的电脑上用Typora等编辑器写MD文本了。思路有了,实现起来还是有一点问题。\n\n# 难点的解决办法\n\n首先,在维基平台内,MD文件是分目录存储的。这个目录不能直接拷贝到Hexo的`_post`目录。懒得每修改一个,或者添加一个笔记,就立马拷贝到博客中去。解决笔记复制的问题。\n\n其次,笔记的物理保存目录,**必须**跟Hexo上的「分类」是一一对应的。否则,管理起来会很麻烦。在维基平台移动了笔记的保存目录后,在一一修改内容,也是很吃力的事情。\n\n## 笔记复制的解决办法\n\n说来也超级简单,一个脚本命令就够了。先用`find`命令在指定目录找出所有的MD文件,然后通过管道传给复制命令`cp`,搞定!\n```sh\nfind /root/bibliothek/markdowns/博客草稿/ -type f -name \"*.md\" -exec cp {} /home/_post/ \\;\n```\n然后`hexo d -g`编译、发布,结束!\n\n## 管理笔记的分类\n\n这个问题有一点麻烦。因为必须打开每一个文件,读取笔记的头文件描述,然后再比较跟文件的物理位置是否符合。我尝试用shell脚本解决这难题。无奈我的的shell脚本功底是在很差,搞半天未果就放弃了。用Java或者.NET Core啥的,正儿八经写一个Console程序,也不是不行。但有种杀鸡用牛刀的感觉。\n\n最后想到了用Javascript。因为编译Hexo是需要安装Node.js的,写一段JavaScript,让Node跑起来。通往罗马的道路千万条,选一条自己最熟悉的就完了。\n\n{% fold 点击查看代码 %}\n\n{% endfold %}\n\n> 上面这个脚本使用的都是我个人设置,你如果要用的话需要改成自己实际文件目录。\n\n![](https://github.com/maiernte/img/raw/master/fun/给力.jpg)","slug":"IT/Web/如何系统化管理Hexo博客","published":1,"updated":"2019-08-15T21:51:57.000Z","_id":"cka1y598b001y4huuppnodfz2","comments":1,"layout":"post","photos":[],"link":"","content":"建立博客的初衷 \n虽说这篇笔记的题目是「如何管理」,为了更好的回答这个问题,必须要回到最原始问题上来——我为何要建一个博客,而且是费那么大劲。而我的初衷是建立和维护一个属于自己的「知识库」。通常来说,为了达成这个目的,更好的选择是笔记APP,而不是博客。我确实也是这么做的。一开始用印象笔记,因为它死活不支持多级目录,我又转到国内的为知笔记,做了五年的VIP用户。但它五年来似乎从没改进过。随着近年来有道云异军突起,以及IOS生态圈中琳琅满目的APP,如熊掌记、Notion、谷歌的Keep、阿里的语雀。。。。。。各有各的惊艳,各有各的槽点。
\n随着国外的Github和国内的Coding等公司,相继开放永久免费、不限流量的静态网页托管平台,如Github Pages。我走上了自建Bolg的不归路。当然不是说,搭博客这条路完全没有槽点。而是——自己造的孽,含着泪也会继续造下去。至少它满足了我以下几点「必不可少」的要求:
\n\n[x] 多级目录 \n[x] 支持Markdown文本 \n[x] 支持分类、标签、以及站内全文检索 \n[x] 没有IOS、Windows、Android等平台限制 \n \n说白了,我是利用Github提供的免费平台,把Blog当笔记本来用。最后选了Hexo,简单易用、界面绚丽、插件丰富。除开自用的「知识平台」功能以外,偶尔还能发发博文装大尾巴狼,也是蛮不错的感觉。
\n网上介绍怎么搭建Hexo以及添加绚丽功能的帖子海了去了,但我基本没有发现分享「如何管理」的。因为绝大多数这些博主,搭建Hexo只是用来玩一阵子。回头有更新更好玩的东西,就跑去玩别的了。极少数有博客,站内文章超过50篇的。所以,对他们来说,根本不存在——管理——这个议题。
\n虽然Hexo在逻辑上支持分类
和标签
,但物理上它把所有的Post都放到一个单一的目录下面。而我是打算把它当作知识库,长期、密集使用的。可预见的将来,站内笔记会非常多。不但写新贴,还可能经常更改旧贴。那势必会带来一个问题:如何管理数量少日益膨胀的笔记?
\n解决思路 \n我能想到的办法很简单,也很传统。就是不但逻辑分类,而且也必须物理上分目录存放。理论上在自己的PC分目录保存就好了。但我有好几台电脑,单位一台、自己Windows一台、Mac一台,还有平板。为了让能在不同的电脑上能随时修改、添加笔记,必须放在托管在云端。
\n硬件 \n没有必要租用传统的VPS,太贵了,而且连10%的运算能力都用不上。用共享的Web Hosting就完全能解决需求。比如百度云,或者Azure的Web App。而我是租用 1&1 公司的Web Hosting,每个月 1€
\n\n1 CPU \n500M 内存 \n20G SSD \n \n就算那么低的运算能力,平时我的网站也用不到25%的运算能力。应付起啦,绰绰有余。
\n软件 \n我采用了MM-Wiki
管理平台(以下简称维基平台)。这是一个非常优秀的开源项目,具体请参看作者的文档 。部署超级简单,可以说一键部署,然后就可以用起啦了。简单来说这个平台有以下几个特点:
\n\n[x] 支持空间管理、空间内支持多级目录。 \n[x] 支持Markdown编辑。 \n[x] 支持附件。 \n[x] 有修改记录。 \n[ ] 不支持内容搜索,只支持笔记的题目搜索。 \n[ ] 标签只支持到空间级别,目录和笔记都没有标签。 \n \n但它跟Hexo博客搭配使用,就完全满足我的需求了。其实Hexo博客中,有个仿维基的Wikitten主题,跟MM-Wiki
项目非常像。但毕竟不是所有内容,都适合摆在公开的地方。以MM-Wiki
作为私用平台,增加了私隐保护。
\n我的做法是,在维基平台中开辟一个独立的空间,用来存放博客上所有的源文件。而在Github Pages上托管的静态网站其实都是HTML文件。所有的改动,都必须在源Markdownn文件上修改,然后再推送到博客网站的。
\n在维基平台修改、添加、删除笔记的源文件。然后复制到Hexo的项目目录,编译后推送到Github Pages站点。维基百科内置的在线版Editor.md
编辑器,非常美观实用。基本上我都不太需要在自己的电脑上用Typora等编辑器写MD文本了。思路有了,实现起来还是有一点问题。
\n难点的解决办法 \n首先,在维基平台内,MD文件是分目录存储的。这个目录不能直接拷贝到Hexo的_post
目录。懒得每修改一个,或者添加一个笔记,就立马拷贝到博客中去。解决笔记复制的问题。
\n其次,笔记的物理保存目录,必须 跟Hexo上的「分类」是一一对应的。否则,管理起来会很麻烦。在维基平台移动了笔记的保存目录后,在一一修改内容,也是很吃力的事情。
\n笔记复制的解决办法 \n说来也超级简单,一个脚本命令就够了。先用find
命令在指定目录找出所有的MD文件,然后通过管道传给复制命令cp
,搞定!
\n1 find /root/bibliothek/markdowns/博客草稿/ -type f -name \"*.md\" -exec cp {} /home/_post/ \\;
\n然后hexo d -g
编译、发布,结束!
\n管理笔记的分类 \n这个问题有一点麻烦。因为必须打开每一个文件,读取笔记的头文件描述,然后再比较跟文件的物理位置是否符合。我尝试用shell脚本解决这难题。无奈我的的shell脚本功底是在很差,搞半天未果就放弃了。用Java或者.NET Core啥的,正儿八经写一个Console程序,也不是不行。但有种杀鸡用牛刀的感觉。
\n最后想到了用Javascript。因为编译Hexo是需要安装Node.js的,写一段JavaScript,让Node跑起来。通往罗马的道路千万条,选一条自己最熟悉的就完了。
\n\n\n上面这个脚本使用的都是我个人设置,你如果要用的话需要改成自己实际文件目录。
\n \n
","site":{"data":{}},"excerpt":"管理? \n
","more":"建立博客的初衷 \n虽说这篇笔记的题目是「如何管理」,为了更好的回答这个问题,必须要回到最原始问题上来——我为何要建一个博客,而且是费那么大劲。而我的初衷是建立和维护一个属于自己的「知识库」。通常来说,为了达成这个目的,更好的选择是笔记APP,而不是博客。我确实也是这么做的。一开始用印象笔记,因为它死活不支持多级目录,我又转到国内的为知笔记,做了五年的VIP用户。但它五年来似乎从没改进过。随着近年来有道云异军突起,以及IOS生态圈中琳琅满目的APP,如熊掌记、Notion、谷歌的Keep、阿里的语雀。。。。。。各有各的惊艳,各有各的槽点。
\n随着国外的Github和国内的Coding等公司,相继开放永久免费、不限流量的静态网页托管平台,如Github Pages。我走上了自建Bolg的不归路。当然不是说,搭博客这条路完全没有槽点。而是——自己造的孽,含着泪也会继续造下去。至少它满足了我以下几点「必不可少」的要求:
\n\n[x] 多级目录 \n[x] 支持Markdown文本 \n[x] 支持分类、标签、以及站内全文检索 \n[x] 没有IOS、Windows、Android等平台限制 \n \n说白了,我是利用Github提供的免费平台,把Blog当笔记本来用。最后选了Hexo,简单易用、界面绚丽、插件丰富。除开自用的「知识平台」功能以外,偶尔还能发发博文装大尾巴狼,也是蛮不错的感觉。
\n网上介绍怎么搭建Hexo以及添加绚丽功能的帖子海了去了,但我基本没有发现分享「如何管理」的。因为绝大多数这些博主,搭建Hexo只是用来玩一阵子。回头有更新更好玩的东西,就跑去玩别的了。极少数有博客,站内文章超过50篇的。所以,对他们来说,根本不存在——管理——这个议题。
\n虽然Hexo在逻辑上支持分类
和标签
,但物理上它把所有的Post都放到一个单一的目录下面。而我是打算把它当作知识库,长期、密集使用的。可预见的将来,站内笔记会非常多。不但写新贴,还可能经常更改旧贴。那势必会带来一个问题:如何管理数量少日益膨胀的笔记?
\n解决思路 \n我能想到的办法很简单,也很传统。就是不但逻辑分类,而且也必须物理上分目录存放。理论上在自己的PC分目录保存就好了。但我有好几台电脑,单位一台、自己Windows一台、Mac一台,还有平板。为了让能在不同的电脑上能随时修改、添加笔记,必须放在托管在云端。
\n硬件 \n没有必要租用传统的VPS,太贵了,而且连10%的运算能力都用不上。用共享的Web Hosting就完全能解决需求。比如百度云,或者Azure的Web App。而我是租用 1&1 公司的Web Hosting,每个月 1€
\n\n1 CPU \n500M 内存 \n20G SSD \n \n就算那么低的运算能力,平时我的网站也用不到25%的运算能力。应付起啦,绰绰有余。
\n软件 \n我采用了MM-Wiki
管理平台(以下简称维基平台)。这是一个非常优秀的开源项目,具体请参看作者的文档 。部署超级简单,可以说一键部署,然后就可以用起啦了。简单来说这个平台有以下几个特点:
\n\n[x] 支持空间管理、空间内支持多级目录。 \n[x] 支持Markdown编辑。 \n[x] 支持附件。 \n[x] 有修改记录。 \n[ ] 不支持内容搜索,只支持笔记的题目搜索。 \n[ ] 标签只支持到空间级别,目录和笔记都没有标签。 \n \n但它跟Hexo博客搭配使用,就完全满足我的需求了。其实Hexo博客中,有个仿维基的Wikitten主题,跟MM-Wiki
项目非常像。但毕竟不是所有内容,都适合摆在公开的地方。以MM-Wiki
作为私用平台,增加了私隐保护。
\n我的做法是,在维基平台中开辟一个独立的空间,用来存放博客上所有的源文件。而在Github Pages上托管的静态网站其实都是HTML文件。所有的改动,都必须在源Markdownn文件上修改,然后再推送到博客网站的。
\n在维基平台修改、添加、删除笔记的源文件。然后复制到Hexo的项目目录,编译后推送到Github Pages站点。维基百科内置的在线版Editor.md
编辑器,非常美观实用。基本上我都不太需要在自己的电脑上用Typora等编辑器写MD文本了。思路有了,实现起来还是有一点问题。
\n难点的解决办法 \n首先,在维基平台内,MD文件是分目录存储的。这个目录不能直接拷贝到Hexo的_post
目录。懒得每修改一个,或者添加一个笔记,就立马拷贝到博客中去。解决笔记复制的问题。
\n其次,笔记的物理保存目录,必须 跟Hexo上的「分类」是一一对应的。否则,管理起来会很麻烦。在维基平台移动了笔记的保存目录后,在一一修改内容,也是很吃力的事情。
\n笔记复制的解决办法 \n说来也超级简单,一个脚本命令就够了。先用find
命令在指定目录找出所有的MD文件,然后通过管道传给复制命令cp
,搞定!
\n\n然后hexo d -g
编译、发布,结束!
\n管理笔记的分类 \n这个问题有一点麻烦。因为必须打开每一个文件,读取笔记的头文件描述,然后再比较跟文件的物理位置是否符合。我尝试用shell脚本解决这难题。无奈我的的shell脚本功底是在很差,搞半天未果就放弃了。用Java或者.NET Core啥的,正儿八经写一个Console程序,也不是不行。但有种杀鸡用牛刀的感觉。
\n最后想到了用Javascript。因为编译Hexo是需要安装Node.js的,写一段JavaScript,让Node跑起来。通往罗马的道路千万条,选一条自己最熟悉的就完了。
\n\n\n上面这个脚本使用的都是我个人设置,你如果要用的话需要改成自己实际文件目录。
\n \n
"},{"title":"还在用七牛?","date":"2019-08-14T21:41:28.000Z","urlname":"still-using-qiniu","toc":true,"_content":"\n\n\n自从七牛换了服务条款,每个空间就只分配测试域名, 30天到期。想省钱的用户,必须每30天倒腾一次。如果忘记了,过了期限,据说图都找不回来。不想费那个劲的用户, 得绑定自己的域名。 这样不但增加费用,还要考虑到域名备案。 十分麻烦。\n\n\n\n这是我弃用七牛的主要原因。 第二个原因就是——`慢`! 也许我人在国外的原因吧, 每次打开七牛的后台,刷好几遍都打不开对象存储的页面,只能用第三方软件进行上传下载,那样会相对好一些.\n\n\n\n第三个原因是七牛的图床不能分目录存储。 当图片越积越多的时候,管理和查找起来非常麻烦。比如我昨天用Typora的Pandoc功能将一个Word技术文档转换成MD文件,一个文件就有100来张图。放在七牛得分好几页显示了。如果再想找别的图, 那得多费劲.\n\n\n\n后来还是把心思用在了Github上。 在自己的账号下新开一个仓库, 然后在自己的本地电脑专建立一个文件夹, 用来存放MD文档或者博客中使用到的图片, 把这个专门的文件夹推送到新的仓库就完了! 相比七牛, Github还有不少优势:\n\n- **可以分多级目录存储** \n- **传输速度快** !(*可能国内慢吧, 但国内可以同样的思路, 放到 Coding 或者 CSDN 上* )\n- **免费** \n- **不限流量** \n\n\n\n还要我说啥呢? \n\n\n\n但引用Github图片, 要做一个小小的改动. 比如Github上一个图片的原始地址是:\n\n> https://github.com/maiernte/img/blob/master/books/ng-book2-71/image100.png\n\n需要把其中的 `blob` 改成 `raw`, 变成\n\n> https://github.com/maiernte/img/raw/master/books/ng-book2-71/image100.png\n\n\n\n自打有了Github这个神器, 可以跟七牛说再见! 再也不见!","source":"_posts/IT/skill/还在用七牛.md","raw":"---\ntitle: 还在用七牛?\ndate: 2019-08-14 23:41:28\nurlname: still-using-qiniu\ntoc: true\ntags: [工具]\ncategories: [IT, skill]\n\n---\n\n\n\n自从七牛换了服务条款,每个空间就只分配测试域名, 30天到期。想省钱的用户,必须每30天倒腾一次。如果忘记了,过了期限,据说图都找不回来。不想费那个劲的用户, 得绑定自己的域名。 这样不但增加费用,还要考虑到域名备案。 十分麻烦。\n\n\n\n这是我弃用七牛的主要原因。 第二个原因就是——`慢`! 也许我人在国外的原因吧, 每次打开七牛的后台,刷好几遍都打不开对象存储的页面,只能用第三方软件进行上传下载,那样会相对好一些.\n\n\n\n第三个原因是七牛的图床不能分目录存储。 当图片越积越多的时候,管理和查找起来非常麻烦。比如我昨天用Typora的Pandoc功能将一个Word技术文档转换成MD文件,一个文件就有100来张图。放在七牛得分好几页显示了。如果再想找别的图, 那得多费劲.\n\n\n\n后来还是把心思用在了Github上。 在自己的账号下新开一个仓库, 然后在自己的本地电脑专建立一个文件夹, 用来存放MD文档或者博客中使用到的图片, 把这个专门的文件夹推送到新的仓库就完了! 相比七牛, Github还有不少优势:\n\n- **可以分多级目录存储** \n- **传输速度快** !(*可能国内慢吧, 但国内可以同样的思路, 放到 Coding 或者 CSDN 上* )\n- **免费** \n- **不限流量** \n\n\n\n还要我说啥呢? \n\n\n\n但引用Github图片, 要做一个小小的改动. 比如Github上一个图片的原始地址是:\n\n> https://github.com/maiernte/img/blob/master/books/ng-book2-71/image100.png\n\n需要把其中的 `blob` 改成 `raw`, 变成\n\n> https://github.com/maiernte/img/raw/master/books/ng-book2-71/image100.png\n\n\n\n自打有了Github这个神器, 可以跟七牛说再见! 再也不见!","slug":"IT/skill/还在用七牛","published":1,"updated":"2019-08-15T06:54:53.000Z","_id":"cka1y598d00214huuioh2rw8e","comments":1,"layout":"post","photos":[],"link":"","content":"自从七牛换了服务条款,每个空间就只分配测试域名, 30天到期。想省钱的用户,必须每30天倒腾一次。如果忘记了,过了期限,据说图都找不回来。不想费那个劲的用户, 得绑定自己的域名。 这样不但增加费用,还要考虑到域名备案。 十分麻烦。
\n \n这是我弃用七牛的主要原因。 第二个原因就是——慢
! 也许我人在国外的原因吧, 每次打开七牛的后台,刷好几遍都打不开对象存储的页面,只能用第三方软件进行上传下载,那样会相对好一些.
\n第三个原因是七牛的图床不能分目录存储。 当图片越积越多的时候,管理和查找起来非常麻烦。比如我昨天用Typora的Pandoc功能将一个Word技术文档转换成MD文件,一个文件就有100来张图。放在七牛得分好几页显示了。如果再想找别的图, 那得多费劲.
\n后来还是把心思用在了Github上。 在自己的账号下新开一个仓库, 然后在自己的本地电脑专建立一个文件夹, 用来存放MD文档或者博客中使用到的图片, 把这个专门的文件夹推送到新的仓库就完了! 相比七牛, Github还有不少优势:
\n\n可以分多级目录存储 \n传输速度快 !(可能国内慢吧, 但国内可以同样的思路, 放到 Coding 或者 CSDN 上 ) \n免费 \n不限流量 \n \n还要我说啥呢?
\n但引用Github图片, 要做一个小小的改动. 比如Github上一个图片的原始地址是:
\n\nhttps://github.com/maiernte/img/blob/master/books/ng-book2-71/image100.png
\n \n需要把其中的 blob
改成 raw
, 变成
\n\nhttps://github.com/maiernte/img/raw/master/books/ng-book2-71/image100.png
\n \n自打有了Github这个神器, 可以跟七牛说再见! 再也不见!
\n","site":{"data":{}},"excerpt":"自从七牛换了服务条款,每个空间就只分配测试域名, 30天到期。想省钱的用户,必须每30天倒腾一次。如果忘记了,过了期限,据说图都找不回来。不想费那个劲的用户, 得绑定自己的域名。 这样不但增加费用,还要考虑到域名备案。 十分麻烦。
","more":"这是我弃用七牛的主要原因。 第二个原因就是——慢
! 也许我人在国外的原因吧, 每次打开七牛的后台,刷好几遍都打不开对象存储的页面,只能用第三方软件进行上传下载,那样会相对好一些.
\n第三个原因是七牛的图床不能分目录存储。 当图片越积越多的时候,管理和查找起来非常麻烦。比如我昨天用Typora的Pandoc功能将一个Word技术文档转换成MD文件,一个文件就有100来张图。放在七牛得分好几页显示了。如果再想找别的图, 那得多费劲.
\n后来还是把心思用在了Github上。 在自己的账号下新开一个仓库, 然后在自己的本地电脑专建立一个文件夹, 用来存放MD文档或者博客中使用到的图片, 把这个专门的文件夹推送到新的仓库就完了! 相比七牛, Github还有不少优势:
\n\n可以分多级目录存储 \n传输速度快 !(可能国内慢吧, 但国内可以同样的思路, 放到 Coding 或者 CSDN 上 ) \n免费 \n不限流量 \n \n还要我说啥呢?
\n但引用Github图片, 要做一个小小的改动. 比如Github上一个图片的原始地址是:
\n\nhttps://github.com/maiernte/img/blob/master/books/ng-book2-71/image100.png
\n \n需要把其中的 blob
改成 raw
, 变成
\n\nhttps://github.com/maiernte/img/raw/master/books/ng-book2-71/image100.png
\n \n自打有了Github这个神器, 可以跟七牛说再见! 再也不见!
"},{"title":"佛偈集合","date":"2019-07-29T07:10:50.000Z","urlname":"budahlisisch-poeim-collection","toc":true,"notshow":false,"_content":"\n佛偈(jì) \n\n\n![](https://raw.githubusercontent.com/maiernte/img/master/collection/tempel_3.jpg)\n\n\n\n虚云老和尚悟道偈\n\n杯子扑落地,响声明历历。\n虚空粉碎也,狂心当下息。\n\n烫着手,打碎杯,家破人亡语难开。\n春到花香处处秀,山河大地是如来。\n\n\n\n###### 布袋和尚\n\n手把青秧插满田,低头便见水中天。\n心地清净方为道,退步原来是向前。\n\n###### 赠药山高僧惟俨\n\n练得身形似鹤形,千株松下两函经。\n我来问道无馀说,云在青天水在瓶。\n\n——李翱 \n\n###### 牛头山法融禅师\n\n恰恰用心时,恰恰无心用。曲谭名相劳,直说无繁重。\n无心恰恰用,常用恰恰无。今说无心处,不与有心殊。\n\n——唐永徽年中\n\n###### 天衣义怀禅师\n\n雁过长空,影沉寒底,雁无留影之心,影无遗踪之意。\n\n> 《菜根谭》中的一句古诗:“风来疏竹,风过而竹不留声;雁渡寒潭,雁过而潭不留影。\n>\n> 另一版本:竹影扫阶尘不动,雁过寒潭水无痕。\n\n","source":"_posts/摘录/片段/佛偈集合.md","raw":"---\ntitle: 佛偈集合\ndate: 2019-07-29 09:10:50\nurlname: budahlisisch-poeim-collection\ntoc: true\ntags: [文学]\ncategories: [摘录, 片段]\nnotshow: false\n\n---\n\n佛偈(jì) \n\n\n![](https://raw.githubusercontent.com/maiernte/img/master/collection/tempel_3.jpg)\n\n\n\n虚云老和尚悟道偈\n\n杯子扑落地,响声明历历。\n虚空粉碎也,狂心当下息。\n\n烫着手,打碎杯,家破人亡语难开。\n春到花香处处秀,山河大地是如来。\n\n\n\n###### 布袋和尚\n\n手把青秧插满田,低头便见水中天。\n心地清净方为道,退步原来是向前。\n\n###### 赠药山高僧惟俨\n\n练得身形似鹤形,千株松下两函经。\n我来问道无馀说,云在青天水在瓶。\n\n——李翱 \n\n###### 牛头山法融禅师\n\n恰恰用心时,恰恰无心用。曲谭名相劳,直说无繁重。\n无心恰恰用,常用恰恰无。今说无心处,不与有心殊。\n\n——唐永徽年中\n\n###### 天衣义怀禅师\n\n雁过长空,影沉寒底,雁无留影之心,影无遗踪之意。\n\n> 《菜根谭》中的一句古诗:“风来疏竹,风过而竹不留声;雁渡寒潭,雁过而潭不留影。\n>\n> 另一版本:竹影扫阶尘不动,雁过寒潭水无痕。\n\n","slug":"摘录/片段/佛偈集合","published":1,"updated":"2019-08-15T21:46:14.000Z","_id":"cka1y598f00254huufdsy7udi","comments":1,"layout":"post","photos":[],"link":"","content":"佛偈(jì) \n
\n虚云老和尚悟道偈
\n杯子扑落地,响声明历历。 \n虚空粉碎也,狂心当下息。
\n烫着手,打碎杯,家破人亡语难开。 \n春到花香处处秀,山河大地是如来。
\n \n布袋和尚 \n手把青秧插满田,低头便见水中天。 \n心地清净方为道,退步原来是向前。
\n赠药山高僧惟俨 \n练得身形似鹤形,千株松下两函经。 \n我来问道无馀说,云在青天水在瓶。
\n——李翱
\n牛头山法融禅师 \n恰恰用心时,恰恰无心用。曲谭名相劳,直说无繁重。 \n无心恰恰用,常用恰恰无。今说无心处,不与有心殊。
\n——唐永徽年中
\n天衣义怀禅师 \n雁过长空,影沉寒底,雁无留影之心,影无遗踪之意。
\n\n《菜根谭》中的一句古诗:“风来疏竹,风过而竹不留声;雁渡寒潭,雁过而潭不留影。
\n另一版本:竹影扫阶尘不动,雁过寒潭水无痕。
\n \n","site":{"data":{}},"excerpt":"佛偈(jì) \n
\n虚云老和尚悟道偈
\n杯子扑落地,响声明历历。 \n虚空粉碎也,狂心当下息。
\n烫着手,打碎杯,家破人亡语难开。 \n春到花香处处秀,山河大地是如来。
","more":"布袋和尚 \n手把青秧插满田,低头便见水中天。 \n心地清净方为道,退步原来是向前。
\n赠药山高僧惟俨 \n练得身形似鹤形,千株松下两函经。 \n我来问道无馀说,云在青天水在瓶。
\n——李翱
\n牛头山法融禅师 \n恰恰用心时,恰恰无心用。曲谭名相劳,直说无繁重。 \n无心恰恰用,常用恰恰无。今说无心处,不与有心殊。
\n——唐永徽年中
\n天衣义怀禅师 \n雁过长空,影沉寒底,雁无留影之心,影无遗踪之意。
\n\n《菜根谭》中的一句古诗:“风来疏竹,风过而竹不留声;雁渡寒潭,雁过而潭不留影。
\n另一版本:竹影扫阶尘不动,雁过寒潭水无痕。
\n "},{"title":"搞笑段子","date":"2019-07-29T06:40:50.000Z","urlname":"funny-things-collection","toc":true,"notshow":true,"_content":"\n###### 慢慢就习惯了\n\n某人四十多岁了还碌碌无为,于是跑去找算命先生。算命先生掐指一算,然后问:“一个好消息,一个坏消息,你先听哪个?”哥们说:“那就先听坏的吧”。算命先生说:“坏消息是,你四十岁之前穷困潦倒……”那哥们眉头一挑,问:“那好消息呢?”算命先生幽幽的说到:“四十岁以后,你就习惯了。”\n\n\n\n###### 身体就像一辆车子\n\n身体就像一辆车子,还新的时候,遇到问题花点钱修理一下,就又能风驰电掣。车子越旧,修理费越高。旧到不行了,修理费比换辆新的还贵,还修个啥劲?你「身体」这家企业,当对它的投入远大于产出的时候,上帝都要考虑撤资了,你还拼命追加投资?\n\n###### 凌凌漆\n\n外景:深圳某一市场猪肉摊前。 \n某女甲:你以为你匿喺度就揾唔到你咩? 冇用架! 你啲咁出色嘅难忍(男人),无论喺边度,都好似漆黑中嘅萤火虫一样,咁鲜明,咁出众。 你忧郁嘅眼神,唏嘘嘅须根,神乎其技嘅刀法,同埋嗰杯Dry Martine,都彻底噉将你出卖咗。 不过,你虽然系咁出色,始终行有行规,无论典(点)你都要找埋寻晚嗰条过夜数,叫鸡唔使畀钱呀? \n凌凌漆:我重估我哋嘅交往系建筑喺感情之上,估唔到,原来都系一盘生意。 \n某女甲:讲感情都要畀钱架。 \n凌凌漆:明白嘅,有一早畀咗你啦。 但系近排兴食斋,冇乜人帮衬,不如噉啦,攞篘猪肉返去顶住数先啦。 嚟吖,粗粗地,唔该。 \n某女甲:你好嘢,山水有山逢。 (某女甲提猪肉转身走。) \n凌凌漆: \n有兴趣嘅不如今天再相逢啦。 \n(某女甲把猪肉投向凌凌漆) \n凌凌漆(用刀接住猪肉):悭番。 (顺势将猪肉切成两半,挂喺猪肉钩上) \n某女乙:咩话? 个衰佬唔肯畀钱? 我帮你拖马喐佢! \n某女甲:算啦,话到尾,佢始终都系一个独一无二、风度翩翩嘅猪肉佬。 \n(阿漆依着猪肉摊,品着白兰地。) \n\n###### 情人节广告\n\n14号晚报名打麻将,只报不打,报名费100元,报完名爱干嘛干嘛,爱去哪去哪,爱跟谁跟谁。本人承诺:保证任何人问你的行踪都可以证明你跟我一起打麻将了,你所有报不了的花费都可以说成是被我赢了,具体时间为2月14日17点至凌晨2点,时间地点任选。额外业务:如支付200元,还提供大牌合照以及朋友圈回复业务,做戏做全套!小本经营,童叟无欺!有意者私聊。","source":"_posts/摘录/娱乐/搞笑段子.md","raw":"---\ntitle: 搞笑段子\ndate: 2019-07-29 08:40:50\nurlname: funny-things-collection\ntoc: true\ntags: [娱乐]\ncategories: [摘录, 娱乐]\nnotshow: true\n\n---\n\n###### 慢慢就习惯了\n\n某人四十多岁了还碌碌无为,于是跑去找算命先生。算命先生掐指一算,然后问:“一个好消息,一个坏消息,你先听哪个?”哥们说:“那就先听坏的吧”。算命先生说:“坏消息是,你四十岁之前穷困潦倒……”那哥们眉头一挑,问:“那好消息呢?”算命先生幽幽的说到:“四十岁以后,你就习惯了。”\n\n\n\n###### 身体就像一辆车子\n\n身体就像一辆车子,还新的时候,遇到问题花点钱修理一下,就又能风驰电掣。车子越旧,修理费越高。旧到不行了,修理费比换辆新的还贵,还修个啥劲?你「身体」这家企业,当对它的投入远大于产出的时候,上帝都要考虑撤资了,你还拼命追加投资?\n\n###### 凌凌漆\n\n外景:深圳某一市场猪肉摊前。 \n某女甲:你以为你匿喺度就揾唔到你咩? 冇用架! 你啲咁出色嘅难忍(男人),无论喺边度,都好似漆黑中嘅萤火虫一样,咁鲜明,咁出众。 你忧郁嘅眼神,唏嘘嘅须根,神乎其技嘅刀法,同埋嗰杯Dry Martine,都彻底噉将你出卖咗。 不过,你虽然系咁出色,始终行有行规,无论典(点)你都要找埋寻晚嗰条过夜数,叫鸡唔使畀钱呀? \n凌凌漆:我重估我哋嘅交往系建筑喺感情之上,估唔到,原来都系一盘生意。 \n某女甲:讲感情都要畀钱架。 \n凌凌漆:明白嘅,有一早畀咗你啦。 但系近排兴食斋,冇乜人帮衬,不如噉啦,攞篘猪肉返去顶住数先啦。 嚟吖,粗粗地,唔该。 \n某女甲:你好嘢,山水有山逢。 (某女甲提猪肉转身走。) \n凌凌漆: \n有兴趣嘅不如今天再相逢啦。 \n(某女甲把猪肉投向凌凌漆) \n凌凌漆(用刀接住猪肉):悭番。 (顺势将猪肉切成两半,挂喺猪肉钩上) \n某女乙:咩话? 个衰佬唔肯畀钱? 我帮你拖马喐佢! \n某女甲:算啦,话到尾,佢始终都系一个独一无二、风度翩翩嘅猪肉佬。 \n(阿漆依着猪肉摊,品着白兰地。) \n\n###### 情人节广告\n\n14号晚报名打麻将,只报不打,报名费100元,报完名爱干嘛干嘛,爱去哪去哪,爱跟谁跟谁。本人承诺:保证任何人问你的行踪都可以证明你跟我一起打麻将了,你所有报不了的花费都可以说成是被我赢了,具体时间为2月14日17点至凌晨2点,时间地点任选。额外业务:如支付200元,还提供大牌合照以及朋友圈回复业务,做戏做全套!小本经营,童叟无欺!有意者私聊。","slug":"摘录/娱乐/搞笑段子","published":1,"updated":"2019-07-31T03:51:35.000Z","_id":"cka1y598g00294huuytpjchoh","comments":1,"layout":"post","photos":[],"link":"","content":"慢慢就习惯了 \n某人四十多岁了还碌碌无为,于是跑去找算命先生。算命先生掐指一算,然后问:“一个好消息,一个坏消息,你先听哪个?”哥们说:“那就先听坏的吧”。算命先生说:“坏消息是,你四十岁之前穷困潦倒……”那哥们眉头一挑,问:“那好消息呢?”算命先生幽幽的说到:“四十岁以后,你就习惯了。”
\n \n身体就像一辆车子 \n身体就像一辆车子,还新的时候,遇到问题花点钱修理一下,就又能风驰电掣。车子越旧,修理费越高。旧到不行了,修理费比换辆新的还贵,还修个啥劲?你「身体」这家企业,当对它的投入远大于产出的时候,上帝都要考虑撤资了,你还拼命追加投资?
\n凌凌漆 \n外景:深圳某一市场猪肉摊前。 \n某女甲:你以为你匿喺度就揾唔到你咩? 冇用架! 你啲咁出色嘅难忍(男人),无论喺边度,都好似漆黑中嘅萤火虫一样,咁鲜明,咁出众。 你忧郁嘅眼神,唏嘘嘅须根,神乎其技嘅刀法,同埋嗰杯Dry Martine,都彻底噉将你出卖咗。 不过,你虽然系咁出色,始终行有行规,无论典(点)你都要找埋寻晚嗰条过夜数,叫鸡唔使畀钱呀? \n凌凌漆:我重估我哋嘅交往系建筑喺感情之上,估唔到,原来都系一盘生意。 \n某女甲:讲感情都要畀钱架。 \n凌凌漆:明白嘅,有一早畀咗你啦。 但系近排兴食斋,冇乜人帮衬,不如噉啦,攞篘猪肉返去顶住数先啦。 嚟吖,粗粗地,唔该。 \n某女甲:你好嘢,山水有山逢。 (某女甲提猪肉转身走。) \n凌凌漆: \n有兴趣嘅不如今天再相逢啦。 \n(某女甲把猪肉投向凌凌漆) \n凌凌漆(用刀接住猪肉):悭番。 (顺势将猪肉切成两半,挂喺猪肉钩上) \n某女乙:咩话? 个衰佬唔肯畀钱? 我帮你拖马喐佢! \n某女甲:算啦,话到尾,佢始终都系一个独一无二、风度翩翩嘅猪肉佬。 \n(阿漆依着猪肉摊,品着白兰地。)
\n情人节广告 \n14号晚报名打麻将,只报不打,报名费100元,报完名爱干嘛干嘛,爱去哪去哪,爱跟谁跟谁。本人承诺:保证任何人问你的行踪都可以证明你跟我一起打麻将了,你所有报不了的花费都可以说成是被我赢了,具体时间为2月14日17点至凌晨2点,时间地点任选。额外业务:如支付200元,还提供大牌合照以及朋友圈回复业务,做戏做全套!小本经营,童叟无欺!有意者私聊。
\n","site":{"data":{}},"excerpt":"慢慢就习惯了 \n某人四十多岁了还碌碌无为,于是跑去找算命先生。算命先生掐指一算,然后问:“一个好消息,一个坏消息,你先听哪个?”哥们说:“那就先听坏的吧”。算命先生说:“坏消息是,你四十岁之前穷困潦倒……”那哥们眉头一挑,问:“那好消息呢?”算命先生幽幽的说到:“四十岁以后,你就习惯了。”
","more":"身体就像一辆车子 \n身体就像一辆车子,还新的时候,遇到问题花点钱修理一下,就又能风驰电掣。车子越旧,修理费越高。旧到不行了,修理费比换辆新的还贵,还修个啥劲?你「身体」这家企业,当对它的投入远大于产出的时候,上帝都要考虑撤资了,你还拼命追加投资?
\n凌凌漆 \n外景:深圳某一市场猪肉摊前。 \n某女甲:你以为你匿喺度就揾唔到你咩? 冇用架! 你啲咁出色嘅难忍(男人),无论喺边度,都好似漆黑中嘅萤火虫一样,咁鲜明,咁出众。 你忧郁嘅眼神,唏嘘嘅须根,神乎其技嘅刀法,同埋嗰杯Dry Martine,都彻底噉将你出卖咗。 不过,你虽然系咁出色,始终行有行规,无论典(点)你都要找埋寻晚嗰条过夜数,叫鸡唔使畀钱呀? \n凌凌漆:我重估我哋嘅交往系建筑喺感情之上,估唔到,原来都系一盘生意。 \n某女甲:讲感情都要畀钱架。 \n凌凌漆:明白嘅,有一早畀咗你啦。 但系近排兴食斋,冇乜人帮衬,不如噉啦,攞篘猪肉返去顶住数先啦。 嚟吖,粗粗地,唔该。 \n某女甲:你好嘢,山水有山逢。 (某女甲提猪肉转身走。) \n凌凌漆: \n有兴趣嘅不如今天再相逢啦。 \n(某女甲把猪肉投向凌凌漆) \n凌凌漆(用刀接住猪肉):悭番。 (顺势将猪肉切成两半,挂喺猪肉钩上) \n某女乙:咩话? 个衰佬唔肯畀钱? 我帮你拖马喐佢! \n某女甲:算啦,话到尾,佢始终都系一个独一无二、风度翩翩嘅猪肉佬。 \n(阿漆依着猪肉摊,品着白兰地。)
\n情人节广告 \n14号晚报名打麻将,只报不打,报名费100元,报完名爱干嘛干嘛,爱去哪去哪,爱跟谁跟谁。本人承诺:保证任何人问你的行踪都可以证明你跟我一起打麻将了,你所有报不了的花费都可以说成是被我赢了,具体时间为2月14日17点至凌晨2点,时间地点任选。额外业务:如支付200元,还提供大牌合照以及朋友圈回复业务,做戏做全套!小本经营,童叟无欺!有意者私聊。
"},{"title":"名人语录","date":"2019-07-29T06:40:50.000Z","urlname":"prominaent-slogen-collection","toc":true,"notshow":true,"_content":"\n###### 祈祷文\n\n- 上帝,请赐予我平静让我可以接受我所不能改变的,赐予我勇气让我可以改变我能够改变的,赐予我智慧以分辨这二者的不同。\n- God grand me the serenity to accept the things I cannot change, Courage to change the things I can, and wisdom to know the difference.\n\n###### 尼采\n\nHe who has a strong enough why can bear almost any how. – Friedrich Nietzsche \n\n###### 苏格拉底\n\nBeware the barrenness of a busy life. – Socrates \n\n###### 亚里士多德\n\nWe are what we repeatedly do. Excellence, then, is not an act, but a habit. – Aristotle \n\n###### 维克多 弗兰克\n\n人所拥有的任何东西都可以被剥夺,唯独人性最后的自由——也就是在任何境遇中选择一己态度和生活方式的自由——不能被剥夺。\n\n###### 马克吐温\n\n让你陷入困境的并不是这个世界;真正让你陷入困境的,是这个世界最终并非你所想象。\n\n###### 赛斯\n\n每一个心愿都预设了对于一个缺憾的承认,每一个挑战也预设了有一个要征服的阻碍。\n\n###### 叔本华\n\n痛苦和无聊是人类幸福的两个死敌。欲望不满足就痛苦,满足就无聊。人生如同钟摆在痛苦和无聊两个极点之间摆动。离开一个极点就意味着正在走向另一个极点。\n\n###### 谚语\n\nDon’t shoot the messenger.\n英文有句谚语叫“不要枪毙信使”。枪毙信使并不能改变坏消息。\n\n###### 曾国藩\n\n- 既往不恋,当下不染, 未来不迎。天涯:染,不被当下的情绪感染。要跳出情绪来观察当下。\n- 倚天照海花无数, 流水高山心自知。\n- 久利之事勿为,众争之地勿往。\n- 勿以小恶弃人大美, 勿以小怨忘人大恩。\n\n###### 宗棠\n\n人生最不幸處,是偶一失言而禍不及,偶一失謀而事倖成,偶一恣行而獲小利, 後乃視為故常,而恬不為意。則莫大之患,由此生矣。\n\n###### 俞敏洪\n\n优秀是一种习惯。","source":"_posts/摘录/片段/名人语录.md","raw":"---\ntitle: 名人语录\ndate: 2019-07-29 08:40:50\nurlname: prominaent-slogen-collection\ntoc: true\ntags: [文学]\ncategories: [摘录, 片段]\nnotshow: true\n\n---\n\n###### 祈祷文\n\n- 上帝,请赐予我平静让我可以接受我所不能改变的,赐予我勇气让我可以改变我能够改变的,赐予我智慧以分辨这二者的不同。\n- God grand me the serenity to accept the things I cannot change, Courage to change the things I can, and wisdom to know the difference.\n\n###### 尼采\n\nHe who has a strong enough why can bear almost any how. – Friedrich Nietzsche \n\n###### 苏格拉底\n\nBeware the barrenness of a busy life. – Socrates \n\n###### 亚里士多德\n\nWe are what we repeatedly do. Excellence, then, is not an act, but a habit. – Aristotle \n\n###### 维克多 弗兰克\n\n人所拥有的任何东西都可以被剥夺,唯独人性最后的自由——也就是在任何境遇中选择一己态度和生活方式的自由——不能被剥夺。\n\n###### 马克吐温\n\n让你陷入困境的并不是这个世界;真正让你陷入困境的,是这个世界最终并非你所想象。\n\n###### 赛斯\n\n每一个心愿都预设了对于一个缺憾的承认,每一个挑战也预设了有一个要征服的阻碍。\n\n###### 叔本华\n\n痛苦和无聊是人类幸福的两个死敌。欲望不满足就痛苦,满足就无聊。人生如同钟摆在痛苦和无聊两个极点之间摆动。离开一个极点就意味着正在走向另一个极点。\n\n###### 谚语\n\nDon’t shoot the messenger.\n英文有句谚语叫“不要枪毙信使”。枪毙信使并不能改变坏消息。\n\n###### 曾国藩\n\n- 既往不恋,当下不染, 未来不迎。天涯:染,不被当下的情绪感染。要跳出情绪来观察当下。\n- 倚天照海花无数, 流水高山心自知。\n- 久利之事勿为,众争之地勿往。\n- 勿以小恶弃人大美, 勿以小怨忘人大恩。\n\n###### 宗棠\n\n人生最不幸處,是偶一失言而禍不及,偶一失謀而事倖成,偶一恣行而獲小利, 後乃視為故常,而恬不為意。則莫大之患,由此生矣。\n\n###### 俞敏洪\n\n优秀是一种习惯。","slug":"摘录/片段/名人语录","published":1,"updated":"2019-07-31T03:51:35.000Z","_id":"cka1y598i002d4huu06onppzf","comments":1,"layout":"post","photos":[],"link":"","content":"祈祷文 \n\n上帝,请赐予我平静让我可以接受我所不能改变的,赐予我勇气让我可以改变我能够改变的,赐予我智慧以分辨这二者的不同。 \nGod grand me the serenity to accept the things I cannot change, Courage to change the things I can, and wisdom to know the difference. \n \n尼采 \nHe who has a strong enough why can bear almost any how. – Friedrich Nietzsche
\n苏格拉底 \nBeware the barrenness of a busy life. – Socrates
\n亚里士多德 \nWe are what we repeatedly do. Excellence, then, is not an act, but a habit. – Aristotle
\n维克多 弗兰克 \n人所拥有的任何东西都可以被剥夺,唯独人性最后的自由——也就是在任何境遇中选择一己态度和生活方式的自由——不能被剥夺。
\n马克吐温 \n让你陷入困境的并不是这个世界;真正让你陷入困境的,是这个世界最终并非你所想象。
\n赛斯 \n每一个心愿都预设了对于一个缺憾的承认,每一个挑战也预设了有一个要征服的阻碍。
\n叔本华 \n痛苦和无聊是人类幸福的两个死敌。欲望不满足就痛苦,满足就无聊。人生如同钟摆在痛苦和无聊两个极点之间摆动。离开一个极点就意味着正在走向另一个极点。
\n谚语 \nDon’t shoot the messenger. \n英文有句谚语叫“不要枪毙信使”。枪毙信使并不能改变坏消息。
\n曾国藩 \n\n既往不恋,当下不染, 未来不迎。天涯:染,不被当下的情绪感染。要跳出情绪来观察当下。 \n倚天照海花无数, 流水高山心自知。 \n久利之事勿为,众争之地勿往。 \n勿以小恶弃人大美, 勿以小怨忘人大恩。 \n \n宗棠 \n人生最不幸處,是偶一失言而禍不及,偶一失謀而事倖成,偶一恣行而獲小利, 後乃視為故常,而恬不為意。則莫大之患,由此生矣。
\n俞敏洪 \n优秀是一种习惯。
\n","site":{"data":{}},"excerpt":"","more":"祈祷文 \n\n上帝,请赐予我平静让我可以接受我所不能改变的,赐予我勇气让我可以改变我能够改变的,赐予我智慧以分辨这二者的不同。 \nGod grand me the serenity to accept the things I cannot change, Courage to change the things I can, and wisdom to know the difference. \n \n尼采 \nHe who has a strong enough why can bear almost any how. – Friedrich Nietzsche
\n苏格拉底 \nBeware the barrenness of a busy life. – Socrates
\n亚里士多德 \nWe are what we repeatedly do. Excellence, then, is not an act, but a habit. – Aristotle
\n维克多 弗兰克 \n人所拥有的任何东西都可以被剥夺,唯独人性最后的自由——也就是在任何境遇中选择一己态度和生活方式的自由——不能被剥夺。
\n马克吐温 \n让你陷入困境的并不是这个世界;真正让你陷入困境的,是这个世界最终并非你所想象。
\n赛斯 \n每一个心愿都预设了对于一个缺憾的承认,每一个挑战也预设了有一个要征服的阻碍。
\n叔本华 \n痛苦和无聊是人类幸福的两个死敌。欲望不满足就痛苦,满足就无聊。人生如同钟摆在痛苦和无聊两个极点之间摆动。离开一个极点就意味着正在走向另一个极点。
\n谚语 \nDon’t shoot the messenger. \n英文有句谚语叫“不要枪毙信使”。枪毙信使并不能改变坏消息。
\n曾国藩 \n\n既往不恋,当下不染, 未来不迎。天涯:染,不被当下的情绪感染。要跳出情绪来观察当下。 \n倚天照海花无数, 流水高山心自知。 \n久利之事勿为,众争之地勿往。 \n勿以小恶弃人大美, 勿以小怨忘人大恩。 \n \n宗棠 \n人生最不幸處,是偶一失言而禍不及,偶一失謀而事倖成,偶一恣行而獲小利, 後乃視為故常,而恬不為意。則莫大之患,由此生矣。
\n俞敏洪 \n优秀是一种习惯。
\n"},{"title":"零散句子","date":"2019-07-29T06:50:50.000Z","urlname":"funny-sloga-collection","toc":true,"notshow":true,"_content":"\n###### 幸福的路有两条\n\n中岛美雪写的歌《幸福》(任贤齐翻唱的伤心太平洋):到幸福的路有两条,一条是所有愿望都成真,另外一条是把愿望这东西扔掉。\n\n\n\n###### Matrix\n\n> Cypher: You know, I know this steak doesn't exist. I know that when I put it in my mounth, the Matrix is telling my brain that it is ..... juicy and delicious. After nine years, you know what I realize? en ...... Ignorance is bliss\n\n###### 几个顺口溜\n\n- 认认真真说假话,扎扎实实走过场。\n- 失败乃成功之母——失败生了100个孩子,其中一个叫「成功」,其它99个还叫「失败」。\n- “人类一思考,上帝就发笑。” —— “你一说要学什么东西,人们就发笑。”\n- 晚上想想千条路,早上起来走原路。(有个共同特点:不困难、不痛苦)\n- 暂时的失败要比暂时的成功要好得多。\n- 别让「半途而废」 成为你唯一坚持下来的事情。\n- 世上没有听一遍就管用的道理。\n- (你的脑袋)不要做别人思想的跑马场。\n- 路是自己走的,脚上的泡也是自己好的。\n- 忍一时越想越气,退一步越想越亏。(总是忍的人,从来都不开心。总是退让的人,却从来没有真的海阔天空)\n- 遇到烂事不纠结,遇到烂人不纠缠。\n- 每个人都想努力做,却总是做不好。\n- 曹操评袁绍:「色厉胆薄,好谋无断,干大事而惜身,见小利而忘命。」","source":"_posts/摘录/片段/零散句子.md","raw":"---\ntitle: 零散句子\ndate: 2019-07-29 08:50:50\nurlname: funny-sloga-collection\ntoc: true\ntags: [文学]\ncategories: [摘录, 片段]\nnotshow: true\n\n---\n\n###### 幸福的路有两条\n\n中岛美雪写的歌《幸福》(任贤齐翻唱的伤心太平洋):到幸福的路有两条,一条是所有愿望都成真,另外一条是把愿望这东西扔掉。\n\n\n\n###### Matrix\n\n> Cypher: You know, I know this steak doesn't exist. I know that when I put it in my mounth, the Matrix is telling my brain that it is ..... juicy and delicious. After nine years, you know what I realize? en ...... Ignorance is bliss\n\n###### 几个顺口溜\n\n- 认认真真说假话,扎扎实实走过场。\n- 失败乃成功之母——失败生了100个孩子,其中一个叫「成功」,其它99个还叫「失败」。\n- “人类一思考,上帝就发笑。” —— “你一说要学什么东西,人们就发笑。”\n- 晚上想想千条路,早上起来走原路。(有个共同特点:不困难、不痛苦)\n- 暂时的失败要比暂时的成功要好得多。\n- 别让「半途而废」 成为你唯一坚持下来的事情。\n- 世上没有听一遍就管用的道理。\n- (你的脑袋)不要做别人思想的跑马场。\n- 路是自己走的,脚上的泡也是自己好的。\n- 忍一时越想越气,退一步越想越亏。(总是忍的人,从来都不开心。总是退让的人,却从来没有真的海阔天空)\n- 遇到烂事不纠结,遇到烂人不纠缠。\n- 每个人都想努力做,却总是做不好。\n- 曹操评袁绍:「色厉胆薄,好谋无断,干大事而惜身,见小利而忘命。」","slug":"摘录/片段/零散句子","published":1,"updated":"2019-08-04T18:15:28.000Z","_id":"cka1y598k002h4huuc3fgsb7o","comments":1,"layout":"post","photos":[],"link":"","content":"幸福的路有两条 \n中岛美雪写的歌《幸福》(任贤齐翻唱的伤心太平洋):到幸福的路有两条,一条是所有愿望都成真,另外一条是把愿望这东西扔掉。
\n \nMatrix \n\nCypher: You know, I know this steak doesn’t exist. I know that when I put it in my mounth, the Matrix is telling my brain that it is … juicy and delicious. After nine years, you know what I realize? en … Ignorance is bliss
\n \n几个顺口溜 \n\n认认真真说假话,扎扎实实走过场。 \n失败乃成功之母——失败生了100个孩子,其中一个叫「成功」,其它99个还叫「失败」。 \n“人类一思考,上帝就发笑。” —— “你一说要学什么东西,人们就发笑。” \n晚上想想千条路,早上起来走原路。(有个共同特点:不困难、不痛苦) \n暂时的失败要比暂时的成功要好得多。 \n别让「半途而废」 成为你唯一坚持下来的事情。 \n世上没有听一遍就管用的道理。 \n(你的脑袋)不要做别人思想的跑马场。 \n路是自己走的,脚上的泡也是自己好的。 \n忍一时越想越气,退一步越想越亏。(总是忍的人,从来都不开心。总是退让的人,却从来没有真的海阔天空) \n遇到烂事不纠结,遇到烂人不纠缠。 \n每个人都想努力做,却总是做不好。 \n曹操评袁绍:「色厉胆薄,好谋无断,干大事而惜身,见小利而忘命。」 \n \n","site":{"data":{}},"excerpt":"幸福的路有两条 \n中岛美雪写的歌《幸福》(任贤齐翻唱的伤心太平洋):到幸福的路有两条,一条是所有愿望都成真,另外一条是把愿望这东西扔掉。
","more":"Matrix \n\nCypher: You know, I know this steak doesn’t exist. I know that when I put it in my mounth, the Matrix is telling my brain that it is … juicy and delicious. After nine years, you know what I realize? en … Ignorance is bliss
\n \n几个顺口溜 \n\n认认真真说假话,扎扎实实走过场。 \n失败乃成功之母——失败生了100个孩子,其中一个叫「成功」,其它99个还叫「失败」。 \n“人类一思考,上帝就发笑。” —— “你一说要学什么东西,人们就发笑。” \n晚上想想千条路,早上起来走原路。(有个共同特点:不困难、不痛苦) \n暂时的失败要比暂时的成功要好得多。 \n别让「半途而废」 成为你唯一坚持下来的事情。 \n世上没有听一遍就管用的道理。 \n(你的脑袋)不要做别人思想的跑马场。 \n路是自己走的,脚上的泡也是自己好的。 \n忍一时越想越气,退一步越想越亏。(总是忍的人,从来都不开心。总是退让的人,却从来没有真的海阔天空) \n遇到烂事不纠结,遇到烂人不纠缠。 \n每个人都想努力做,却总是做不好。 \n曹操评袁绍:「色厉胆薄,好谋无断,干大事而惜身,见小利而忘命。」 \n "},{"title":"缠中说禅","date":"2019-07-29T06:40:50.000Z","urlname":"funny-things-collection","toc":true,"notshow":true,"_content":"\n[TOC]\n\n##### 诗词\n\n###### 满江红\n\n万古长空,今犹昔,一朝风月。何处住?\n春花夏雨,秋鸿冬雪。\n百代浮华皆作土,千江吸尽无堪说。\n问世间,多少梦消磨、英雄血。\n星旋轨,天补裂,山崩柱,河倾缺。\n捣神宫鬼府,凤巢龙穴。\n怒剑穿云惊浩宇,狂涛卷日横孤筏。\n纵生死,劫火洗乾坤,齐欢悦。\n\n###### 临江仙\n\n浊水倾波三万里,愀然独坐孤峰。\n龙潜狮睡侯飙风。\n无情皆竖子,有泪亦英雄。\n长剑倚天星斗烂,古今过眼成空。\n乾坤俯仰任穷痛。\n半轮沧海上,一苇大江东。\n\n###### 卜算子\n\n本是后山人,偶做堂前客。\n醉舞经阁半卷书,坐井说天阔。\n大志戏功名,海斗量祸福。\n论到囊中羞涩时,怒指乾坤错。\n\n—— 丁元英","source":"_posts/摘录/片段/缠中说禅.md","raw":"---\ntitle: 缠中说禅\ndate: 2019-07-29 08:40:50\nurlname: funny-things-collection\ntoc: true\ntags: [文学]\ncategories: [摘录, 片段]\nnotshow: true\n\n---\n\n[TOC]\n\n##### 诗词\n\n###### 满江红\n\n万古长空,今犹昔,一朝风月。何处住?\n春花夏雨,秋鸿冬雪。\n百代浮华皆作土,千江吸尽无堪说。\n问世间,多少梦消磨、英雄血。\n星旋轨,天补裂,山崩柱,河倾缺。\n捣神宫鬼府,凤巢龙穴。\n怒剑穿云惊浩宇,狂涛卷日横孤筏。\n纵生死,劫火洗乾坤,齐欢悦。\n\n###### 临江仙\n\n浊水倾波三万里,愀然独坐孤峰。\n龙潜狮睡侯飙风。\n无情皆竖子,有泪亦英雄。\n长剑倚天星斗烂,古今过眼成空。\n乾坤俯仰任穷痛。\n半轮沧海上,一苇大江东。\n\n###### 卜算子\n\n本是后山人,偶做堂前客。\n醉舞经阁半卷书,坐井说天阔。\n大志戏功名,海斗量祸福。\n论到囊中羞涩时,怒指乾坤错。\n\n—— 丁元英","slug":"摘录/片段/缠中说禅","published":1,"updated":"2019-07-31T03:51:35.000Z","_id":"cka1y598o002l4huuoby01avt","comments":1,"layout":"post","photos":[],"link":"","content":"[TOC]
\n诗词 \n满江红 \n万古长空,今犹昔,一朝风月。何处住? \n春花夏雨,秋鸿冬雪。 \n百代浮华皆作土,千江吸尽无堪说。 \n问世间,多少梦消磨、英雄血。 \n星旋轨,天补裂,山崩柱,河倾缺。 \n捣神宫鬼府,凤巢龙穴。 \n怒剑穿云惊浩宇,狂涛卷日横孤筏。 \n纵生死,劫火洗乾坤,齐欢悦。
\n临江仙 \n浊水倾波三万里,愀然独坐孤峰。 \n龙潜狮睡侯飙风。 \n无情皆竖子,有泪亦英雄。 \n长剑倚天星斗烂,古今过眼成空。 \n乾坤俯仰任穷痛。 \n半轮沧海上,一苇大江东。
\n卜算子 \n本是后山人,偶做堂前客。 \n醉舞经阁半卷书,坐井说天阔。 \n大志戏功名,海斗量祸福。 \n论到囊中羞涩时,怒指乾坤错。
\n—— 丁元英
\n","site":{"data":{}},"excerpt":"","more":"[TOC]
\n诗词 \n满江红 \n万古长空,今犹昔,一朝风月。何处住? \n春花夏雨,秋鸿冬雪。 \n百代浮华皆作土,千江吸尽无堪说。 \n问世间,多少梦消磨、英雄血。 \n星旋轨,天补裂,山崩柱,河倾缺。 \n捣神宫鬼府,凤巢龙穴。 \n怒剑穿云惊浩宇,狂涛卷日横孤筏。 \n纵生死,劫火洗乾坤,齐欢悦。
\n临江仙 \n浊水倾波三万里,愀然独坐孤峰。 \n龙潜狮睡侯飙风。 \n无情皆竖子,有泪亦英雄。 \n长剑倚天星斗烂,古今过眼成空。 \n乾坤俯仰任穷痛。 \n半轮沧海上,一苇大江东。
\n卜算子 \n本是后山人,偶做堂前客。 \n醉舞经阁半卷书,坐井说天阔。 \n大志戏功名,海斗量祸福。 \n论到囊中羞涩时,怒指乾坤错。
\n—— 丁元英
\n"},{"title":"简短书摘","date":"2019-07-29T07:00:50.000Z","urlname":"brief-notions-collection","toc":true,"notshow":true,"_content":"\n###### 癌症\n\n“以我个人有限的接触癌症的经历总结,似乎越是传统意义上的“好人”越是容易生癌。这些人往往脾气很好,性格内向,照顾周围,万事替别人考虑,总是在乎别人眼里的自己,总是担心一些可能发生的小概率负面事件。”\n\n—— 冯唐. “无所畏【冯唐2018全新作品,一部坦露自我的真诚之作!】。” \n\n\n\n###### 暗算\n\n金风未动蝉先觉,暗算无常死不知。\n青山只会明今古,绿水何曾洗是非?\n\n###### 五个人生思维\n\n- 能把问题清楚的写下来,就是解决了问题的一半。发现问题比解决问题更重要。\n- 墨菲定律:如果事情有变坏的可能,那它就一定会发生。\n- 吉伯特法则:真正的危险是没有人告诉你有危险。「人在事中迷,就怕没人提」。\n- 福克兰定律:当你不知道如何行动时,最好的行动就是不要行动,最好的决策就是没有决策。\n- 费斯诺定律:人有两只耳朵,却只有一张嘴巴。就是说,人应该多听少讲。","source":"_posts/摘录/片段/简短书摘.md","raw":"---\ntitle: 简短书摘\ndate: 2019-07-29 09:00:50\nurlname: brief-notions-collection\ntoc: true\ntags: [文学]\ncategories: [摘录, 片段]\nnotshow: true\n\n---\n\n###### 癌症\n\n“以我个人有限的接触癌症的经历总结,似乎越是传统意义上的“好人”越是容易生癌。这些人往往脾气很好,性格内向,照顾周围,万事替别人考虑,总是在乎别人眼里的自己,总是担心一些可能发生的小概率负面事件。”\n\n—— 冯唐. “无所畏【冯唐2018全新作品,一部坦露自我的真诚之作!】。” \n\n\n\n###### 暗算\n\n金风未动蝉先觉,暗算无常死不知。\n青山只会明今古,绿水何曾洗是非?\n\n###### 五个人生思维\n\n- 能把问题清楚的写下来,就是解决了问题的一半。发现问题比解决问题更重要。\n- 墨菲定律:如果事情有变坏的可能,那它就一定会发生。\n- 吉伯特法则:真正的危险是没有人告诉你有危险。「人在事中迷,就怕没人提」。\n- 福克兰定律:当你不知道如何行动时,最好的行动就是不要行动,最好的决策就是没有决策。\n- 费斯诺定律:人有两只耳朵,却只有一张嘴巴。就是说,人应该多听少讲。","slug":"摘录/片段/简短书摘","published":1,"updated":"2019-07-31T03:51:35.000Z","_id":"cka1y598q002p4huudjt7uk0a","comments":1,"layout":"post","photos":[],"link":"","content":"癌症 \n“以我个人有限的接触癌症的经历总结,似乎越是传统意义上的“好人”越是容易生癌。这些人往往脾气很好,性格内向,照顾周围,万事替别人考虑,总是在乎别人眼里的自己,总是担心一些可能发生的小概率负面事件。”
\n—— 冯唐. “无所畏【冯唐2018全新作品,一部坦露自我的真诚之作!】。”
\n \n暗算 \n金风未动蝉先觉,暗算无常死不知。 \n青山只会明今古,绿水何曾洗是非?
\n五个人生思维 \n\n能把问题清楚的写下来,就是解决了问题的一半。发现问题比解决问题更重要。 \n墨菲定律:如果事情有变坏的可能,那它就一定会发生。 \n吉伯特法则:真正的危险是没有人告诉你有危险。「人在事中迷,就怕没人提」。 \n福克兰定律:当你不知道如何行动时,最好的行动就是不要行动,最好的决策就是没有决策。 \n费斯诺定律:人有两只耳朵,却只有一张嘴巴。就是说,人应该多听少讲。 \n \n","site":{"data":{}},"excerpt":"癌症 \n“以我个人有限的接触癌症的经历总结,似乎越是传统意义上的“好人”越是容易生癌。这些人往往脾气很好,性格内向,照顾周围,万事替别人考虑,总是在乎别人眼里的自己,总是担心一些可能发生的小概率负面事件。”
\n—— 冯唐. “无所畏【冯唐2018全新作品,一部坦露自我的真诚之作!】。”
","more":"暗算 \n金风未动蝉先觉,暗算无常死不知。 \n青山只会明今古,绿水何曾洗是非?
\n五个人生思维 \n\n能把问题清楚的写下来,就是解决了问题的一半。发现问题比解决问题更重要。 \n墨菲定律:如果事情有变坏的可能,那它就一定会发生。 \n吉伯特法则:真正的危险是没有人告诉你有危险。「人在事中迷,就怕没人提」。 \n福克兰定律:当你不知道如何行动时,最好的行动就是不要行动,最好的决策就是没有决策。 \n费斯诺定律:人有两只耳朵,却只有一张嘴巴。就是说,人应该多听少讲。 \n "},{"title":"有用的Shell命令","date":"2019-07-30T15:30:28.000Z","urlname":"helpfull-shell-command","toc":true,"notshow":true,"_content":"\n在线网站可以找到基本的东西:[Linux命令大全](https://man.linuxde.net/) [shell 正则表达式](https://man.linuxde.net/docs/shell_regex.html)\n\n# 文件&内容检索\n\n## 正则表达式注意的地方\n\n- 花括号之前要加转义字符 `[a-z]\\{3\\}`\n- 空格就是转义加空格`\\ `,而不是`\\s` 。如 `[a-z0-9_\\ ]\\{3,\\}`\n- 这几个符号 `_ - . #`都不需要加转义符。\n- 不要轻易加==行结束符==$,可能回车才是最后符号,所以可能找不到。\n\n\n\n## grep\n\n```sh\n# -r 递归搜索子目录\n# -l 只显示文件\n# -n 显示文件和匹配的行\n# 搜索 “markdown” 字符串并输入到文件里\n# Formating the Results...\ngrep $begrif $directory $args |awk '{ print \"[\" $1 \"](\" $1 \")\\n\" }' > suchergebnisse.md\n# 将结果转为Windows目录\nsed -i -- 's/\\/D\\//D:\\/\\//g' suchergebnisse.md\necho \"Fertig! Ergebnisse siehe Datei 'suchergebnisse.md'\"\nread\n```\n\n[更多参数请读此文](https://blog.csdn.net/u013485792/article/details/52243479) 示例脚本\n\n`grep` 正则表达式的例子\n\n```sh\n#!bin/bash\n# {#part0000_split_050.html#nav_point-99 .calibre13}\nresult=$(grep '{#part0000_split_[0-9]\\{3\\}.html[a-z0-9_\\ -.#]\\{3,\\}calibre13}' 文件名)\n\nif [ \"$result\" = \"\" ];\nthen\n\techo \"Nichts gefunden!\"\nfi\n\necho $result\nread\n```\n\ngrep或操作\n\n```sh\ngrep -E '123|abc' filename // 找出文件(filename)中包含123或者包含abc的行\negrep '123|abc' filename // 用egrep同样可以实现\nawk '/123|abc/' filename // awk 的实现方式\n```\n\ngrep与操作\n\n```sh\ngrep pattern1 files | grep pattern2 //显示既匹配 pattern1 又匹配 pattern2 的行。\n```\n\n其它常用选项\n\n```sh\ngrep -i pattern files //不区分大小写地搜索。默认情况区分大小写,\ngrep -l pattern files //只列出匹配的文件名,\ngrep -L pattern files //列出不匹配的文件名,\ngrep -w pattern files //只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),\ngrep -C number pattern files //匹配的上下文分别显示[number]行,\n```\n\n{% fold 点击显/隐代码 %}\n\n\n{% endfold %}\n\n## sed 命令\n\n[参考文献](https://man.linuxde.net/sed)\n\n### 文本替代\n\n以下文本替换通过`pandoc`导入后的文件,残留很多内部跳转链接:如\n\n```sh\n{#part0000_split_003.html#nav_point_1 .not-in-toc}\n```\n\n\n\n```bash\n#!bin/bash\necho running\n#sed 's/^#part0000_split_$/p' -f ../Linux_shell_Anleitung.md ;\nsed -i -- 's/^\\[\\]{#part0000_split_[0-9]\\{3\\}.html}$//g' ../Linux_shell_Anleitung.md \n\n#{#part0000_split_017.html#nav_point_21 .calibre8} {#part0000_split_003.html#nav_point_1 .not-in-toc}\nsed -i -- 's/{#part0000_split_[0-9]\\{3\\}.html#[a-z0-9_-]\\+ .[a-z0-9_-]\\+}//g' ../Linux_shell_Anleitung.md \n\necho fertig!\nread\n```\n\n### 整行替代\n\n[参考文献](https://www.cnblogs.com/wangqiguo/p/6718512.html)\n\n替代以 `categories:` 开头的整行(允许行开头有空格或制表符)。`c` 代表整行,以字符串 *categories: [IE]* 替代整行。\n\n```sh\n# Linux 下的写法\nsed -i -- '/^[[:blank:]]*categories:/c categories: [IE]' result.txt \n# Mac 下的写法\nsed -i '' 's/^[[:blank:]]*tags:.*/tags: [心理]/' $1 \n```\n\n错误:如果将参数 `c` 写在前面,会将整个文本每一行都替换掉。\n\n```sh\n# Linux 下的写法\nsed -i -- 'c/^[[:blank:]]*categories:/categories: [IE]/' result.txt \n```\n\n\n\n## find\n\n```sh\n# 查找所有的 md 文件\nfind /root/bibliothek/markdowns/blog_posts/ -type f -name \"*.md\" \n# 查找一天之前的文件, 一小时前时 -1h,一周 -1w\nfind . -type f -mtime -1d\n```\n\n如果要处理复杂的事情,就要用到函数\n\n```sh\n# 定义函数\nshowFileInfo(){\n echo $1\n}\n\n# 声明函数\nexport -f showFileInfo\n# 使用函数\nfind $dirPath -name \"*.md\" | xargs -n 1 -P 10 -I {} bash -c 'showFileInfo \"$@\"' _ {} \\;\n```\n\n\n\n## 查找最新文件\n\n- 将文件按从新到旧排列,取第一个。\n\n `ls -t *.cpp | head -1`\n\n- 将文件按从旧到新排列,取最后一个。\n\n `ls -rt *.cpp | tail -1`\n\n- 列出文件时间戳\n\n `ls -l simpleNode.js |awk '{print $6 \"-\" $7 \"-\" $8 }'`\n\n- 整合以上两个命令,找到最新的文件,读取时间戳 \n\n `ls -t *.* | head -1 | xargs ls -l | awk '{print $6 \"-\" $7 \"-\" $8 }'`\n\n\n\n# 字符串处理\n\n[字符串处理参考文献](https://www.jianshu.com/p/5709118af1c6) [将分隔符的字符串转为数组的几种方法](https://blog.csdn.net/Jerry_1126/article/details/83930956)\n\n配合使用,可以直接用 shell 实现文件内标签和分类的替换。\n\n## 数组转字符串\n\n使用分隔符将数组转字符串:\n\n```sh\nids=(1 2 3 4); \nlst=$( IFS='/'; echo \"${ids[*]}\" ); \necho $lst\n# 结果是:1/2/3/4\n```\n\n## 字符串转数组\n\n[懒得写,看范例](https://blog.csdn.net/Jerry_1126/article/details/83930956)\n\n## 字符串替换\n\n```sh\n# 原串 [娱乐,经济,重要] => 目标串 [娱乐, 经济, 重要]\n${tags/,/, } # 只替换了一个,结果变成 [娱乐, 经济,重要]\n${tags//,/, } # 替换了所有符合的,结果变成 [娱乐, 经济, 重要]\n# 原串 [重要] => 目标串 重要\n${tags//[\\[\\] ]/}\n```\n\n### 消除回车符、换行符、制表符\n\n```sh\n# arg是个字符串变量, 可能带有回车符\\r\n# 把它整个作为参数使用会带来很多麻烦。用以下命令将其替换掉\nnewvar=${arg//[$'\\t\\r\\n']/}\n```\n\n\n\n## 详细用法\n\n[参考文献](https://blog.csdn.net/ljianhui/article/details/43128465)\n\n1. `${var##*/}`\n该命令的作用是去掉变量var从左边算起的最后一个'/'字符及其左边的内容,返回从左边算起的最后一个'/'(不含该字符)的右边的内容。使用例子及结果如下:\n\n```sh\nvar=dir1/dir2/file.txt \n--> file.txt\n```\n\n从运行结果可以看到,使用该命令,可以提取出我们需要的文件名*file.txt*。\n\n若使用时在shell程序文件中,可以使用变量来保存这个结果,再加以利用,如file=`${var##*/}`\n\n2. `${var##*.}`\n该命令的作用是去掉变量var从左边算起的最后一个'.'字符及其左边的内容,返回从左边算起的最后一个'.'(不含该字符)的右边的内容。使用例子及结果如下:\n\n```sh\nvar=dir1/dir2/file.txt \n--> txt\n```\n\n从运行结果可以看到,使用该命令,可以提取出我们需要的文件后缀。\n\n如果文件的后缀不仅有一个,例如,file.tar.gz,命令`${var##*.}`仅能提取最后一个后缀,而我想提取tar.gz时该怎么办?那么就要用下面所说的`${var#*.}`命令了。\n\n3. `${var#*.}`\n该命令的作用是去掉变量var从左边算起的第一个'.'字符及其左边的内容,返回从左边算起第一个'.'(不含该字符)的右边部分的内容。使用例子及结果如下:\n\n```sh\nvar=dir1/dir2/file.tar.gz \n--> tar.gz\n```\n\n从运行结果可以看到,使用该命令,可以提取出文件的多个后缀。\n\n4. `${var%/*}`\n 该命令的使用是去掉变量var从右边算起的第一个'/'字符及其右边的内容,返回从右边算起的第一个'/'(不含该字符)的左边的内容。使用例子及结果如下:\n\n```sh\nvar=dir1/dir2/file.txt \n--> dir1/dir2\n```\n\n\n\n从运行的结果可以看到,使用该命令,可以提取出我们需要的文件所在的目录\n\n5. `${var%%.*}`\n该命令的使用是去掉变量var从右边算起的最后一个'.'字符及其右边的内容,返回从右边算起的最后一个'.'(不含该字符)的左边的内容。使用例子及结果如下:\n\n```sh\nvar=dir1/dir2/file.txt \n--> dir1/dir2/file\n```\n\n当我们需要建立一个与文件名相同名字(没有后缀)的目录与对应的文件相对应时,就可以使用该命令来进行操作。例如,解压文件的情况就与此类似,我们压缩文件file.zip时,会在与file.zip同级目录下建立一个名为file的目录。\n\n6. 总结\n\n 其实${}并不是专门为提取文件名或目录名的,它的使用是变量的提取和替换等等操作,它可以提取非常多的内容,并不一定是上面五个例子中的'/'或'.'。也就是说,上面的使用方法只是它使用的一个特例。\n\n\n\n看到上面的这些命令,可能会让人感到非常难以理解和记忆,其实不然,它们都是有规律的。\n\n- \\#:表示从左边算起第一个\n\n- %:表示从右边算起第一个\n\n- \\##:表示从左边算起最后一个\n\n- %%:表示从右边算起最后一个\n\n换句话来说,#总是表示左边算起,%总是表示右边算起。\n\n*:表示要删除的内容,对于#和##的情况,它位于指定的字符(例子中的'/'和'.')的左边,表于删除指定字符及其左边的内容;对于%和%%的情况,它位于指定的字符(例子中的'/'和'.')的右边,表示删除指定字符及其右边的内容。这里的'*'的位置不能互换,即不能把*号放在#或##的右边,反之亦然。\n\n例如:`${var%%x*}`表示找出从右边算起最后一个字符x,并删除字符x及其右边的字符。\n\n看到这里,就可以知道,其实该命令的用途非常广泛,上面只是指针文件名和目录名的命名特性来进行提取的一些特例而已。\n\n## basename和dirname\n\n`${}`并不是专门为提取文件名和目录名设计的命令,那么`basename`和`dirname`命令就是专门为做这一件事而已准备的了。\n\n1. `basename`\n 该命令的作用是从路径中提取出文件名,使用方法为basename NAME [SUFFIX]。\n\n 1.1 从路径中提出出文件名(带后缀),例子如下:\n\n 1.2 从上面命令的用法中可以看到,后缀(SUFFIX)是一个可选项。所以,若只想提取出文件名file,而不带有后缀,还可以在变量的后面加上后缀名,例子如下:\n\n\n2. `dirname`\n该命令的作用是从路径中提取出目录名,使用方法为 dirname NAME。使用例子如下:\n\n这样就提取出了file.txt文件所在的目录。\n\n注:该命令不仅能提取出普通文件所的目录,它能提取出任何文件所在的目录,例如目录所在的目录,如下:\n\n它提取出了目录dir2所在的目录dir1.\n\n---------------------\n\n\n\n# 查看硬盘剩余空间\n\n```sh\n# 整个硬盘空间\ndf -hl\n# 查看某个文件夹大小\ndu -h your_directory # 列出每个子文件夹大小\ndu -hcs your_directory # 汇总\n```\n\n\n\n## 查看 package 版本\n\n```sh\napt-cache show packagename\n```\n\n\n\n# Windwos 下的脚本\n\nwindows 下显示环境变量\n\n`echo %http_proxy%`\n\nwindows 下设置代理服务器\n$$\n\n$$\n\n```sh\nset http_proxy=http://username:pwd$$$@proxy-rzf:8080\nset https_proxy=http://username:pwd$$$@proxy-rzf:8080\n```\n\n","source":"_posts/IT/Tools/有用的shell命令.md","raw":"---\ntitle: 有用的Shell命令\ndate: 2019-07-30 17:30:28\nurlname: helpfull-shell-command\ntoc: true\ntags: [工具]\ncategories: [IT, Tools]\nnotshow: true\n---\n\n在线网站可以找到基本的东西:[Linux命令大全](https://man.linuxde.net/) [shell 正则表达式](https://man.linuxde.net/docs/shell_regex.html)\n\n# 文件&内容检索\n\n## 正则表达式注意的地方\n\n- 花括号之前要加转义字符 `[a-z]\\{3\\}`\n- 空格就是转义加空格`\\ `,而不是`\\s` 。如 `[a-z0-9_\\ ]\\{3,\\}`\n- 这几个符号 `_ - . #`都不需要加转义符。\n- 不要轻易加==行结束符==$,可能回车才是最后符号,所以可能找不到。\n\n\n\n## grep\n\n```sh\n# -r 递归搜索子目录\n# -l 只显示文件\n# -n 显示文件和匹配的行\n# 搜索 “markdown” 字符串并输入到文件里\n# Formating the Results...\ngrep $begrif $directory $args |awk '{ print \"[\" $1 \"](\" $1 \")\\n\" }' > suchergebnisse.md\n# 将结果转为Windows目录\nsed -i -- 's/\\/D\\//D:\\/\\//g' suchergebnisse.md\necho \"Fertig! Ergebnisse siehe Datei 'suchergebnisse.md'\"\nread\n```\n\n[更多参数请读此文](https://blog.csdn.net/u013485792/article/details/52243479) 示例脚本\n\n`grep` 正则表达式的例子\n\n```sh\n#!bin/bash\n# {#part0000_split_050.html#nav_point-99 .calibre13}\nresult=$(grep '{#part0000_split_[0-9]\\{3\\}.html[a-z0-9_\\ -.#]\\{3,\\}calibre13}' 文件名)\n\nif [ \"$result\" = \"\" ];\nthen\n\techo \"Nichts gefunden!\"\nfi\n\necho $result\nread\n```\n\ngrep或操作\n\n```sh\ngrep -E '123|abc' filename // 找出文件(filename)中包含123或者包含abc的行\negrep '123|abc' filename // 用egrep同样可以实现\nawk '/123|abc/' filename // awk 的实现方式\n```\n\ngrep与操作\n\n```sh\ngrep pattern1 files | grep pattern2 //显示既匹配 pattern1 又匹配 pattern2 的行。\n```\n\n其它常用选项\n\n```sh\ngrep -i pattern files //不区分大小写地搜索。默认情况区分大小写,\ngrep -l pattern files //只列出匹配的文件名,\ngrep -L pattern files //列出不匹配的文件名,\ngrep -w pattern files //只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),\ngrep -C number pattern files //匹配的上下文分别显示[number]行,\n```\n\n{% fold 点击显/隐代码 %}\n\n\n{% endfold %}\n\n## sed 命令\n\n[参考文献](https://man.linuxde.net/sed)\n\n### 文本替代\n\n以下文本替换通过`pandoc`导入后的文件,残留很多内部跳转链接:如\n\n```sh\n{#part0000_split_003.html#nav_point_1 .not-in-toc}\n```\n\n\n\n```bash\n#!bin/bash\necho running\n#sed 's/^#part0000_split_$/p' -f ../Linux_shell_Anleitung.md ;\nsed -i -- 's/^\\[\\]{#part0000_split_[0-9]\\{3\\}.html}$//g' ../Linux_shell_Anleitung.md \n\n#{#part0000_split_017.html#nav_point_21 .calibre8} {#part0000_split_003.html#nav_point_1 .not-in-toc}\nsed -i -- 's/{#part0000_split_[0-9]\\{3\\}.html#[a-z0-9_-]\\+ .[a-z0-9_-]\\+}//g' ../Linux_shell_Anleitung.md \n\necho fertig!\nread\n```\n\n### 整行替代\n\n[参考文献](https://www.cnblogs.com/wangqiguo/p/6718512.html)\n\n替代以 `categories:` 开头的整行(允许行开头有空格或制表符)。`c` 代表整行,以字符串 *categories: [IE]* 替代整行。\n\n```sh\n# Linux 下的写法\nsed -i -- '/^[[:blank:]]*categories:/c categories: [IE]' result.txt \n# Mac 下的写法\nsed -i '' 's/^[[:blank:]]*tags:.*/tags: [心理]/' $1 \n```\n\n错误:如果将参数 `c` 写在前面,会将整个文本每一行都替换掉。\n\n```sh\n# Linux 下的写法\nsed -i -- 'c/^[[:blank:]]*categories:/categories: [IE]/' result.txt \n```\n\n\n\n## find\n\n```sh\n# 查找所有的 md 文件\nfind /root/bibliothek/markdowns/blog_posts/ -type f -name \"*.md\" \n# 查找一天之前的文件, 一小时前时 -1h,一周 -1w\nfind . -type f -mtime -1d\n```\n\n如果要处理复杂的事情,就要用到函数\n\n```sh\n# 定义函数\nshowFileInfo(){\n echo $1\n}\n\n# 声明函数\nexport -f showFileInfo\n# 使用函数\nfind $dirPath -name \"*.md\" | xargs -n 1 -P 10 -I {} bash -c 'showFileInfo \"$@\"' _ {} \\;\n```\n\n\n\n## 查找最新文件\n\n- 将文件按从新到旧排列,取第一个。\n\n `ls -t *.cpp | head -1`\n\n- 将文件按从旧到新排列,取最后一个。\n\n `ls -rt *.cpp | tail -1`\n\n- 列出文件时间戳\n\n `ls -l simpleNode.js |awk '{print $6 \"-\" $7 \"-\" $8 }'`\n\n- 整合以上两个命令,找到最新的文件,读取时间戳 \n\n `ls -t *.* | head -1 | xargs ls -l | awk '{print $6 \"-\" $7 \"-\" $8 }'`\n\n\n\n# 字符串处理\n\n[字符串处理参考文献](https://www.jianshu.com/p/5709118af1c6) [将分隔符的字符串转为数组的几种方法](https://blog.csdn.net/Jerry_1126/article/details/83930956)\n\n配合使用,可以直接用 shell 实现文件内标签和分类的替换。\n\n## 数组转字符串\n\n使用分隔符将数组转字符串:\n\n```sh\nids=(1 2 3 4); \nlst=$( IFS='/'; echo \"${ids[*]}\" ); \necho $lst\n# 结果是:1/2/3/4\n```\n\n## 字符串转数组\n\n[懒得写,看范例](https://blog.csdn.net/Jerry_1126/article/details/83930956)\n\n## 字符串替换\n\n```sh\n# 原串 [娱乐,经济,重要] => 目标串 [娱乐, 经济, 重要]\n${tags/,/, } # 只替换了一个,结果变成 [娱乐, 经济,重要]\n${tags//,/, } # 替换了所有符合的,结果变成 [娱乐, 经济, 重要]\n# 原串 [重要] => 目标串 重要\n${tags//[\\[\\] ]/}\n```\n\n### 消除回车符、换行符、制表符\n\n```sh\n# arg是个字符串变量, 可能带有回车符\\r\n# 把它整个作为参数使用会带来很多麻烦。用以下命令将其替换掉\nnewvar=${arg//[$'\\t\\r\\n']/}\n```\n\n\n\n## 详细用法\n\n[参考文献](https://blog.csdn.net/ljianhui/article/details/43128465)\n\n1. `${var##*/}`\n该命令的作用是去掉变量var从左边算起的最后一个'/'字符及其左边的内容,返回从左边算起的最后一个'/'(不含该字符)的右边的内容。使用例子及结果如下:\n\n```sh\nvar=dir1/dir2/file.txt \n--> file.txt\n```\n\n从运行结果可以看到,使用该命令,可以提取出我们需要的文件名*file.txt*。\n\n若使用时在shell程序文件中,可以使用变量来保存这个结果,再加以利用,如file=`${var##*/}`\n\n2. `${var##*.}`\n该命令的作用是去掉变量var从左边算起的最后一个'.'字符及其左边的内容,返回从左边算起的最后一个'.'(不含该字符)的右边的内容。使用例子及结果如下:\n\n```sh\nvar=dir1/dir2/file.txt \n--> txt\n```\n\n从运行结果可以看到,使用该命令,可以提取出我们需要的文件后缀。\n\n如果文件的后缀不仅有一个,例如,file.tar.gz,命令`${var##*.}`仅能提取最后一个后缀,而我想提取tar.gz时该怎么办?那么就要用下面所说的`${var#*.}`命令了。\n\n3. `${var#*.}`\n该命令的作用是去掉变量var从左边算起的第一个'.'字符及其左边的内容,返回从左边算起第一个'.'(不含该字符)的右边部分的内容。使用例子及结果如下:\n\n```sh\nvar=dir1/dir2/file.tar.gz \n--> tar.gz\n```\n\n从运行结果可以看到,使用该命令,可以提取出文件的多个后缀。\n\n4. `${var%/*}`\n 该命令的使用是去掉变量var从右边算起的第一个'/'字符及其右边的内容,返回从右边算起的第一个'/'(不含该字符)的左边的内容。使用例子及结果如下:\n\n```sh\nvar=dir1/dir2/file.txt \n--> dir1/dir2\n```\n\n\n\n从运行的结果可以看到,使用该命令,可以提取出我们需要的文件所在的目录\n\n5. `${var%%.*}`\n该命令的使用是去掉变量var从右边算起的最后一个'.'字符及其右边的内容,返回从右边算起的最后一个'.'(不含该字符)的左边的内容。使用例子及结果如下:\n\n```sh\nvar=dir1/dir2/file.txt \n--> dir1/dir2/file\n```\n\n当我们需要建立一个与文件名相同名字(没有后缀)的目录与对应的文件相对应时,就可以使用该命令来进行操作。例如,解压文件的情况就与此类似,我们压缩文件file.zip时,会在与file.zip同级目录下建立一个名为file的目录。\n\n6. 总结\n\n 其实${}并不是专门为提取文件名或目录名的,它的使用是变量的提取和替换等等操作,它可以提取非常多的内容,并不一定是上面五个例子中的'/'或'.'。也就是说,上面的使用方法只是它使用的一个特例。\n\n\n\n看到上面的这些命令,可能会让人感到非常难以理解和记忆,其实不然,它们都是有规律的。\n\n- \\#:表示从左边算起第一个\n\n- %:表示从右边算起第一个\n\n- \\##:表示从左边算起最后一个\n\n- %%:表示从右边算起最后一个\n\n换句话来说,#总是表示左边算起,%总是表示右边算起。\n\n*:表示要删除的内容,对于#和##的情况,它位于指定的字符(例子中的'/'和'.')的左边,表于删除指定字符及其左边的内容;对于%和%%的情况,它位于指定的字符(例子中的'/'和'.')的右边,表示删除指定字符及其右边的内容。这里的'*'的位置不能互换,即不能把*号放在#或##的右边,反之亦然。\n\n例如:`${var%%x*}`表示找出从右边算起最后一个字符x,并删除字符x及其右边的字符。\n\n看到这里,就可以知道,其实该命令的用途非常广泛,上面只是指针文件名和目录名的命名特性来进行提取的一些特例而已。\n\n## basename和dirname\n\n`${}`并不是专门为提取文件名和目录名设计的命令,那么`basename`和`dirname`命令就是专门为做这一件事而已准备的了。\n\n1. `basename`\n 该命令的作用是从路径中提取出文件名,使用方法为basename NAME [SUFFIX]。\n\n 1.1 从路径中提出出文件名(带后缀),例子如下:\n\n 1.2 从上面命令的用法中可以看到,后缀(SUFFIX)是一个可选项。所以,若只想提取出文件名file,而不带有后缀,还可以在变量的后面加上后缀名,例子如下:\n\n\n2. `dirname`\n该命令的作用是从路径中提取出目录名,使用方法为 dirname NAME。使用例子如下:\n\n这样就提取出了file.txt文件所在的目录。\n\n注:该命令不仅能提取出普通文件所的目录,它能提取出任何文件所在的目录,例如目录所在的目录,如下:\n\n它提取出了目录dir2所在的目录dir1.\n\n---------------------\n\n\n\n# 查看硬盘剩余空间\n\n```sh\n# 整个硬盘空间\ndf -hl\n# 查看某个文件夹大小\ndu -h your_directory # 列出每个子文件夹大小\ndu -hcs your_directory # 汇总\n```\n\n\n\n## 查看 package 版本\n\n```sh\napt-cache show packagename\n```\n\n\n\n# Windwos 下的脚本\n\nwindows 下显示环境变量\n\n`echo %http_proxy%`\n\nwindows 下设置代理服务器\n$$\n\n$$\n\n```sh\nset http_proxy=http://username:pwd$$$@proxy-rzf:8080\nset https_proxy=http://username:pwd$$$@proxy-rzf:8080\n```\n\n","slug":"IT/Tools/有用的shell命令","published":1,"updated":"2019-08-14T13:12:36.000Z","_id":"cka1y599o004i4huuvxxo90p7","comments":1,"layout":"post","photos":[],"link":"","content":"在线网站可以找到基本的东西:Linux命令大全 shell 正则表达式
\n文件&内容检索 \n正则表达式注意的地方 \n\n花括号之前要加转义字符 [a-z]\\{3\\}
\n空格就是转义加空格\\
,而不是\\s
。如 [a-z0-9_\\ ]\\{3,\\}
\n这几个符号 _ - . #
都不需要加转义符。 \n不要轻易加==行结束符==$,可能回车才是最后符号,所以可能找不到。 \n \n \ngrep \n1 2 3 4 5 6 7 8 9 10 grep $begrif $directory $args |awk '{ print \"[\" $1 \"](\" $1 \")\\n\" }' > suchergebnisse.md sed -i -- 's/\\/D\\//D:\\/\\//g' suchergebnisse.md echo \"Fertig! Ergebnisse siehe Datei 'suchergebnisse.md'\" read
\n更多参数请读此文 示例脚本
\ngrep
正则表达式的例子
\n1 2 3 4 5 6 7 8 9 10 11 #!bin/bash result=$(grep '{#part0000_split_[0-9]\\{3\\}.html[a-z0-9_\\ -.#]\\{3,\\}calibre13}' 文件名) if [ \"$result \" = \"\" ];then \techo \"Nichts gefunden!\" fi echo $result read
\ngrep或操作
\n1 2 3 grep -E '123|abc' filename // 找出文件(filename)中包含123或者包含abc的行 egrep '123|abc' filename // 用egrep同样可以实现 awk '/123|abc/' filename // awk 的实现方式
\ngrep与操作
\n1 grep pattern1 files | grep pattern2 //显示既匹配 pattern1 又匹配 pattern2 的行。
\n其它常用选项
\n1 2 3 4 5 grep -i pattern files //不区分大小写地搜索。默认情况区分大小写, grep -l pattern files //只列出匹配的文件名, grep -L pattern files //列出不匹配的文件名, grep -w pattern files //只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’), grep -C number pattern files //匹配的上下文分别显示[number]行,
\n\nsed 命令 \n参考文献
\n文本替代 \n以下文本替换通过pandoc
导入后的文件,残留很多内部跳转链接:如
\n \n1 2 3 4 5 6 7 8 9 10 #!bin/bash echo runningsed -i -- 's/^\\[\\]{#part0000_split_[0-9]\\{3\\}.html}$//g' ../Linux_shell_Anleitung.md sed -i -- 's/{#part0000_split_[0-9]\\{3\\}.html#[a-z0-9_-]\\+ .[a-z0-9_-]\\+}//g' ../Linux_shell_Anleitung.md echo fertig!read
\n整行替代 \n参考文献
\n替代以 categories:
开头的整行(允许行开头有空格或制表符)。c
代表整行,以字符串 categories: [IE] 替代整行。
\n1 2 3 4 sed -i -- '/^[[:blank:]]*categories:/c categories: [IE]' result.txt sed -i '' 's/^[[:blank:]]*tags:.*/tags: [心理]/' $1
\n错误:如果将参数 c
写在前面,会将整个文本每一行都替换掉。
\n1 2 sed -i -- 'c/^[[:blank:]]*categories:/categories: [IE]/' result.txt
\nfind \n1 2 3 4 find /root/bibliothek/markdowns/blog_posts/ -type f -name \"*.md\" find . -type f -mtime -1d
\n如果要处理复杂的事情,就要用到函数
\n1 2 3 4 5 6 7 8 9 showFileInfo (){ echo $1 } export -f showFileInfofind $dirPath -name \"*.md\" | xargs -n 1 -P 10 -I {} bash -c 'showFileInfo \"$@\"' _ {} \\;
\n查找最新文件 \n\n字符串处理 \n字符串处理参考文献 将分隔符的字符串转为数组的几种方法
\n配合使用,可以直接用 shell 实现文件内标签和分类的替换。
\n数组转字符串 \n使用分隔符将数组转字符串:
\n1 2 3 4 ids=(1 2 3 4); lst=$( IFS='/' ; echo \"${ids[*]} \" ); echo $lst
\n字符串转数组 \n懒得写,看范例
\n字符串替换 \n1 2 3 4 5 ${tags/,/, } ${tags//,/, } ${tags//[\\[\\] ]/}
\n消除回车符、换行符、制表符 \n1 2 3 newvar=${arg//[$'\\t\\r\\n']/}
\n详细用法 \n参考文献
\n\n${var##*/}
\n该命令的作用是去掉变量var从左边算起的最后一个’/‘字符及其左边的内容,返回从左边算起的最后一个’/’(不含该字符)的右边的内容。使用例子及结果如下: \n \n1 2 var=dir1/dir2/file.txt --> file.txt
\n从运行结果可以看到,使用该命令,可以提取出我们需要的文件名file.txt 。
\n若使用时在shell程序文件中,可以使用变量来保存这个结果,再加以利用,如file=${var##*/}
\n\n${var##*.}
\n该命令的作用是去掉变量var从左边算起的最后一个’.‘字符及其左边的内容,返回从左边算起的最后一个’.’(不含该字符)的右边的内容。使用例子及结果如下: \n \n1 2 var=dir1/dir2/file.txt --> txt
\n从运行结果可以看到,使用该命令,可以提取出我们需要的文件后缀。
\n如果文件的后缀不仅有一个,例如,file.tar.gz,命令${var##*.}
仅能提取最后一个后缀,而我想提取tar.gz时该怎么办?那么就要用下面所说的${var#*.}
命令了。
\n\n${var#*.}
\n该命令的作用是去掉变量var从左边算起的第一个’.‘字符及其左边的内容,返回从左边算起第一个’.’(不含该字符)的右边部分的内容。使用例子及结果如下: \n \n1 2 var=dir1/dir2/file.tar.gz --> tar.gz
\n从运行结果可以看到,使用该命令,可以提取出文件的多个后缀。
\n\n${var%/*}
\n该命令的使用是去掉变量var从右边算起的第一个’/‘字符及其右边的内容,返回从右边算起的第一个’/’(不含该字符)的左边的内容。使用例子及结果如下: \n \n1 2 var=dir1/dir2/file.txt --> dir1/dir2
\n从运行的结果可以看到,使用该命令,可以提取出我们需要的文件所在的目录
\n\n${var%%.*}
\n该命令的使用是去掉变量var从右边算起的最后一个’.‘字符及其右边的内容,返回从右边算起的最后一个’.’(不含该字符)的左边的内容。使用例子及结果如下: \n \n1 2 var=dir1/dir2/file.txt --> dir1/dir2/file
\n当我们需要建立一个与文件名相同名字(没有后缀)的目录与对应的文件相对应时,就可以使用该命令来进行操作。例如,解压文件的情况就与此类似,我们压缩文件file.zip时,会在与file.zip同级目录下建立一个名为file的目录。
\n\n总结 \n \n其实${}并不是专门为提取文件名或目录名的,它的使用是变量的提取和替换等等操作,它可以提取非常多的内容,并不一定是上面五个例子中的’/‘或’.’。也就是说,上面的使用方法只是它使用的一个特例。
\n看到上面的这些命令,可能会让人感到非常难以理解和记忆,其实不然,它们都是有规律的。
\n\n\n#:表示从左边算起第一个
\n \n\n%:表示从右边算起第一个
\n \n\n##:表示从左边算起最后一个
\n \n\n%%:表示从右边算起最后一个
\n \n \n换句话来说,#总是表示左边算起,%总是表示右边算起。
\n*:表示要删除的内容,对于#和##的情况,它位于指定的字符(例子中的’/‘和’.’)的左边,表于删除指定字符及其左边的内容;对于%和%%的情况,它位于指定的字符(例子中的’/‘和’.’)的右边,表示删除指定字符及其右边的内容。这里的’'的位置不能互换,即不能把 号放在#或##的右边,反之亦然。
\n例如:${var%%x*}
表示找出从右边算起最后一个字符x,并删除字符x及其右边的字符。
\n看到这里,就可以知道,其实该命令的用途非常广泛,上面只是指针文件名和目录名的命名特性来进行提取的一些特例而已。
\nbasename和dirname \n${}
并不是专门为提取文件名和目录名设计的命令,那么basename
和dirname
命令就是专门为做这一件事而已准备的了。
\n\nbasename
\n该命令的作用是从路径中提取出文件名,使用方法为basename NAME [SUFFIX]。 \n \n1.1 从路径中提出出文件名(带后缀),例子如下:
\n1.2 从上面命令的用法中可以看到,后缀(SUFFIX)是一个可选项。所以,若只想提取出文件名file,而不带有后缀,还可以在变量的后面加上后缀名,例子如下:
\n\ndirname
\n该命令的作用是从路径中提取出目录名,使用方法为 dirname NAME。使用例子如下: \n \n这样就提取出了file.txt文件所在的目录。
\n注:该命令不仅能提取出普通文件所的目录,它能提取出任何文件所在的目录,例如目录所在的目录,如下:
\n它提取出了目录dir2所在的目录dir1.
\n \n查看硬盘剩余空间 \n1 2 3 4 5 df -hl du -h your_directory du -hcs your_directory
\n查看 package 版本 \n1 apt-cache show packagename
\nWindwos 下的脚本 \nwindows 下显示环境变量
\necho %http_proxy%
\nwindows 下设置代理服务器 \n$$
\n$$
\n1 2 set http_proxy=http://username:pwd $$$@proxy -rzf:8080set https_proxy=http://username:pwd $$$@proxy -rzf:8080
\n","site":{"data":{}},"excerpt":"在线网站可以找到基本的东西:Linux命令大全 shell 正则表达式
\n文件&内容检索 \n正则表达式注意的地方 \n\n花括号之前要加转义字符 [a-z]\\{3\\}
\n空格就是转义加空格\\
,而不是\\s
。如 [a-z0-9_\\ ]\\{3,\\}
\n这几个符号 _ - . #
都不需要加转义符。 \n不要轻易加==行结束符==$,可能回车才是最后符号,所以可能找不到。 \n ","more":"grep \n\n更多参数请读此文 示例脚本
\ngrep
正则表达式的例子
\n\ngrep或操作
\n\ngrep与操作
\n\n其它常用选项
\n\n\nsed 命令 \n参考文献
\n文本替代 \n以下文本替换通过pandoc
导入后的文件,残留很多内部跳转链接:如
\n\n\n整行替代 \n参考文献
\n替代以 categories:
开头的整行(允许行开头有空格或制表符)。c
代表整行,以字符串 categories: [IE] 替代整行。
\n\n错误:如果将参数 c
写在前面,会将整个文本每一行都替换掉。
\n\nfind \n\n如果要处理复杂的事情,就要用到函数
\n\n查找最新文件 \n\n字符串处理 \n字符串处理参考文献 将分隔符的字符串转为数组的几种方法
\n配合使用,可以直接用 shell 实现文件内标签和分类的替换。
\n数组转字符串 \n使用分隔符将数组转字符串:
\n\n字符串转数组 \n懒得写,看范例
\n字符串替换 \n\n消除回车符、换行符、制表符 \n\n详细用法 \n参考文献
\n\n${var##*/}
\n该命令的作用是去掉变量var从左边算起的最后一个’/‘字符及其左边的内容,返回从左边算起的最后一个’/’(不含该字符)的右边的内容。使用例子及结果如下: \n \n\n从运行结果可以看到,使用该命令,可以提取出我们需要的文件名file.txt 。
\n若使用时在shell程序文件中,可以使用变量来保存这个结果,再加以利用,如file=${var##*/}
\n\n${var##*.}
\n该命令的作用是去掉变量var从左边算起的最后一个’.‘字符及其左边的内容,返回从左边算起的最后一个’.’(不含该字符)的右边的内容。使用例子及结果如下: \n \n\n从运行结果可以看到,使用该命令,可以提取出我们需要的文件后缀。
\n如果文件的后缀不仅有一个,例如,file.tar.gz,命令${var##*.}
仅能提取最后一个后缀,而我想提取tar.gz时该怎么办?那么就要用下面所说的${var#*.}
命令了。
\n\n${var#*.}
\n该命令的作用是去掉变量var从左边算起的第一个’.‘字符及其左边的内容,返回从左边算起第一个’.’(不含该字符)的右边部分的内容。使用例子及结果如下: \n \n\n从运行结果可以看到,使用该命令,可以提取出文件的多个后缀。
\n\n${var%/*}
\n该命令的使用是去掉变量var从右边算起的第一个’/‘字符及其右边的内容,返回从右边算起的第一个’/’(不含该字符)的左边的内容。使用例子及结果如下: \n \n\n从运行的结果可以看到,使用该命令,可以提取出我们需要的文件所在的目录
\n\n${var%%.*}
\n该命令的使用是去掉变量var从右边算起的最后一个’.‘字符及其右边的内容,返回从右边算起的最后一个’.’(不含该字符)的左边的内容。使用例子及结果如下: \n \n\n当我们需要建立一个与文件名相同名字(没有后缀)的目录与对应的文件相对应时,就可以使用该命令来进行操作。例如,解压文件的情况就与此类似,我们压缩文件file.zip时,会在与file.zip同级目录下建立一个名为file的目录。
\n\n总结 \n \n其实${}并不是专门为提取文件名或目录名的,它的使用是变量的提取和替换等等操作,它可以提取非常多的内容,并不一定是上面五个例子中的’/‘或’.’。也就是说,上面的使用方法只是它使用的一个特例。
\n看到上面的这些命令,可能会让人感到非常难以理解和记忆,其实不然,它们都是有规律的。
\n\n\n#:表示从左边算起第一个
\n \n\n%:表示从右边算起第一个
\n \n\n##:表示从左边算起最后一个
\n \n\n%%:表示从右边算起最后一个
\n \n \n换句话来说,#总是表示左边算起,%总是表示右边算起。
\n*:表示要删除的内容,对于#和##的情况,它位于指定的字符(例子中的’/‘和’.’)的左边,表于删除指定字符及其左边的内容;对于%和%%的情况,它位于指定的字符(例子中的’/‘和’.’)的右边,表示删除指定字符及其右边的内容。这里的’'的位置不能互换,即不能把 号放在#或##的右边,反之亦然。
\n例如:${var%%x*}
表示找出从右边算起最后一个字符x,并删除字符x及其右边的字符。
\n看到这里,就可以知道,其实该命令的用途非常广泛,上面只是指针文件名和目录名的命名特性来进行提取的一些特例而已。
\nbasename和dirname \n${}
并不是专门为提取文件名和目录名设计的命令,那么basename
和dirname
命令就是专门为做这一件事而已准备的了。
\n\nbasename
\n该命令的作用是从路径中提取出文件名,使用方法为basename NAME [SUFFIX]。 \n \n1.1 从路径中提出出文件名(带后缀),例子如下:
\n1.2 从上面命令的用法中可以看到,后缀(SUFFIX)是一个可选项。所以,若只想提取出文件名file,而不带有后缀,还可以在变量的后面加上后缀名,例子如下:
\n\ndirname
\n该命令的作用是从路径中提取出目录名,使用方法为 dirname NAME。使用例子如下: \n \n这样就提取出了file.txt文件所在的目录。
\n注:该命令不仅能提取出普通文件所的目录,它能提取出任何文件所在的目录,例如目录所在的目录,如下:
\n它提取出了目录dir2所在的目录dir1.
\n \n查看硬盘剩余空间 \n\n查看 package 版本 \n\nWindwos 下的脚本 \nwindows 下显示环境变量
\necho %http_proxy%
\nwindows 下设置代理服务器 \n$$
\n$$
\n"},{"title":"用TypeScript编写JS函数库","date":"2019-08-16T20:15:28.000Z","urlname":"TypeScript-build-JS-Package","toc":true,"_content":"\n本文具体介绍如何用TypeScript编写JavaScript库文件,以及制作npm工具包。主要参考下面两篇文章。我也省却一步步解释,只罗列相关的代码和我遇到的坑。想知道代码含义的请参阅原帖\n\n- [TypeScript第一步](http://imzc.me/dev/2016/11/22/getting-start-with-typescript/)\n- [如何使用Gulp构建TypeScript](https://www.gowhich.com/blog/869)\n- [从Javascript迁移到Typescript](https://zhongsp.gitbooks.io/typescript-handbook/doc/handbook/tutorials/Migrating%20from%20JavaScript.html) *只看相关的那一章就可以*\n\n\n\n\n# 安装 TypeScript\n\n终端执行 `npm install typescript -g` \n\n```sh\n$ tsc --version\nVersion 3.5.3\n```\n\n# 创建工程\n\n1. 初始化项目\n\n```sh\nmkdir typescript_demo && cd typescript_demo\nnpm init -y # 初始化项目,会生成 package.json 文件\n```\n\n2. 安装Gulp, 并在项目根目录下新建 `gulpfile.js` 文件\n\n```sh\nnpm install gulp-cli gulp typescript gulp-typescript --save-dev\n```\n\n3. 在命令行中执行 `tsc --init` 可以在当前目录中快速创建一个 tsconfig.json 文件。\n\n4. 安装 Browserify :目的是把所有**ts**文件打包成一个单一的**js**文件。\n\n```sh\nnpm install browserify tsify vinyl-source-stream --save-dev\n```\n\n5. Watchify、Babel和Uglify :目的是让编译器保持运行,无需每次修改手动编译。\n\nnpm install watchify gulp-util --save-dev\n\n```sh\nnpm install watchify gulp-util --save-dev\n```\n\n6. 安装 Uglify : 将输出文件 bundle.js 压缩\n\n```sh\nnpm install gulp-uglify vinyl-buffer gulp-sourcemaps --save-dev\n```\n\n7. Babel :允许按新标准**ES6**编写代码,而最终会编译**es05**标准,兼容低版本浏览器。\n\n```sh\nnpm install babelify babel-core babel-preset-env vinyl-buffer gulp-sourcemaps --save-dev\n```\n\n:bangbang: 安装中出现了错误, 显示babelify 版本太低. 将命令改为 `npm install babelify@8` 就能顺利进行下去了.\n\n\n\n\n8. 编写主文件 `src/main.ts` (*名字随便起*),在 `package.json` 中改为 $ \"main\": \"./dist/main.js\", $。创建两文件夹 `src` 和 `dist`,分别放置原文件和编译后的文件。为演示调用,再新建一个 `src/greet.ts` 文件\n\n ```typescript\n # src/greet.ts\n declare function require(path: string): any;\n \n export function sayHello(name: string) {\n console.log(ln)\n return `Hallo von ${name}`;\n }\n ```\n\n ```typescript\n # src/main.ts\n import { sayHello } from \"./greet\";\n \n function showHello(idName: string, name: string) {\n const elt = document.getElementById(idName);\n elt.innerText = sayHello(name);\n }\n \n showHello(\"greeting\", \"TypeScript\");\n ```\n\n9. 新建 `src/index.html` \n\n```html\n\n\n \n \n Hello World! \n \n \n Loading ...
\n \n \n\n```\n\n10. 修改 `gulpfile.js` \n\n```javascript\nconst gulp = require(\"gulp\");\nconst browserify = require(\"browserify\");\nconst source = require('vinyl-source-stream');\nconst tsify = require(\"tsify\");\nconst watchify = require(\"watchify\");\nconst gutil = require(\"gulp-util\");\nconst uglify = require('gulp-uglify');\nconst sourcemaps = require('gulp-sourcemaps');\nconst buffer = require('vinyl-buffer');\nconst paths = {\n pages: ['src/*.html']\n};\n\nconst watchedBrowserify = watchify(browserify({\n basedir: '.',\n debug: true,\n entries: ['src/main.ts'],\n cache: {},\n packageCache: {}\n}).plugin(tsify));\n\ngulp.task(\"copy-html\", function () {\n return gulp.src(paths.pages)\n .pipe(gulp.dest(\"dist\"));\n})\n\nfunction browserifyBundle() {\n return watchedBrowserify\n .transform('babelify', {\n presets: ['env'],\n extensions: ['.ts']\n })\n .bundle()\n .pipe(source('bundle.js'))\n .pipe(buffer())\n .pipe(sourcemaps.init({\n loadMaps: true\n }))\n .pipe(uglify())\n .pipe(sourcemaps.write('./'))\n .pipe(gulp.dest(\"dist\"));\n}\n\ngulp.task(\"browserify\", function () {\n return browserifyBundle();\n})\n\ngulp.task(\"default\", gulp.series('copy-html', 'browserify'));\nwatchedBrowserify.on(\"update\", browserifyBundle);\nwatchedBrowserify.on(\"log\", gutil.log);\n```\n11. 修改 tsconfig.json\n\n ```json\n {\n \"files\": [\n \"src/*.ts\"\n ],\n \"compilerOptions\": {\n \"noImplicitAny\": true,\n \"target\": \"es2015\"\n }\n }\n ```\n\n12. 编译并在浏览器打开 `dist/index.html`\n\n```sh\n# 通过gulp编译代码\nnpx gulp\n```\n\n> 显示器中会显示 “Hello from TypeScript” 字样。\n\n\n\n我们看到 main.ts 调用了 greet.ts 的函数, 并生成一个 bundle.js 文件, 在 index.html 中被加载使用. \n\n\n\n# 调用JavaScript文件\n\n为了使用以前已经存在的JavaScript库文件, 在 src 下新建一个文件夹 libs 用来存放第三方JavaScript. \n\n> projectRoot\n> ├── src/\n> │ ├── libs/\n> │ │ ├── lunar.js\n> │ ├── main.ts\n> │ └── greet.ts\n> │ \n> ├── dist/\n> └── tsconfig.json\n\n```javascript\n# src/libs/lunar.js\n\nLunar = {\n Name: \"Dick\",\n sayHallo:function(){\n return 'i am Lunar';\n }\n} \n\nfunction Ab () {\n this.a = 1\n }\n \nAb.prototype.seta = function (num) {\n this.a = num\n }\n \nAb.prototype.geta = function (num) {\n return this.a\n }\n \nexports.Ab = Ab\nexports.Lunar = Lunar;\n\n```\n\n修改 `greet.ts` 文件, 调用 `src/libs/lunar.js` 中的函数和对象\n\n```typescript\ndeclare function require(path: string): any;\n\nvar ln = require(\"./libs/lunar\");\n\nexport function sayHello(name: string) {\n \tln.Ab = 10\n console.log(ln.Ab)\n return `Hallo von ${name}, ${ln.Lunar.Name}`;\n}\n```\n\nTypeScript使用`tsconfig.json`文件管理工程配置,例如想包含哪些文件和进行哪些检查。\n\n```json\n{\n \"compilerOptions\": {\n \t\t\"noImplicitAny\": true, \n //\"outDir\": \"./dist\", //不需要. gulpfile.js 已经处理过了\n \"allowJs\": true,\n \"target\": \"es2015\",\n \"esModuleInterop\": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */\n },\n \"files\": [\n \"src/*.ts\"\n ],\n \"include\": [\n \"./src/**/*.js\"\n ]\n}\n```\n\n\n\n我们看到网页显示 *Hallo von TypeScript, Dick*, 打开chrome的开发者工具, 看到console 中写出 `10`. \n\n\n\n# Unit-Test\n\n[参考:Unit testing node applications with Typescript -- using nocha and chai](https://journal.artfuldev.com/unit-testing-node-applications-with-typescript-using-mocha-and-chai-384ef05f32b2)\n\n1. 安装测试包文件\n\n```sh\nnpm install chai mocha ts-node @types/chai @types/mocha --save-dev\n```\n\n2. 新建一个test目录专门存放测试文件,并新建一个测试文件 `test/ganzhi.spec.ts`\n\n```typescript\nimport { expect } from 'chai';\nimport 'mocha';\n\ndescribe('干支 function', () => {\n\n it('should return hello world', () => {\n const result = 'Hello world!';\n expect(result).to.equal('Hello world!');\n });\n \n });\n```\n\n3. 在 `package.json` 文件中配置测试参数和路径\n\n```json\n{\n \"scripts\": {\n \"test\": \"mocha -r ts-node/register test/**/*.spec.ts\"\n }\n}\n```\n\n4. 运行测试\n\n> $ npm run test\n>\n> \\> huahets@1.0.0 test /Users/mai/Projects/huahets\n>\n> \\> mocha -r ts-node/register test/**/*.spec.ts\n>\n> 干支 function\n>\n> ✓ should return hello world\n>\n> 1 passing (19ms)\n\n\n\n## 错误处理\n\n假设有以下函数调用中`LandMaps.FindCity`会给出一个异常。\n\n```typescript\nvar result = LandMaps.FindCity(\"xx省\", \"xx市\");\nexpect(LandMaps.FindCity.bind(LandMaps, \"err\", \"\")).throw(\"Error Message\") # 或者\nexpect(LandMaps.FindCity.bind(LandMaps, \"err\", \"\")).throw(new Error(\"Error Message\"))\n```\n\n\n\n# 打包\n\n[用 TypeScript 编写函数库](https://www.xuejiayuan.net/blog/27db473912f642d8a5fa0e32af3bb600)\n\n[require.js 官方文档](https://requirejs.org/docs/start.html)\n\n通过上述方式生成的 bundle.js 文件不能被浏览器直接使用。参考上面两个网页提供的方式,可以生成给浏览器用的单一js文件。\n\n1. 新建一个入口文件,将所有接口都连接起来,并统一导出\n\n ```typescript\n # yixue.ts\n import {TYDate, TYLunar} from \"./tylunar\";\n import {GanZhi} from \"./ganzhi\";\n import {ShenSha} from \"./shensha\";\n import {WuXing, FetchWuXing} from \"./wuxing\";\n import {Gua} from './gua'\n import {LandMaps} from \"./landmaps\"\n \n exports.GanZhi = GanZhi\n exports.TYDate = TYDate\n exports.Gua = Gua\n ```\n2. 设置`tsconfig.json`让编译后的文件导出到`dist/cmjs`目录\n\n```json\n{\n \"compilerOptions\": {\n \"target\": \"es5\",\n \"module\": \"commonjs\",\n \"moduleResolution\": \"node\",\n \"outDir\": \"dist/cmjs\",\n \"rootDir\": \"./src\",\n \"declaration\": true,\n \"sourceMap\": true,\n \"lib\": [\"dom\", \"es6\"]\n }\n}\n```\n\n3. 通过命令 tsc 编译\n\n```sh\ntsc -P tsconfig.json\n```\n\n也可以在 package.json 中设定,然后运行 `npm run build:cmjs` 编译。编译后的 yixue.js 文件就是统一入口。\n\n4. yi xue.js 实际就是个目录,我需要将其打包成一个单一文件。 安装 browserify , \n\n```sh\nbrowserify dist/cmjs/base/yixue.js --standalone huahejs -o dist/web/yixue.js\n```\n\n5. 下载 [require.js](https://requirejs.org/docs/start.html), 并放到项目目录中。以下方式将 yixue.js 中的 `class GanZhi` 设为当前网页的一个全局函数。其它函数就可以调用。 \n\n```html\n\n\n \n \n 易学包 \n \n \n 易学包测试
\n \n\n
\n gua
\n \n\n```\n\n6. 在 Node.js 中调用更简单\n\n1. ```javascript\n const {Gua, GanZhi, TYDate} = require(\"./web/yixue\")\n ```\n\n\n\n\n\n\n\n\n需要更详细代码请下载项目:\n\n[演示项目地址](https://gitee.com/maiernte/typescript-build-js-package)","source":"_posts/IT/skill/用Typescript编写JS函数库.md","raw":"---\ntitle: 用TypeScript编写JS函数库\ndate: 2019-08-16 22:15:28\nurlname: TypeScript-build-JS-Package\ntoc: true\ntags: [工具]\ncategories: [IT, skill]\n---\n\n本文具体介绍如何用TypeScript编写JavaScript库文件,以及制作npm工具包。主要参考下面两篇文章。我也省却一步步解释,只罗列相关的代码和我遇到的坑。想知道代码含义的请参阅原帖\n\n- [TypeScript第一步](http://imzc.me/dev/2016/11/22/getting-start-with-typescript/)\n- [如何使用Gulp构建TypeScript](https://www.gowhich.com/blog/869)\n- [从Javascript迁移到Typescript](https://zhongsp.gitbooks.io/typescript-handbook/doc/handbook/tutorials/Migrating%20from%20JavaScript.html) *只看相关的那一章就可以*\n\n\n\n\n# 安装 TypeScript\n\n终端执行 `npm install typescript -g` \n\n```sh\n$ tsc --version\nVersion 3.5.3\n```\n\n# 创建工程\n\n1. 初始化项目\n\n```sh\nmkdir typescript_demo && cd typescript_demo\nnpm init -y # 初始化项目,会生成 package.json 文件\n```\n\n2. 安装Gulp, 并在项目根目录下新建 `gulpfile.js` 文件\n\n```sh\nnpm install gulp-cli gulp typescript gulp-typescript --save-dev\n```\n\n3. 在命令行中执行 `tsc --init` 可以在当前目录中快速创建一个 tsconfig.json 文件。\n\n4. 安装 Browserify :目的是把所有**ts**文件打包成一个单一的**js**文件。\n\n```sh\nnpm install browserify tsify vinyl-source-stream --save-dev\n```\n\n5. Watchify、Babel和Uglify :目的是让编译器保持运行,无需每次修改手动编译。\n\nnpm install watchify gulp-util --save-dev\n\n```sh\nnpm install watchify gulp-util --save-dev\n```\n\n6. 安装 Uglify : 将输出文件 bundle.js 压缩\n\n```sh\nnpm install gulp-uglify vinyl-buffer gulp-sourcemaps --save-dev\n```\n\n7. Babel :允许按新标准**ES6**编写代码,而最终会编译**es05**标准,兼容低版本浏览器。\n\n```sh\nnpm install babelify babel-core babel-preset-env vinyl-buffer gulp-sourcemaps --save-dev\n```\n\n:bangbang: 安装中出现了错误, 显示babelify 版本太低. 将命令改为 `npm install babelify@8` 就能顺利进行下去了.\n\n\n\n\n8. 编写主文件 `src/main.ts` (*名字随便起*),在 `package.json` 中改为 $ \"main\": \"./dist/main.js\", $。创建两文件夹 `src` 和 `dist`,分别放置原文件和编译后的文件。为演示调用,再新建一个 `src/greet.ts` 文件\n\n ```typescript\n # src/greet.ts\n declare function require(path: string): any;\n \n export function sayHello(name: string) {\n console.log(ln)\n return `Hallo von ${name}`;\n }\n ```\n\n ```typescript\n # src/main.ts\n import { sayHello } from \"./greet\";\n \n function showHello(idName: string, name: string) {\n const elt = document.getElementById(idName);\n elt.innerText = sayHello(name);\n }\n \n showHello(\"greeting\", \"TypeScript\");\n ```\n\n9. 新建 `src/index.html` \n\n```html\n\n\n \n \n Hello World! \n \n \n Loading ...
\n \n \n\n```\n\n10. 修改 `gulpfile.js` \n\n```javascript\nconst gulp = require(\"gulp\");\nconst browserify = require(\"browserify\");\nconst source = require('vinyl-source-stream');\nconst tsify = require(\"tsify\");\nconst watchify = require(\"watchify\");\nconst gutil = require(\"gulp-util\");\nconst uglify = require('gulp-uglify');\nconst sourcemaps = require('gulp-sourcemaps');\nconst buffer = require('vinyl-buffer');\nconst paths = {\n pages: ['src/*.html']\n};\n\nconst watchedBrowserify = watchify(browserify({\n basedir: '.',\n debug: true,\n entries: ['src/main.ts'],\n cache: {},\n packageCache: {}\n}).plugin(tsify));\n\ngulp.task(\"copy-html\", function () {\n return gulp.src(paths.pages)\n .pipe(gulp.dest(\"dist\"));\n})\n\nfunction browserifyBundle() {\n return watchedBrowserify\n .transform('babelify', {\n presets: ['env'],\n extensions: ['.ts']\n })\n .bundle()\n .pipe(source('bundle.js'))\n .pipe(buffer())\n .pipe(sourcemaps.init({\n loadMaps: true\n }))\n .pipe(uglify())\n .pipe(sourcemaps.write('./'))\n .pipe(gulp.dest(\"dist\"));\n}\n\ngulp.task(\"browserify\", function () {\n return browserifyBundle();\n})\n\ngulp.task(\"default\", gulp.series('copy-html', 'browserify'));\nwatchedBrowserify.on(\"update\", browserifyBundle);\nwatchedBrowserify.on(\"log\", gutil.log);\n```\n11. 修改 tsconfig.json\n\n ```json\n {\n \"files\": [\n \"src/*.ts\"\n ],\n \"compilerOptions\": {\n \"noImplicitAny\": true,\n \"target\": \"es2015\"\n }\n }\n ```\n\n12. 编译并在浏览器打开 `dist/index.html`\n\n```sh\n# 通过gulp编译代码\nnpx gulp\n```\n\n> 显示器中会显示 “Hello from TypeScript” 字样。\n\n\n\n我们看到 main.ts 调用了 greet.ts 的函数, 并生成一个 bundle.js 文件, 在 index.html 中被加载使用. \n\n\n\n# 调用JavaScript文件\n\n为了使用以前已经存在的JavaScript库文件, 在 src 下新建一个文件夹 libs 用来存放第三方JavaScript. \n\n> projectRoot\n> ├── src/\n> │ ├── libs/\n> │ │ ├── lunar.js\n> │ ├── main.ts\n> │ └── greet.ts\n> │ \n> ├── dist/\n> └── tsconfig.json\n\n```javascript\n# src/libs/lunar.js\n\nLunar = {\n Name: \"Dick\",\n sayHallo:function(){\n return 'i am Lunar';\n }\n} \n\nfunction Ab () {\n this.a = 1\n }\n \nAb.prototype.seta = function (num) {\n this.a = num\n }\n \nAb.prototype.geta = function (num) {\n return this.a\n }\n \nexports.Ab = Ab\nexports.Lunar = Lunar;\n\n```\n\n修改 `greet.ts` 文件, 调用 `src/libs/lunar.js` 中的函数和对象\n\n```typescript\ndeclare function require(path: string): any;\n\nvar ln = require(\"./libs/lunar\");\n\nexport function sayHello(name: string) {\n \tln.Ab = 10\n console.log(ln.Ab)\n return `Hallo von ${name}, ${ln.Lunar.Name}`;\n}\n```\n\nTypeScript使用`tsconfig.json`文件管理工程配置,例如想包含哪些文件和进行哪些检查。\n\n```json\n{\n \"compilerOptions\": {\n \t\t\"noImplicitAny\": true, \n //\"outDir\": \"./dist\", //不需要. gulpfile.js 已经处理过了\n \"allowJs\": true,\n \"target\": \"es2015\",\n \"esModuleInterop\": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */\n },\n \"files\": [\n \"src/*.ts\"\n ],\n \"include\": [\n \"./src/**/*.js\"\n ]\n}\n```\n\n\n\n我们看到网页显示 *Hallo von TypeScript, Dick*, 打开chrome的开发者工具, 看到console 中写出 `10`. \n\n\n\n# Unit-Test\n\n[参考:Unit testing node applications with Typescript -- using nocha and chai](https://journal.artfuldev.com/unit-testing-node-applications-with-typescript-using-mocha-and-chai-384ef05f32b2)\n\n1. 安装测试包文件\n\n```sh\nnpm install chai mocha ts-node @types/chai @types/mocha --save-dev\n```\n\n2. 新建一个test目录专门存放测试文件,并新建一个测试文件 `test/ganzhi.spec.ts`\n\n```typescript\nimport { expect } from 'chai';\nimport 'mocha';\n\ndescribe('干支 function', () => {\n\n it('should return hello world', () => {\n const result = 'Hello world!';\n expect(result).to.equal('Hello world!');\n });\n \n });\n```\n\n3. 在 `package.json` 文件中配置测试参数和路径\n\n```json\n{\n \"scripts\": {\n \"test\": \"mocha -r ts-node/register test/**/*.spec.ts\"\n }\n}\n```\n\n4. 运行测试\n\n> $ npm run test\n>\n> \\> huahets@1.0.0 test /Users/mai/Projects/huahets\n>\n> \\> mocha -r ts-node/register test/**/*.spec.ts\n>\n> 干支 function\n>\n> ✓ should return hello world\n>\n> 1 passing (19ms)\n\n\n\n## 错误处理\n\n假设有以下函数调用中`LandMaps.FindCity`会给出一个异常。\n\n```typescript\nvar result = LandMaps.FindCity(\"xx省\", \"xx市\");\nexpect(LandMaps.FindCity.bind(LandMaps, \"err\", \"\")).throw(\"Error Message\") # 或者\nexpect(LandMaps.FindCity.bind(LandMaps, \"err\", \"\")).throw(new Error(\"Error Message\"))\n```\n\n\n\n# 打包\n\n[用 TypeScript 编写函数库](https://www.xuejiayuan.net/blog/27db473912f642d8a5fa0e32af3bb600)\n\n[require.js 官方文档](https://requirejs.org/docs/start.html)\n\n通过上述方式生成的 bundle.js 文件不能被浏览器直接使用。参考上面两个网页提供的方式,可以生成给浏览器用的单一js文件。\n\n1. 新建一个入口文件,将所有接口都连接起来,并统一导出\n\n ```typescript\n # yixue.ts\n import {TYDate, TYLunar} from \"./tylunar\";\n import {GanZhi} from \"./ganzhi\";\n import {ShenSha} from \"./shensha\";\n import {WuXing, FetchWuXing} from \"./wuxing\";\n import {Gua} from './gua'\n import {LandMaps} from \"./landmaps\"\n \n exports.GanZhi = GanZhi\n exports.TYDate = TYDate\n exports.Gua = Gua\n ```\n2. 设置`tsconfig.json`让编译后的文件导出到`dist/cmjs`目录\n\n```json\n{\n \"compilerOptions\": {\n \"target\": \"es5\",\n \"module\": \"commonjs\",\n \"moduleResolution\": \"node\",\n \"outDir\": \"dist/cmjs\",\n \"rootDir\": \"./src\",\n \"declaration\": true,\n \"sourceMap\": true,\n \"lib\": [\"dom\", \"es6\"]\n }\n}\n```\n\n3. 通过命令 tsc 编译\n\n```sh\ntsc -P tsconfig.json\n```\n\n也可以在 package.json 中设定,然后运行 `npm run build:cmjs` 编译。编译后的 yixue.js 文件就是统一入口。\n\n4. yi xue.js 实际就是个目录,我需要将其打包成一个单一文件。 安装 browserify , \n\n```sh\nbrowserify dist/cmjs/base/yixue.js --standalone huahejs -o dist/web/yixue.js\n```\n\n5. 下载 [require.js](https://requirejs.org/docs/start.html), 并放到项目目录中。以下方式将 yixue.js 中的 `class GanZhi` 设为当前网页的一个全局函数。其它函数就可以调用。 \n\n```html\n\n\n \n \n 易学包 \n \n \n 易学包测试
\n \n\n
\n gua
\n \n\n```\n\n6. 在 Node.js 中调用更简单\n\n1. ```javascript\n const {Gua, GanZhi, TYDate} = require(\"./web/yixue\")\n ```\n\n\n\n\n\n\n\n\n需要更详细代码请下载项目:\n\n[演示项目地址](https://gitee.com/maiernte/typescript-build-js-package)","slug":"IT/skill/用Typescript编写JS函数库","published":1,"updated":"2019-08-24T11:30:40.000Z","_id":"cka1y599p004j4huucopvbcs0","comments":1,"layout":"post","photos":[],"link":"","content":"本文具体介绍如何用TypeScript编写JavaScript库文件,以及制作npm工具包。主要参考下面两篇文章。我也省却一步步解释,只罗列相关的代码和我遇到的坑。想知道代码含义的请参阅原帖
\n\n \n安装 TypeScript \n终端执行 npm install typescript -g
\n1 2 $ tsc --version Version 3.5.3
\n创建工程 \n\n初始化项目 \n \n1 2 mkdir typescript_demo && cd typescript_demo npm init -y
\n\n安装Gulp, 并在项目根目录下新建 gulpfile.js
文件 \n \n1 npm install gulp-cli gulp typescript gulp-typescript --save-dev
\n\n\n在命令行中执行 tsc --init
可以在当前目录中快速创建一个 tsconfig.json 文件。
\n \n\n安装 Browserify :目的是把所有ts 文件打包成一个单一的js 文件。
\n \n \n1 npm install browserify tsify vinyl-source-stream --save-dev
\n\nWatchify、Babel和Uglify :目的是让编译器保持运行,无需每次修改手动编译。 \n \nnpm install watchify gulp-util --save-dev
\n1 npm install watchify gulp-util --save-dev
\n\n安装 Uglify : 将输出文件 bundle.js 压缩 \n \n1 npm install gulp-uglify vinyl-buffer gulp-sourcemaps --save-dev
\n\nBabel :允许按新标准ES6 编写代码,而最终会编译es05 标准,兼容低版本浏览器。 \n \n1 npm install babelify babel-core babel-preset-env vinyl-buffer gulp-sourcemaps --save-dev
\n:bangbang: 安装中出现了错误, 显示babelify 版本太低. 将命令改为 npm install babelify@8
就能顺利进行下去了.
\n\n\n编写主文件 src/main.ts
(名字随便起 ),在 package.json
中改为 $ “main”: “./dist/main.js”, $。创建两文件夹 src
和 dist
,分别放置原文件和编译后的文件。为演示调用,再新建一个 src/greet.ts
文件
\n1 2 3 4 5 6 7 # src/greet.ts declare function require (path: string ): any ;export function sayHello (name: string ) { console .log(ln) return `Hallo von ${name} ` ; }
\n1 2 3 4 5 6 7 8 9 # src/main.ts import { sayHello } from \"./greet\" ;function showHello (idName: string , name: string ) { const elt = document .getElementById(idName); elt.innerText = sayHello(name); } showHello(\"greeting\" , \"TypeScript\" );
\n \n\n新建 src/index.html
\n \n \n1 2 3 4 5 6 7 8 9 10 11 <!DOCTYPE html> <html > <head > <meta charset =\"UTF-8\" /> <title > Hello World!</title > </head > <body > <p id =\"greeting\" > Loading ...</p > <script src =\"bundle.js\" > </script > </body > </html >
\n\n修改 gulpfile.js
\n \n1 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 const gulp = require (\"gulp\" );const browserify = require (\"browserify\" );const source = require ('vinyl-source-stream' );const tsify = require (\"tsify\" );const watchify = require (\"watchify\" );const gutil = require (\"gulp-util\" );const uglify = require ('gulp-uglify' );const sourcemaps = require ('gulp-sourcemaps' );const buffer = require ('vinyl-buffer' );const paths = { pages: ['src/*.html' ] }; const watchedBrowserify = watchify(browserify({ basedir: '.' , debug: true , entries: ['src/main.ts' ], cache: {}, packageCache: {} }).plugin(tsify)); gulp.task(\"copy-html\" , function ( ) { return gulp.src(paths.pages) .pipe(gulp.dest(\"dist\" )); }) function browserifyBundle ( ) { return watchedBrowserify .transform('babelify' , { presets: ['env' ], extensions: ['.ts' ] }) .bundle() .pipe(source('bundle.js' )) .pipe(buffer()) .pipe(sourcemaps.init({ loadMaps: true })) .pipe(uglify()) .pipe(sourcemaps.write('./' )) .pipe(gulp.dest(\"dist\" )); } gulp.task(\"browserify\" , function ( ) { return browserifyBundle(); }) gulp.task(\"default\" , gulp.series('copy-html' , 'browserify' )); watchedBrowserify.on(\"update\" , browserifyBundle); watchedBrowserify.on(\"log\" , gutil.log);
\n\n\n修改 tsconfig.json
\n1 2 3 4 5 6 7 8 9 { \"files\" : [ \"src/*.ts\" ], \"compilerOptions\" : { \"noImplicitAny\" : true , \"target\" : \"es2015\" } }
\n \n\n编译并在浏览器打开 dist/index.html
\n \n \n \n\n显示器中会显示 “Hello from TypeScript” 字样。
\n \n我们看到 main.ts 调用了 greet.ts 的函数, 并生成一个 bundle.js 文件, 在 index.html 中被加载使用.
\n调用JavaScript文件 \n为了使用以前已经存在的JavaScript库文件, 在 src 下新建一个文件夹 libs 用来存放第三方JavaScript.
\n\nprojectRoot \n├── src/ \n│ ├── libs/ \n│ │ ├── lunar.js \n│ ├── main.ts \n│ └── greet.ts \n│ \n├── dist/ \n└── tsconfig.json
\n \n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 # src/libs/lunar.js Lunar = { Name: \"Dick\" , sayHallo:function ( ) { return 'i am Lunar' ; } } function Ab ( ) { this .a = 1 } Ab.prototype.seta = function (num ) { this .a = num } Ab.prototype.geta = function (num ) { return this .a } exports.Ab = Ab exports.Lunar = Lunar;
\n修改 greet.ts
文件, 调用 src/libs/lunar.js
中的函数和对象
\n1 2 3 4 5 6 7 8 9 declare function require (path: string ): any ;var ln = require (\"./libs/lunar\" );export function sayHello (name: string ) { \tln.Ab = 10 console .log(ln.Ab) return `Hallo von ${name} , ${ln.Lunar.Name} ` ; }
\nTypeScript使用tsconfig.json
文件管理工程配置,例如想包含哪些文件和进行哪些检查。
\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 { \"compilerOptions\" : { \t\t\"noImplicitAny\" : true , //\"outDir\": \"./dist\", //不需要. gulpfile.js 已经处理过了 \"allowJs\": true, \"target\": \"es2015\", \"esModuleInterop\": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ }, \"files\": [ \"src/*.ts\" ], \"include\": [ \"./src/**/*.js\" ] }
\n我们看到网页显示 Hallo von TypeScript, Dick , 打开chrome的开发者工具, 看到console 中写出 10
.
\nUnit-Test \n参考:Unit testing node applications with Typescript – using nocha and chai
\n\n安装测试包文件 \n \n1 npm install chai mocha ts-node @types/chai @types/mocha --save-dev
\n\n新建一个test目录专门存放测试文件,并新建一个测试文件 test/ganzhi.spec.ts
\n \n1 2 3 4 5 6 7 8 9 10 11 import { expect } from 'chai' ;import 'mocha' ;describe('干支 function' , () => { it('should return hello world' , () => { const result = 'Hello world!' ; expect(result).to.equal('Hello world!' ); }); });
\n\n在 package.json
文件中配置测试参数和路径 \n \n1 2 3 4 5 { \"scripts\" : { \"test\" : \"mocha -r ts-node/register test/**/*.spec.ts\" } }
\n\n运行测试 \n \n\n$ npm run test
\n> huahets@1.0.0 test /Users/mai/Projects/huahets
\n> mocha -r ts-node/register test/**/*.spec.ts
\n干支 function
\n ✓ should return hello world
\n1 passing (19ms)
\n \n错误处理 \n假设有以下函数调用中LandMaps.FindCity
会给出一个异常。
\n1 2 3 var result = LandMaps.FindCity(\"xx省\" , \"xx市\" );expect(LandMaps.FindCity.bind(LandMaps, \"err\" , \"\" )).throw(\"Error Message\" ) # 或者 expect(LandMaps.FindCity.bind(LandMaps, \"err\" , \"\" )).throw(new Error (\"Error Message\" ))
\n打包 \n用 TypeScript 编写函数库
\nrequire.js 官方文档
\n通过上述方式生成的 bundle.js 文件不能被浏览器直接使用。参考上面两个网页提供的方式,可以生成给浏览器用的单一js文件。
\n\n新建一个入口文件,将所有接口都连接起来,并统一导出 \n \n 1 2 3 4 5 6 7 8 9 10 11 # yixue.ts import {TYDate, TYLunar} from \"./tylunar\" ;import {GanZhi} from \"./ganzhi\" ;import {ShenSha} from \"./shensha\" ;import {WuXing, FetchWuXing} from \"./wuxing\" ;import {Gua} from './gua' import {LandMaps} from \"./landmaps\" exports.GanZhi = GanZhi exports.TYDate = TYDate exports.Gua = Gua
\n\n设置tsconfig.json
让编译后的文件导出到dist/cmjs
目录 \n \n1 2 3 4 5 6 7 8 9 10 11 12 { \"compilerOptions\" : { \"target\" : \"es5\" , \"module\" : \"commonjs\" , \"moduleResolution\" : \"node\" , \"outDir\" : \"dist/cmjs\" , \"rootDir\" : \"./src\" , \"declaration\" : true , \"sourceMap\" : true , \"lib\" : [\"dom\" , \"es6\" ] } }
\n\n通过命令 tsc 编译 \n \n \n也可以在 package.json 中设定,然后运行 npm run build:cmjs
编译。编译后的 yixue.js 文件就是统一入口。
\n\nyi xue.js 实际就是个目录,我需要将其打包成一个单一文件。 安装 browserify , \n \n1 browserify dist/cmjs/base/yixue.js --standalone huahejs -o dist/web/yixue.js
\n\n下载 require.js , 并放到项目目录中。以下方式将 yixue.js 中的 class GanZhi
设为当前网页的一个全局函数。其它函数就可以调用。 \n \n1 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 <!DOCTYPE html> <html > <head > <meta charset =\"UTF-8\" /> <title > 易学包</title > <script type =\"text/javascript\" src =\"libs/require.js\" > </script > <body > <p id =\"greeting\" > 易学包测试</p > <script > var newGanZhi requirejs([\"web/yixue\" ], function (yixue ) { console .log(yixue) newGanZhi = function (arg ) { return new yixue.GanZhi(arg) } init() }); function init ( ) { console .log(\"init will be called\" ) var ele = document .getElementById(\"gz1\" ) var gz = newGanZhi(1 ) ele.innerText = gz.Name } </script > <div id =\"gz1\" > </div > <div name =\"gua\" > gua</div > </body > </html >
\n\n\n在 Node.js 中调用更简单
\n \n\n1 const {Gua, GanZhi, TYDate} = require (\"./web/yixue\" )
\n \n \n需要更详细代码请下载项目:
\n演示项目地址
\n","site":{"data":{}},"excerpt":"本文具体介绍如何用TypeScript编写JavaScript库文件,以及制作npm工具包。主要参考下面两篇文章。我也省却一步步解释,只罗列相关的代码和我遇到的坑。想知道代码含义的请参阅原帖
\n","more":"安装 TypeScript \n终端执行 npm install typescript -g
\n\n创建工程 \n\n初始化项目 \n \n\n\n安装Gulp, 并在项目根目录下新建 gulpfile.js
文件 \n \n\n\n\n在命令行中执行 tsc --init
可以在当前目录中快速创建一个 tsconfig.json 文件。
\n \n\n安装 Browserify :目的是把所有ts 文件打包成一个单一的js 文件。
\n \n \n\n\nWatchify、Babel和Uglify :目的是让编译器保持运行,无需每次修改手动编译。 \n \nnpm install watchify gulp-util --save-dev
\n\n\n安装 Uglify : 将输出文件 bundle.js 压缩 \n \n\n\nBabel :允许按新标准ES6 编写代码,而最终会编译es05 标准,兼容低版本浏览器。 \n \n\n:bangbang: 安装中出现了错误, 显示babelify 版本太低. 将命令改为 npm install babelify@8
就能顺利进行下去了.
\n\n\n编写主文件 src/main.ts
(名字随便起 ),在 package.json
中改为 $ “main”: “./dist/main.js”, $。创建两文件夹 src
和 dist
,分别放置原文件和编译后的文件。为演示调用,再新建一个 src/greet.ts
文件
\n\n\n \n\n新建 src/index.html
\n \n \n\n\n修改 gulpfile.js
\n \n\n\n\n修改 tsconfig.json
\n\n \n\n编译并在浏览器打开 dist/index.html
\n \n \n\n\n显示器中会显示 “Hello from TypeScript” 字样。
\n \n我们看到 main.ts 调用了 greet.ts 的函数, 并生成一个 bundle.js 文件, 在 index.html 中被加载使用.
\n调用JavaScript文件 \n为了使用以前已经存在的JavaScript库文件, 在 src 下新建一个文件夹 libs 用来存放第三方JavaScript.
\n\nprojectRoot \n├── src/ \n│ ├── libs/ \n│ │ ├── lunar.js \n│ ├── main.ts \n│ └── greet.ts \n│ \n├── dist/ \n└── tsconfig.json
\n \n\n修改 greet.ts
文件, 调用 src/libs/lunar.js
中的函数和对象
\n\nTypeScript使用tsconfig.json
文件管理工程配置,例如想包含哪些文件和进行哪些检查。
\n\n我们看到网页显示 Hallo von TypeScript, Dick , 打开chrome的开发者工具, 看到console 中写出 10
.
\nUnit-Test \n参考:Unit testing node applications with Typescript – using nocha and chai
\n\n安装测试包文件 \n \n\n\n新建一个test目录专门存放测试文件,并新建一个测试文件 test/ganzhi.spec.ts
\n \n\n\n在 package.json
文件中配置测试参数和路径 \n \n\n\n运行测试 \n \n\n$ npm run test
\n> huahets@1.0.0 test /Users/mai/Projects/huahets
\n> mocha -r ts-node/register test/**/*.spec.ts
\n干支 function
\n ✓ should return hello world
\n1 passing (19ms)
\n \n错误处理 \n假设有以下函数调用中LandMaps.FindCity
会给出一个异常。
\n\n打包 \n用 TypeScript 编写函数库
\nrequire.js 官方文档
\n通过上述方式生成的 bundle.js 文件不能被浏览器直接使用。参考上面两个网页提供的方式,可以生成给浏览器用的单一js文件。
\n\n新建一个入口文件,将所有接口都连接起来,并统一导出 \n \n \n\n设置tsconfig.json
让编译后的文件导出到dist/cmjs
目录 \n \n\n\n通过命令 tsc 编译 \n \n\n也可以在 package.json 中设定,然后运行 npm run build:cmjs
编译。编译后的 yixue.js 文件就是统一入口。
\n\nyi xue.js 实际就是个目录,我需要将其打包成一个单一文件。 安装 browserify , \n \n\n\n下载 require.js , 并放到项目目录中。以下方式将 yixue.js 中的 class GanZhi
设为当前网页的一个全局函数。其它函数就可以调用。 \n \n\n\n\n在 Node.js 中调用更简单
\n \n\n\n \n \n需要更详细代码请下载项目:
\n演示项目地址
"},{"title":"MathJax用于易学领域","date":"2019-08-30T08:15:28.000Z","urlname":"mathjax-yixue-usage","toc":true,"mathjax":true,"_content":"\n关于利用 `MathJax` 和 `Katex` 数学公式解释器,实现易学上排六爻盘和八字盘个功能。今天实现了易学上的核心功能。有望将来能添加更多的函数,以便利各位同门以及广大易友。\n\n\n\n### 效果与演示\n\nVIDEO \n无法观看油管的朋友请移步B站:[使用MathJax渲染六爻和八字盘](https://www.bilibili.com/video/av66317810/)\n\n\n\n\n### 安装和使用 \n\n首先,你需要一个支持 Markdown (简称MD) 语言格式的文本编辑器。如果不知道什么是MD的话,请参阅以下介绍:\n\n- [Markdown介绍及使用教程](https://www.jianshu.com/p/7771794c88a1)\n\n- [Markdown - 简单的世界](https://wizardforcel.gitbooks.io/markdown-simple-world/index.html)\n\n- [认识与入门 Markdown](https://sspai.com/post/25137)\n\n\n\nMarkdown 语言**简约而优美**,可以自由转换成pdf、word、Html 等等各种其它格式的文本。可以推送到博客、微信公众号等等。虽然算卦是一个传统的行业,我们仍然不宜**固步自封**。MD语言支持MathJax和Katex书写Latex数学公式,可以写出非常漂亮的数学、物理、化学方面的公式。正式的科技刊物都要求用Latex格式。\n\n\n\n这个易学解决方案是对 MathJax 进行扩展,加入指定的易学公式,让 MathJax 解释器去完成公式渲染。它并不是一个独立的程序。需要构建在已有的MD文本编辑器之上。我使用一个文件夹存放所有的关于易学方面的MD文件,并将这个文件夹同步到 [坚果云](https://www.jianguoyun.com/#/),这样就可以实现多台电脑和移动端之间的同步,而不太需要一个独立的易学软件。甚至可以将MD文件导出为HTML文件,放到我的HEXO博客上(您正在阅读的这篇博文即是例子)。\n\n\n\n理论上所有支持Markdown语言和MathJax的文本编辑器,都可以改装。改装过程需要两段代码和一个库文件。\n\n#### 文本编辑器\n\n##### Typora \n\nTypora 是我个人最钟爱的MD编辑器,因此这里着重介绍。如果你喜欢用别的MD编辑器,比如iAWrte等,理论上可以用同样的方式改装。(无法百分百保证) 有需要的朋友可以私下联系我。\n\n最新的安装教程请参考[华鹤易学平台文档](https://maiernte.gitee.io/huahedocument/chapter6/libinstall.html)\n\n##### VSCode\n\n同样请移步[华鹤易学平台文档](https://maiernte.gitee.io/huahedocument/chapter6/libinstall.html)。那里有详细描述。\n\n\n\n#### Hexo博客\n\n🔔 注意:首先要检查自己的 Hexo 博客使用的渲染器是否默认开启了Katex或者MathJax数学插件。如果有的话需要卸载或者禁用数学插件,如果不能禁用,就必须更换Markdown渲染器。\n\n> 因为系统使用的数学插件会在网页生成之前就改动数学表达,这样无法使用我提供给的函数库。我提供给博客的方案是在浏览网页的时候,即时渲染易学公式。\n\n比如我之前用了 \"hexo-renderer-markdown-it-plus\" 渲染器就是强制使用 Katex 数学渲染的。\n\n```shell\nnpm un hexo-renderer-markdown-it-plus --save // 卸载\nnpm i hexo-renderer-markdown-it --save // 更换\n```\n\n然后将下列代码添加到文件模版就可以了。使用 swig 模版的是在 `/layout/_custom/header.swig` 或者 `/layout/index.swig` 。而使用 ejs 模版的是文件 `/layout/layout.ejs`\n\n```html\n\n\n \n\n\n\n\n\n\n\n```\n\n> 注意搜索 _config.yml 文件,\"math\", \"katex\", \"mathjax\" 等字样,发现有的话把他们禁用。\n\n\n\n#### Gitbook\n\n最新的安装教程请参考[华鹤易学平台文档](https://maiernte.gitee.io/huahedocument/chapter6/libinstall.html)\n\n\n\n### API 参数\n\n使用易学函数库非常简单,在经过改装的Markdown编辑器中,输入易学公式,并用两个 `$` 符号将公式前后围起来即可。MD语言一般默认两个 `$` 符号之间的文本是数学公式,它会调用MathJax对公式进行渲染。否则,它会认为这是普通文本,而不会做任何动作。\n\n#### 易学通用\n\n**命令:纳音** `\\nayin{干支名称}`\n\n【干支名称】 :就是甲子、己卯等六十甲子。\n\n例子1:`\\nayin{戊午}` --> $\\nayin{戊午}$\n\n**命令:干支日历** `\\timegz{时间参数}{年月日}`\n\n【时间参数】 :例如 2020-02-21。\n\n【年月日】 :省略时默认为`111`,即显示年月日。`0`表示不显示,`1`表示显示。\n\n例子1:`\\timegz{2020-02-21}` --> $\\timegz{2020-02-21}$\n\n例子2:`\\timegz{2020-02-21}{011}` --> $\\timegz{2020-02-21}{011}$\n\n\n#### 六爻\n\n**命令:爻符** `\\yao{爻名}`\n\n【爻名】:laoyin, laoyang,shaoyin,shaoyang, x, o, =, -, 交,重,阴,阳,0,1,2,3\n\n例子2:`\\yao{x}` --> $\\yao{x}$\n\n例子3:`\\yao{shaoyin}` --> $\\yao{shaoyin}$\n\n例子4:`\\yao{重}` --> $\\yao{重}$\n\n\n\n **命令:六爻排盘** `\\paigua{时令}{卦辞}{标识}`\n\n其中 【时令】、【卦辞】这两个参数是必须的,**【标识】**参数可以省略。\n\n【时令】允许的格式为:“1980-1-3 08:15”、“2019年3月4日”、“申月戊寅日”\n\n【卦辞】允许的格式为:“解之师”、“离为火”、“--==x-”、“0121100”、“阴阳阴交阴阳”\n\n【标识】由三部分组成:ID号、简排、字符大小。格式为:`guadi/s/5`\n\n- 「ID号」:随便一串字符,空白则默认为“gua1”。:x:不允许只有数字,因为会与参数「字符大小」混淆。如果一个文本出现多个六爻卦,则每个卦都需要指定一个ID号。否则下面的命令[卦爻细节](#guayao)不知道具体指向哪一个卦本。\n- 「简排」:只允许`s` 和 `l`两个英文字符的其中一个。`s` 表示只显示短名,如“妻财”显示为“财”,“青龙”显示为“龙”。`l` 则显示完整名称。留白则按照用户全局设定来显示。(参阅[用户设定](#code2))\n- 「字符大小」:允许 0 - 9 档。数字越大文字越大。默认大小为`5`或者用户的[全局设定](#code2)。\n\n例子5: `$\\paigua{1978年7月1日}{101201}{gua1}$` 效果\n$$\\paigua{1978年7月1日}{101201}{gua1}$$\n\n:pencil2: 如果文章很长,需要在指定位置重新显示一遍卦本,则可以使用重排命令。即让【时令】和【卦辞】两个参数留白,只给出【ID号】。如 `\\paigua{}{}{gua1}` 。留白的参数,仍然需要用大括号括起来,否则解释器会出错。\n\n\n\n **命令:卦爻细节** `\\guayao{标识}{位置}`\n\n使用前提:当前文本中已经排出至少一支六爻卦。\n\n【标识】:与排盘命令的「标识」参数等同。由ID号、简排、字符大小三个部分组成。其中「ID号」标识已经存在的六爻盘。\n\n【位置】:格式为 “ben1”、“fu3”、“bian5” 等,分别表示「本卦初爻」、「伏卦3爻」、「变卦5爻」\n\n\n\n例子6:`\\guayao{gua1}{ben4}` --> $\\guayao{gua1}{ben4}$\n\n> 例子6 中给出的「ID号」为例子5中指定的ID号 “gua1”,并要求显示本卦4爻的具体信息。\n\n\n\n#### 八字\n\n **命令:八字排盘** `\\paibazi{时间}{性别}{标识}[细节]`\n\n【时间】和【性别】参数必填,【标识】和【细节】参数可选。(如果要第二次显示已有的八字盘,则【时间】和【性别】参数可留白,只给定【标识】参数中的「ID号」)\n\n【时间】:允许格式 “1980-1-3 08:15”、“2019年3月4日 6时3分” \n\n【性别】:允许格式 “m”、“f”、“男”、“女”、“乾”、“坤”、\n\n【标识】:与排盘命令的「标识」参数等同。由ID号、简排、字符大小三个部分组成。\n\n【细节】:允许“藏干”、“长生”、“纳音”这三个中的一个或者多个,也可以留白。格式为 `藏干/纳音/长生`\n\n例子7:`\\paibazi{1990年5月1日 6:45}{男}{小明/s/5}`\n\n$\\paibazi{1990年5月1日 6:45}{男}{小明/5}$\n\n例子8:重排例子7的八字盘 `\\paibazi{}{}{小明/s/5}[纳音/藏干/长生]` ,并要求显示藏干和纳音等信息。\n\n$\\paibazi{}{}{小明/s/5}[纳音/藏干/长生]$\n\n\n\n **命令:八字细节** `\\bazi{标识}{类别}[细节]`\n\n使用前提:当前文本中已经排出至少一个八字盘。\n\n【标识】:与排盘命令的「标识」参数等同。由ID号、简排、字符大小三个部分组成。其中「ID号」标识已经存在的八字命盘。\n\n【类别】:支持 “神煞”、“大运”、“流年”、“小运” 四个选项。\n\n【细节】:具体含义视【类别】而定。\n\n- 类别为「神煞」时:「细节」为 1~ 9 的数字,表示每行列数。\n- 类别为「大运」时:` 1-9 纳音/藏干/长生/神煞` 前面的数字表示第几步大运,限定 1 到 10\n- 类别为「流年」和「小运」时: `2015 - 2019 纳音/藏干/长生/神煞` 前面的数字表示年份,注意不要超过命盘的生命周期,否则会出错。「纳音/藏干/长生/神煞」可以留白,也可只显示一两项。\n\n\n\n例子9: `\\bazi{小明}{神煞}[6]` 显示小明命盘的神煞,每行6列。\n\n$\\bazi{小明}{神煞}[6]$\n\n\n\n例子10: `\\bazi{小明}{大运}[2-3 ]` 显示小明的第二到第三步大运\n\n$\\bazi{小明}{大运}[2-3]$\n\n\n\n例子11: `\\bazi{小明}{流年}[2017-2019 纳音/藏干/长生/神煞]` 显示小明的2017到2019年的流年信息。\n\n$\\bazi{小明}{流年}[2017-2019 纳音/藏干/长生/神煞]$\n\n\n\n### 未来与展望\n\n我知道这篇文章介绍的工具,并非所有人都能使用。所以在不久的将来,还是要制作一个独立易学软件,以便易友在PC端和移动端都能按照传统的方式使用。但由于时间和精力原因,我无法保证完成时间。\n\n\n\n不断完善易学函数,提供更丰富的应用细节。在用户更为广泛的MD编辑器中实现此方式。比如有道云笔记、为知笔记、印象笔记等。并争取介绍移动端(Android & iOS)实现此方式。也希望在Gitbook中实现。\n\n\n\n希望能将师父的六爻和八字讲义,『增删卜易』等著作制作成Gitbook,将精彩的卦例和名人八字建成易学数据库。这样就可以通过我的易学函数直接获取, 比如 `\\paibazi{蒋介石}`。\n\n\n\n### 附录: \n\n#### 命令列表\n\n[纳音](#nayin)\n\n[爻符](#yao)\n\n[排卦](#paigua)\n\n[卦爻细节](#guayao)\n\n[排八字](#paibazi)\n\n[八字细节](#bazi)\n\n#### 发布\n\n脚本文件的[原始路径](https://github.com/maiernte/img/raw/master/libs/bundle.js)是`https://github.com/maiernte/img/raw/master/libs/bundle.js`。因为涉及到跨域问题,要通过 [Gitkack](https://raw.githack.com/) 重链接,把上述路径输入到 Githack 的地址框,会得到「应用地址」和「开发地址」。\n\n[应用地址](https://rawcdn.githack.com/maiernte/img/bb3c42dc26b0866a142bb905d1753ac483e0a474/libs/bundle.js):\n\n`https://rawcdn.githack.com/maiernte/img/11a1bb572a6875dbf434a7fc457ea2fdd329f7db/libs/bundle.js`\n\n[开发地址](https://raw.githack.com/maiernte/img/master/libs/bundle.js):\n\n`https://raw.githack.com/maiernte/img/master/libs/bundle.js`\n\n#### 查看当前易学函数库版本\n\n在 chrome 浏览其中打开此博文,Mac 系统中按 `⌘+⌥+I` ,Windows 系统 `Ctr+⇧+I`,或者 Chrome 菜单栏调出 “开发者工具”,选择 Console 页面,即可显示当前易学库版本和时间。","source":"_posts/IT/skill/MathJax用于易学领域.md","raw":"---\ntitle: MathJax用于易学领域\ndate: 2019-08-30 10:15:28\nurlname: mathjax-yixue-usage\ntoc: true\ntags: [工具]\ncategories: [IT, skill]\nmathjax: true\n---\n\n关于利用 `MathJax` 和 `Katex` 数学公式解释器,实现易学上排六爻盘和八字盘个功能。今天实现了易学上的核心功能。有望将来能添加更多的函数,以便利各位同门以及广大易友。\n\n\n\n### 效果与演示\n\nVIDEO \n无法观看油管的朋友请移步B站:[使用MathJax渲染六爻和八字盘](https://www.bilibili.com/video/av66317810/)\n\n\n\n\n### 安装和使用 \n\n首先,你需要一个支持 Markdown (简称MD) 语言格式的文本编辑器。如果不知道什么是MD的话,请参阅以下介绍:\n\n- [Markdown介绍及使用教程](https://www.jianshu.com/p/7771794c88a1)\n\n- [Markdown - 简单的世界](https://wizardforcel.gitbooks.io/markdown-simple-world/index.html)\n\n- [认识与入门 Markdown](https://sspai.com/post/25137)\n\n\n\nMarkdown 语言**简约而优美**,可以自由转换成pdf、word、Html 等等各种其它格式的文本。可以推送到博客、微信公众号等等。虽然算卦是一个传统的行业,我们仍然不宜**固步自封**。MD语言支持MathJax和Katex书写Latex数学公式,可以写出非常漂亮的数学、物理、化学方面的公式。正式的科技刊物都要求用Latex格式。\n\n\n\n这个易学解决方案是对 MathJax 进行扩展,加入指定的易学公式,让 MathJax 解释器去完成公式渲染。它并不是一个独立的程序。需要构建在已有的MD文本编辑器之上。我使用一个文件夹存放所有的关于易学方面的MD文件,并将这个文件夹同步到 [坚果云](https://www.jianguoyun.com/#/),这样就可以实现多台电脑和移动端之间的同步,而不太需要一个独立的易学软件。甚至可以将MD文件导出为HTML文件,放到我的HEXO博客上(您正在阅读的这篇博文即是例子)。\n\n\n\n理论上所有支持Markdown语言和MathJax的文本编辑器,都可以改装。改装过程需要两段代码和一个库文件。\n\n#### 文本编辑器\n\n##### Typora \n\nTypora 是我个人最钟爱的MD编辑器,因此这里着重介绍。如果你喜欢用别的MD编辑器,比如iAWrte等,理论上可以用同样的方式改装。(无法百分百保证) 有需要的朋友可以私下联系我。\n\n最新的安装教程请参考[华鹤易学平台文档](https://maiernte.gitee.io/huahedocument/chapter6/libinstall.html)\n\n##### VSCode\n\n同样请移步[华鹤易学平台文档](https://maiernte.gitee.io/huahedocument/chapter6/libinstall.html)。那里有详细描述。\n\n\n\n#### Hexo博客\n\n🔔 注意:首先要检查自己的 Hexo 博客使用的渲染器是否默认开启了Katex或者MathJax数学插件。如果有的话需要卸载或者禁用数学插件,如果不能禁用,就必须更换Markdown渲染器。\n\n> 因为系统使用的数学插件会在网页生成之前就改动数学表达,这样无法使用我提供给的函数库。我提供给博客的方案是在浏览网页的时候,即时渲染易学公式。\n\n比如我之前用了 \"hexo-renderer-markdown-it-plus\" 渲染器就是强制使用 Katex 数学渲染的。\n\n```shell\nnpm un hexo-renderer-markdown-it-plus --save // 卸载\nnpm i hexo-renderer-markdown-it --save // 更换\n```\n\n然后将下列代码添加到文件模版就可以了。使用 swig 模版的是在 `/layout/_custom/header.swig` 或者 `/layout/index.swig` 。而使用 ejs 模版的是文件 `/layout/layout.ejs`\n\n```html\n\n\n \n\n\n\n\n\n\n\n```\n\n> 注意搜索 _config.yml 文件,\"math\", \"katex\", \"mathjax\" 等字样,发现有的话把他们禁用。\n\n\n\n#### Gitbook\n\n最新的安装教程请参考[华鹤易学平台文档](https://maiernte.gitee.io/huahedocument/chapter6/libinstall.html)\n\n\n\n### API 参数\n\n使用易学函数库非常简单,在经过改装的Markdown编辑器中,输入易学公式,并用两个 `$` 符号将公式前后围起来即可。MD语言一般默认两个 `$` 符号之间的文本是数学公式,它会调用MathJax对公式进行渲染。否则,它会认为这是普通文本,而不会做任何动作。\n\n#### 易学通用\n\n**命令:纳音** `\\nayin{干支名称}`\n\n【干支名称】 :就是甲子、己卯等六十甲子。\n\n例子1:`\\nayin{戊午}` --> $\\nayin{戊午}$\n\n**命令:干支日历** `\\timegz{时间参数}{年月日}`\n\n【时间参数】 :例如 2020-02-21。\n\n【年月日】 :省略时默认为`111`,即显示年月日。`0`表示不显示,`1`表示显示。\n\n例子1:`\\timegz{2020-02-21}` --> $\\timegz{2020-02-21}$\n\n例子2:`\\timegz{2020-02-21}{011}` --> $\\timegz{2020-02-21}{011}$\n\n\n#### 六爻\n\n**命令:爻符** `\\yao{爻名}`\n\n【爻名】:laoyin, laoyang,shaoyin,shaoyang, x, o, =, -, 交,重,阴,阳,0,1,2,3\n\n例子2:`\\yao{x}` --> $\\yao{x}$\n\n例子3:`\\yao{shaoyin}` --> $\\yao{shaoyin}$\n\n例子4:`\\yao{重}` --> $\\yao{重}$\n\n\n\n **命令:六爻排盘** `\\paigua{时令}{卦辞}{标识}`\n\n其中 【时令】、【卦辞】这两个参数是必须的,**【标识】**参数可以省略。\n\n【时令】允许的格式为:“1980-1-3 08:15”、“2019年3月4日”、“申月戊寅日”\n\n【卦辞】允许的格式为:“解之师”、“离为火”、“--==x-”、“0121100”、“阴阳阴交阴阳”\n\n【标识】由三部分组成:ID号、简排、字符大小。格式为:`guadi/s/5`\n\n- 「ID号」:随便一串字符,空白则默认为“gua1”。:x:不允许只有数字,因为会与参数「字符大小」混淆。如果一个文本出现多个六爻卦,则每个卦都需要指定一个ID号。否则下面的命令[卦爻细节](#guayao)不知道具体指向哪一个卦本。\n- 「简排」:只允许`s` 和 `l`两个英文字符的其中一个。`s` 表示只显示短名,如“妻财”显示为“财”,“青龙”显示为“龙”。`l` 则显示完整名称。留白则按照用户全局设定来显示。(参阅[用户设定](#code2))\n- 「字符大小」:允许 0 - 9 档。数字越大文字越大。默认大小为`5`或者用户的[全局设定](#code2)。\n\n例子5: `$\\paigua{1978年7月1日}{101201}{gua1}$` 效果\n$$\\paigua{1978年7月1日}{101201}{gua1}$$\n\n:pencil2: 如果文章很长,需要在指定位置重新显示一遍卦本,则可以使用重排命令。即让【时令】和【卦辞】两个参数留白,只给出【ID号】。如 `\\paigua{}{}{gua1}` 。留白的参数,仍然需要用大括号括起来,否则解释器会出错。\n\n\n\n **命令:卦爻细节** `\\guayao{标识}{位置}`\n\n使用前提:当前文本中已经排出至少一支六爻卦。\n\n【标识】:与排盘命令的「标识」参数等同。由ID号、简排、字符大小三个部分组成。其中「ID号」标识已经存在的六爻盘。\n\n【位置】:格式为 “ben1”、“fu3”、“bian5” 等,分别表示「本卦初爻」、「伏卦3爻」、「变卦5爻」\n\n\n\n例子6:`\\guayao{gua1}{ben4}` --> $\\guayao{gua1}{ben4}$\n\n> 例子6 中给出的「ID号」为例子5中指定的ID号 “gua1”,并要求显示本卦4爻的具体信息。\n\n\n\n#### 八字\n\n **命令:八字排盘** `\\paibazi{时间}{性别}{标识}[细节]`\n\n【时间】和【性别】参数必填,【标识】和【细节】参数可选。(如果要第二次显示已有的八字盘,则【时间】和【性别】参数可留白,只给定【标识】参数中的「ID号」)\n\n【时间】:允许格式 “1980-1-3 08:15”、“2019年3月4日 6时3分” \n\n【性别】:允许格式 “m”、“f”、“男”、“女”、“乾”、“坤”、\n\n【标识】:与排盘命令的「标识」参数等同。由ID号、简排、字符大小三个部分组成。\n\n【细节】:允许“藏干”、“长生”、“纳音”这三个中的一个或者多个,也可以留白。格式为 `藏干/纳音/长生`\n\n例子7:`\\paibazi{1990年5月1日 6:45}{男}{小明/s/5}`\n\n$\\paibazi{1990年5月1日 6:45}{男}{小明/5}$\n\n例子8:重排例子7的八字盘 `\\paibazi{}{}{小明/s/5}[纳音/藏干/长生]` ,并要求显示藏干和纳音等信息。\n\n$\\paibazi{}{}{小明/s/5}[纳音/藏干/长生]$\n\n\n\n **命令:八字细节** `\\bazi{标识}{类别}[细节]`\n\n使用前提:当前文本中已经排出至少一个八字盘。\n\n【标识】:与排盘命令的「标识」参数等同。由ID号、简排、字符大小三个部分组成。其中「ID号」标识已经存在的八字命盘。\n\n【类别】:支持 “神煞”、“大运”、“流年”、“小运” 四个选项。\n\n【细节】:具体含义视【类别】而定。\n\n- 类别为「神煞」时:「细节」为 1~ 9 的数字,表示每行列数。\n- 类别为「大运」时:` 1-9 纳音/藏干/长生/神煞` 前面的数字表示第几步大运,限定 1 到 10\n- 类别为「流年」和「小运」时: `2015 - 2019 纳音/藏干/长生/神煞` 前面的数字表示年份,注意不要超过命盘的生命周期,否则会出错。「纳音/藏干/长生/神煞」可以留白,也可只显示一两项。\n\n\n\n例子9: `\\bazi{小明}{神煞}[6]` 显示小明命盘的神煞,每行6列。\n\n$\\bazi{小明}{神煞}[6]$\n\n\n\n例子10: `\\bazi{小明}{大运}[2-3 ]` 显示小明的第二到第三步大运\n\n$\\bazi{小明}{大运}[2-3]$\n\n\n\n例子11: `\\bazi{小明}{流年}[2017-2019 纳音/藏干/长生/神煞]` 显示小明的2017到2019年的流年信息。\n\n$\\bazi{小明}{流年}[2017-2019 纳音/藏干/长生/神煞]$\n\n\n\n### 未来与展望\n\n我知道这篇文章介绍的工具,并非所有人都能使用。所以在不久的将来,还是要制作一个独立易学软件,以便易友在PC端和移动端都能按照传统的方式使用。但由于时间和精力原因,我无法保证完成时间。\n\n\n\n不断完善易学函数,提供更丰富的应用细节。在用户更为广泛的MD编辑器中实现此方式。比如有道云笔记、为知笔记、印象笔记等。并争取介绍移动端(Android & iOS)实现此方式。也希望在Gitbook中实现。\n\n\n\n希望能将师父的六爻和八字讲义,『增删卜易』等著作制作成Gitbook,将精彩的卦例和名人八字建成易学数据库。这样就可以通过我的易学函数直接获取, 比如 `\\paibazi{蒋介石}`。\n\n\n\n### 附录: \n\n#### 命令列表\n\n[纳音](#nayin)\n\n[爻符](#yao)\n\n[排卦](#paigua)\n\n[卦爻细节](#guayao)\n\n[排八字](#paibazi)\n\n[八字细节](#bazi)\n\n#### 发布\n\n脚本文件的[原始路径](https://github.com/maiernte/img/raw/master/libs/bundle.js)是`https://github.com/maiernte/img/raw/master/libs/bundle.js`。因为涉及到跨域问题,要通过 [Gitkack](https://raw.githack.com/) 重链接,把上述路径输入到 Githack 的地址框,会得到「应用地址」和「开发地址」。\n\n[应用地址](https://rawcdn.githack.com/maiernte/img/bb3c42dc26b0866a142bb905d1753ac483e0a474/libs/bundle.js):\n\n`https://rawcdn.githack.com/maiernte/img/11a1bb572a6875dbf434a7fc457ea2fdd329f7db/libs/bundle.js`\n\n[开发地址](https://raw.githack.com/maiernte/img/master/libs/bundle.js):\n\n`https://raw.githack.com/maiernte/img/master/libs/bundle.js`\n\n#### 查看当前易学函数库版本\n\n在 chrome 浏览其中打开此博文,Mac 系统中按 `⌘+⌥+I` ,Windows 系统 `Ctr+⇧+I`,或者 Chrome 菜单栏调出 “开发者工具”,选择 Console 页面,即可显示当前易学库版本和时间。","slug":"IT/skill/MathJax用于易学领域","published":1,"updated":"2020-05-08T09:38:08.489Z","_id":"cka1y599q004l4huuz9r1vgbn","comments":1,"layout":"post","photos":[],"link":"","content":"关于利用 MathJax
和 Katex
数学公式解释器,实现易学上排六爻盘和八字盘个功能。今天实现了易学上的核心功能。有望将来能添加更多的函数,以便利各位同门以及广大易友。
\n \n效果与演示 \nVIDEO \n无法观看油管的朋友请移步B站:[使用MathJax渲染六爻和八字盘](https://www.bilibili.com/video/av66317810/)\n\n首先,你需要一个支持 Markdown (简称MD) 语言格式的文本编辑器。如果不知道什么是MD的话,请参阅以下介绍:
\n\nMarkdown 语言简约而优美 ,可以自由转换成pdf、word、Html 等等各种其它格式的文本。可以推送到博客、微信公众号等等。虽然算卦是一个传统的行业,我们仍然不宜固步自封 。MD语言支持MathJax和Katex书写Latex数学公式,可以写出非常漂亮的数学、物理、化学方面的公式。正式的科技刊物都要求用Latex格式。
\n这个易学解决方案是对 MathJax 进行扩展,加入指定的易学公式,让 MathJax 解释器去完成公式渲染。它并不是一个独立的程序。需要构建在已有的MD文本编辑器之上。我使用一个文件夹存放所有的关于易学方面的MD文件,并将这个文件夹同步到 坚果云 ,这样就可以实现多台电脑和移动端之间的同步,而不太需要一个独立的易学软件。甚至可以将MD文件导出为HTML文件,放到我的HEXO博客上(您正在阅读的这篇博文即是例子)。
\n理论上所有支持Markdown语言和MathJax的文本编辑器,都可以改装。改装过程需要两段代码和一个库文件。
\n文本编辑器 \nTypora \nTypora 是我个人最钟爱的MD编辑器,因此这里着重介绍。如果你喜欢用别的MD编辑器,比如iAWrte等,理论上可以用同样的方式改装。(无法百分百保证) 有需要的朋友可以私下联系我。
\n最新的安装教程请参考华鹤易学平台文档
\nVSCode \n同样请移步华鹤易学平台文档 。那里有详细描述。
\nHexo博客 \n🔔 注意:首先要检查自己的 Hexo 博客使用的渲染器是否默认开启了Katex或者MathJax数学插件。如果有的话需要卸载或者禁用数学插件,如果不能禁用,就必须更换Markdown渲染器。
\n\n因为系统使用的数学插件会在网页生成之前就改动数学表达,这样无法使用我提供给的函数库。我提供给博客的方案是在浏览网页的时候,即时渲染易学公式。
\n \n比如我之前用了 “hexo-renderer-markdown-it-plus” 渲染器就是强制使用 Katex 数学渲染的。
\n1 2 npm un hexo-renderer-markdown-it-plus --save // 卸载 npm i hexo-renderer-markdown-it --save // 更换
\n然后将下列代码添加到文件模版就可以了。使用 swig 模版的是在 <your thems>/layout/_custom/header.swig
或者 <your thems>/layout/index.swig
。而使用 ejs 模版的是文件 <your thems>/layout/layout.ejs
\n1 2 3 4 5 6 7 8 9 <link rel =\"stylesheet\" href =\"https://cdn.jsdelivr.net/npm/katex@0.11.0/dist/katex.min.css\" > <script defer src =\"https://cdn.jsdelivr.net/npm/katex@0.11.0/dist/katex.min.js\" > </script > <script defer src =\"https://cdn.jsdelivr.net/npm/katex@0.11.0/dist/contrib/auto-render.min.js\" > </script > <script src =\"https://raw.githack.com/maiernte/img/master/libs/katexYixue.js\" > </script > <script src =\"https://raw.githack.com/maiernte/img/master/libs/bundle.js\" > </script >
\n\n注意搜索 _config.yml 文件,“math”, “katex”, “mathjax” 等字样,发现有的话把他们禁用。
\n \nGitbook \n最新的安装教程请参考华鹤易学平台文档
\nAPI 参数 \n使用易学函数库非常简单,在经过改装的Markdown编辑器中,输入易学公式,并用两个 $
符号将公式前后围起来即可。MD语言一般默认两个 $
符号之间的文本是数学公式,它会调用MathJax对公式进行渲染。否则,它会认为这是普通文本,而不会做任何动作。
\n易学通用 \n命令:纳音 \\nayin{干支名称}
\n【干支名称】 :就是甲子、己卯等六十甲子。
\n例子1:\\nayin{戊午}
--> $\\nayin{戊午}$
\n命令:干支日历 \\timegz{时间参数}{年月日}
\n【时间参数】 :例如 2020-02-21。
\n【年月日】 :省略时默认为111
,即显示年月日。0
表示不显示,1
表示显示。
\n例子1:\\timegz{2020-02-21}
--> $\\timegz{2020-02-21}$
\n例子2:\\timegz{2020-02-21}{011}
--> $\\timegz{2020-02-21}{011}$
\n六爻 \n命令:爻符 \\yao{爻名}
\n【爻名】:laoyin, laoyang,shaoyin,shaoyang, x, o, =, -, 交,重,阴,阳,0,1,2,3
\n例子2:\\yao{x}
--> $\\yao{x}$
\n例子3:\\yao{shaoyin}
--> $\\yao{shaoyin}$
\n例子4:\\yao{重}
--> $\\yao{重}$
\n 命令:六爻排盘 \\paigua{时令}{卦辞}{标识}
\n其中 【时令】、【卦辞】这两个参数是必须的,**【标识】**参数可以省略。
\n【时令】允许的格式为:“1980-1-3 08:15”、“2019年3月4日”、“申月戊寅日”
\n【卦辞】允许的格式为:“解之师”、“离为火”、“–==x-”、“0121100”、“阴阳阴交阴阳”
\n【标识】由三部分组成:ID号、简排、字符大小。格式为:guadi/s/5
\n\n「ID号」:随便一串字符,空白则默认为“gua1”。:x:不允许只有数字,因为会与参数「字符大小」混淆。如果一个文本出现多个六爻卦,则每个卦都需要指定一个ID号。否则下面的命令卦爻细节 不知道具体指向哪一个卦本。 \n「简排」:只允许s
和 l
两个英文字符的其中一个。s
表示只显示短名,如“妻财”显示为“财”,“青龙”显示为“龙”。l
则显示完整名称。留白则按照用户全局设定来显示。(参阅用户设定 ) \n「字符大小」:允许 0 - 9 档。数字越大文字越大。默认大小为5
或者用户的全局设定 。 \n \n例子5: $\\paigua{1978年7月1日}{101201}{gua1}$
效果 \n$$\\paigua{1978年7月1日}{101201}{gua1}$$
\n:pencil2: 如果文章很长,需要在指定位置重新显示一遍卦本,则可以使用重排命令。即让【时令】和【卦辞】两个参数留白,只给出【ID号】。如 \\paigua{}{}{gua1}
。留白的参数,仍然需要用大括号括起来,否则解释器会出错。
\n 命令:卦爻细节 \\guayao{标识}{位置}
\n使用前提:当前文本中已经排出至少一支六爻卦。
\n【标识】:与排盘命令的「标识」参数等同。由ID号、简排、字符大小三个部分组成。其中「ID号」标识已经存在的六爻盘。
\n【位置】:格式为 “ben1”、“fu3”、“bian5” 等,分别表示「本卦初爻」、「伏卦3爻」、「变卦5爻」
\n例子6:\\guayao{gua1}{ben4}
--> $\\guayao{gua1}{ben4}$
\n\n例子6 中给出的「ID号」为例子5中指定的ID号 “gua1”,并要求显示本卦4爻的具体信息。
\n \n八字 \n 命令:八字排盘 \\paibazi{时间}{性别}{标识}[细节]
\n【时间】和【性别】参数必填,【标识】和【细节】参数可选。(如果要第二次显示已有的八字盘,则【时间】和【性别】参数可留白,只给定【标识】参数中的「ID号」)
\n【时间】:允许格式 “1980-1-3 08:15”、“2019年3月4日 6时3分”
\n【性别】:允许格式 “m”、“f”、“男”、“女”、“乾”、“坤”、
\n【标识】:与排盘命令的「标识」参数等同。由ID号、简排、字符大小三个部分组成。
\n【细节】:允许“藏干”、“长生”、“纳音”这三个中的一个或者多个,也可以留白。格式为 藏干/纳音/长生
\n例子7:\\paibazi{1990年5月1日 6:45}{男}{小明/s/5}
\n$\\paibazi{1990年5月1日 6:45}{男}{小明/5}$
\n例子8:重排例子7的八字盘 \\paibazi{}{}{小明/s/5}[纳音/藏干/长生]
,并要求显示藏干和纳音等信息。
\n$\\paibazi{}{}{小明/s/5}[纳音/藏干/长生]$
\n 命令:八字细节 \\bazi{标识}{类别}[细节]
\n使用前提:当前文本中已经排出至少一个八字盘。
\n【标识】:与排盘命令的「标识」参数等同。由ID号、简排、字符大小三个部分组成。其中「ID号」标识已经存在的八字命盘。
\n【类别】:支持 “神煞”、“大运”、“流年”、“小运” 四个选项。
\n【细节】:具体含义视【类别】而定。
\n\n类别为「神煞」时:「细节」为 1~ 9 的数字,表示每行列数。 \n类别为「大运」时: 1-9 纳音/藏干/长生/神煞
前面的数字表示第几步大运,限定 1 到 10 \n类别为「流年」和「小运」时: 2015 - 2019 纳音/藏干/长生/神煞
前面的数字表示年份,注意不要超过命盘的生命周期,否则会出错。「纳音/藏干/长生/神煞」可以留白,也可只显示一两项。 \n \n例子9: \\bazi{小明}{神煞}[6]
显示小明命盘的神煞,每行6列。
\n$\\bazi{小明}{神煞}[6]$
\n例子10: \\bazi{小明}{大运}[2-3 ]
显示小明的第二到第三步大运
\n$\\bazi{小明}{大运}[2-3]$
\n例子11: \\bazi{小明}{流年}[2017-2019 纳音/藏干/长生/神煞]
显示小明的2017到2019年的流年信息。
\n$\\bazi{小明}{流年}[2017-2019 纳音/藏干/长生/神煞]$
\n未来与展望 \n我知道这篇文章介绍的工具,并非所有人都能使用。所以在不久的将来,还是要制作一个独立易学软件,以便易友在PC端和移动端都能按照传统的方式使用。但由于时间和精力原因,我无法保证完成时间。
\n不断完善易学函数,提供更丰富的应用细节。在用户更为广泛的MD编辑器中实现此方式。比如有道云笔记、为知笔记、印象笔记等。并争取介绍移动端(Android & iOS)实现此方式。也希望在Gitbook中实现。
\n希望能将师父的六爻和八字讲义,『增删卜易』等著作制作成Gitbook,将精彩的卦例和名人八字建成易学数据库。这样就可以通过我的易学函数直接获取, 比如 \\paibazi{蒋介石}
。
\n附录: \n命令列表 \n纳音
\n爻符
\n排卦
\n卦爻细节
\n排八字
\n八字细节
\n发布 \n脚本文件的原始路径 是https://github.com/maiernte/img/raw/master/libs/bundle.js
。因为涉及到跨域问题,要通过 Gitkack 重链接,把上述路径输入到 Githack 的地址框,会得到「应用地址」和「开发地址」。
\n应用地址 :
\nhttps://rawcdn.githack.com/maiernte/img/11a1bb572a6875dbf434a7fc457ea2fdd329f7db/libs/bundle.js
\n开发地址 :
\nhttps://raw.githack.com/maiernte/img/master/libs/bundle.js
\n查看当前易学函数库版本 \n在 chrome 浏览其中打开此博文,Mac 系统中按 ⌘+⌥+I
,Windows 系统 Ctr+⇧+I
,或者 Chrome 菜单栏调出 “开发者工具”,选择 Console 页面,即可显示当前易学库版本和时间。
\n","site":{"data":{}},"excerpt":"关于利用 MathJax
和 Katex
数学公式解释器,实现易学上排六爻盘和八字盘个功能。今天实现了易学上的核心功能。有望将来能添加更多的函数,以便利各位同门以及广大易友。
","more":"效果与演示 \nVIDEO \n无法观看油管的朋友请移步B站:[使用MathJax渲染六爻和八字盘](https://www.bilibili.com/video/av66317810/)\n\n首先,你需要一个支持 Markdown (简称MD) 语言格式的文本编辑器。如果不知道什么是MD的话,请参阅以下介绍:
\n\nMarkdown 语言简约而优美 ,可以自由转换成pdf、word、Html 等等各种其它格式的文本。可以推送到博客、微信公众号等等。虽然算卦是一个传统的行业,我们仍然不宜固步自封 。MD语言支持MathJax和Katex书写Latex数学公式,可以写出非常漂亮的数学、物理、化学方面的公式。正式的科技刊物都要求用Latex格式。
\n这个易学解决方案是对 MathJax 进行扩展,加入指定的易学公式,让 MathJax 解释器去完成公式渲染。它并不是一个独立的程序。需要构建在已有的MD文本编辑器之上。我使用一个文件夹存放所有的关于易学方面的MD文件,并将这个文件夹同步到 坚果云 ,这样就可以实现多台电脑和移动端之间的同步,而不太需要一个独立的易学软件。甚至可以将MD文件导出为HTML文件,放到我的HEXO博客上(您正在阅读的这篇博文即是例子)。
\n理论上所有支持Markdown语言和MathJax的文本编辑器,都可以改装。改装过程需要两段代码和一个库文件。
\n文本编辑器 \nTypora \nTypora 是我个人最钟爱的MD编辑器,因此这里着重介绍。如果你喜欢用别的MD编辑器,比如iAWrte等,理论上可以用同样的方式改装。(无法百分百保证) 有需要的朋友可以私下联系我。
\n最新的安装教程请参考华鹤易学平台文档
\nVSCode \n同样请移步华鹤易学平台文档 。那里有详细描述。
\nHexo博客 \n🔔 注意:首先要检查自己的 Hexo 博客使用的渲染器是否默认开启了Katex或者MathJax数学插件。如果有的话需要卸载或者禁用数学插件,如果不能禁用,就必须更换Markdown渲染器。
\n\n因为系统使用的数学插件会在网页生成之前就改动数学表达,这样无法使用我提供给的函数库。我提供给博客的方案是在浏览网页的时候,即时渲染易学公式。
\n \n比如我之前用了 “hexo-renderer-markdown-it-plus” 渲染器就是强制使用 Katex 数学渲染的。
\n\n然后将下列代码添加到文件模版就可以了。使用 swig 模版的是在 <your thems>/layout/_custom/header.swig
或者 <your thems>/layout/index.swig
。而使用 ejs 模版的是文件 <your thems>/layout/layout.ejs
\n\n\n注意搜索 _config.yml 文件,“math”, “katex”, “mathjax” 等字样,发现有的话把他们禁用。
\n \nGitbook \n最新的安装教程请参考华鹤易学平台文档
\nAPI 参数 \n使用易学函数库非常简单,在经过改装的Markdown编辑器中,输入易学公式,并用两个 $
符号将公式前后围起来即可。MD语言一般默认两个 $
符号之间的文本是数学公式,它会调用MathJax对公式进行渲染。否则,它会认为这是普通文本,而不会做任何动作。
\n易学通用 \n命令:纳音 \\nayin{干支名称}
\n【干支名称】 :就是甲子、己卯等六十甲子。
\n例子1:\\nayin{戊午}
--> $\\nayin{戊午}$
\n命令:干支日历 \\timegz{时间参数}{年月日}
\n【时间参数】 :例如 2020-02-21。
\n【年月日】 :省略时默认为111
,即显示年月日。0
表示不显示,1
表示显示。
\n例子1:\\timegz{2020-02-21}
--> $\\timegz{2020-02-21}$
\n例子2:\\timegz{2020-02-21}{011}
--> $\\timegz{2020-02-21}{011}$
\n六爻 \n命令:爻符 \\yao{爻名}
\n【爻名】:laoyin, laoyang,shaoyin,shaoyang, x, o, =, -, 交,重,阴,阳,0,1,2,3
\n例子2:\\yao{x}
--> $\\yao{x}$
\n例子3:\\yao{shaoyin}
--> $\\yao{shaoyin}$
\n例子4:\\yao{重}
--> $\\yao{重}$
\n 命令:六爻排盘 \\paigua{时令}{卦辞}{标识}
\n其中 【时令】、【卦辞】这两个参数是必须的,**【标识】**参数可以省略。
\n【时令】允许的格式为:“1980-1-3 08:15”、“2019年3月4日”、“申月戊寅日”
\n【卦辞】允许的格式为:“解之师”、“离为火”、“–==x-”、“0121100”、“阴阳阴交阴阳”
\n【标识】由三部分组成:ID号、简排、字符大小。格式为:guadi/s/5
\n\n「ID号」:随便一串字符,空白则默认为“gua1”。:x:不允许只有数字,因为会与参数「字符大小」混淆。如果一个文本出现多个六爻卦,则每个卦都需要指定一个ID号。否则下面的命令卦爻细节 不知道具体指向哪一个卦本。 \n「简排」:只允许s
和 l
两个英文字符的其中一个。s
表示只显示短名,如“妻财”显示为“财”,“青龙”显示为“龙”。l
则显示完整名称。留白则按照用户全局设定来显示。(参阅用户设定 ) \n「字符大小」:允许 0 - 9 档。数字越大文字越大。默认大小为5
或者用户的全局设定 。 \n \n例子5: $\\paigua{1978年7月1日}{101201}{gua1}$
效果 \n$$\\paigua{1978年7月1日}{101201}{gua1}$$
\n:pencil2: 如果文章很长,需要在指定位置重新显示一遍卦本,则可以使用重排命令。即让【时令】和【卦辞】两个参数留白,只给出【ID号】。如 \\paigua{}{}{gua1}
。留白的参数,仍然需要用大括号括起来,否则解释器会出错。
\n 命令:卦爻细节 \\guayao{标识}{位置}
\n使用前提:当前文本中已经排出至少一支六爻卦。
\n【标识】:与排盘命令的「标识」参数等同。由ID号、简排、字符大小三个部分组成。其中「ID号」标识已经存在的六爻盘。
\n【位置】:格式为 “ben1”、“fu3”、“bian5” 等,分别表示「本卦初爻」、「伏卦3爻」、「变卦5爻」
\n例子6:\\guayao{gua1}{ben4}
--> $\\guayao{gua1}{ben4}$
\n\n例子6 中给出的「ID号」为例子5中指定的ID号 “gua1”,并要求显示本卦4爻的具体信息。
\n \n八字 \n 命令:八字排盘 \\paibazi{时间}{性别}{标识}[细节]
\n【时间】和【性别】参数必填,【标识】和【细节】参数可选。(如果要第二次显示已有的八字盘,则【时间】和【性别】参数可留白,只给定【标识】参数中的「ID号」)
\n【时间】:允许格式 “1980-1-3 08:15”、“2019年3月4日 6时3分”
\n【性别】:允许格式 “m”、“f”、“男”、“女”、“乾”、“坤”、
\n【标识】:与排盘命令的「标识」参数等同。由ID号、简排、字符大小三个部分组成。
\n【细节】:允许“藏干”、“长生”、“纳音”这三个中的一个或者多个,也可以留白。格式为 藏干/纳音/长生
\n例子7:\\paibazi{1990年5月1日 6:45}{男}{小明/s/5}
\n$\\paibazi{1990年5月1日 6:45}{男}{小明/5}$
\n例子8:重排例子7的八字盘 \\paibazi{}{}{小明/s/5}[纳音/藏干/长生]
,并要求显示藏干和纳音等信息。
\n$\\paibazi{}{}{小明/s/5}[纳音/藏干/长生]$
\n 命令:八字细节 \\bazi{标识}{类别}[细节]
\n使用前提:当前文本中已经排出至少一个八字盘。
\n【标识】:与排盘命令的「标识」参数等同。由ID号、简排、字符大小三个部分组成。其中「ID号」标识已经存在的八字命盘。
\n【类别】:支持 “神煞”、“大运”、“流年”、“小运” 四个选项。
\n【细节】:具体含义视【类别】而定。
\n\n类别为「神煞」时:「细节」为 1~ 9 的数字,表示每行列数。 \n类别为「大运」时: 1-9 纳音/藏干/长生/神煞
前面的数字表示第几步大运,限定 1 到 10 \n类别为「流年」和「小运」时: 2015 - 2019 纳音/藏干/长生/神煞
前面的数字表示年份,注意不要超过命盘的生命周期,否则会出错。「纳音/藏干/长生/神煞」可以留白,也可只显示一两项。 \n \n例子9: \\bazi{小明}{神煞}[6]
显示小明命盘的神煞,每行6列。
\n$\\bazi{小明}{神煞}[6]$
\n例子10: \\bazi{小明}{大运}[2-3 ]
显示小明的第二到第三步大运
\n$\\bazi{小明}{大运}[2-3]$
\n例子11: \\bazi{小明}{流年}[2017-2019 纳音/藏干/长生/神煞]
显示小明的2017到2019年的流年信息。
\n$\\bazi{小明}{流年}[2017-2019 纳音/藏干/长生/神煞]$
\n未来与展望 \n我知道这篇文章介绍的工具,并非所有人都能使用。所以在不久的将来,还是要制作一个独立易学软件,以便易友在PC端和移动端都能按照传统的方式使用。但由于时间和精力原因,我无法保证完成时间。
\n不断完善易学函数,提供更丰富的应用细节。在用户更为广泛的MD编辑器中实现此方式。比如有道云笔记、为知笔记、印象笔记等。并争取介绍移动端(Android & iOS)实现此方式。也希望在Gitbook中实现。
\n希望能将师父的六爻和八字讲义,『增删卜易』等著作制作成Gitbook,将精彩的卦例和名人八字建成易学数据库。这样就可以通过我的易学函数直接获取, 比如 \\paibazi{蒋介石}
。
\n附录: \n命令列表 \n纳音
\n爻符
\n排卦
\n卦爻细节
\n排八字
\n八字细节
\n发布 \n脚本文件的原始路径 是https://github.com/maiernte/img/raw/master/libs/bundle.js
。因为涉及到跨域问题,要通过 Gitkack 重链接,把上述路径输入到 Githack 的地址框,会得到「应用地址」和「开发地址」。
\n应用地址 :
\nhttps://rawcdn.githack.com/maiernte/img/11a1bb572a6875dbf434a7fc457ea2fdd329f7db/libs/bundle.js
\n开发地址 :
\nhttps://raw.githack.com/maiernte/img/master/libs/bundle.js
\n查看当前易学函数库版本 \n在 chrome 浏览其中打开此博文,Mac 系统中按 ⌘+⌥+I
,Windows 系统 Ctr+⇧+I
,或者 Chrome 菜单栏调出 “开发者工具”,选择 Console 页面,即可显示当前易学库版本和时间。
"},{"title":"搭建Hexo博客的流水账","date":"2019-07-25T03:49:15.000Z","urlname":"how-build-my-hexo-blog","toc":true,"notshow":false,"_content":"\n\n\n建网过程中的一些流水账。以备将来查询。\n\n\n\n# 建立网站\n\n## Github配置\n\n输入命令 `ssh-keygen -t rsa -b 4096 -C \"myname@gmail.com\"`。\n\n\n\n密码 `T1`。(下列展开后复制)\n\n> 将文件 ~/.ssh/id_rsa.pub 中的内容复制到 Github 的SSH-Key 内就可以了。(备份文件已上传百度网盘)\n\n3. 在Github上新建SSH-Key名称为`gmail`\n\n[具体步骤参阅此文章](https://gavinlee1.github.io/2017/02/25/十步之内轻松搞定-Hexo-GitHub搭建个人博客/)\n\n```\nssh-keygen -t rsa -b 4096 -C \"username@gmail.com\"\n[Enter]\n[password T..1]\n\neval \"$(ssh-agent -s)\"\nssh-add -K ~/.ssh/id_rsa\n\ncd ~\ncd .ssh\nls\nvim id_rsa.pub\n(然后复制钥匙串)\n```\n4. 测试公匙\n\n```\n$ ssh -T git@github.com\n\nHi username! You've successfully authenticated, but GitHub does not provide shell access.\n```\n\n## 安装Hexo\n\n参考资料[^1] [^7]。\n1. 安装node.js 因为以前已经安装过,所以跳过。\n2. 安装 Hexo `$ npm install hexo-cli -g` \n3. 创建网站\n```command\nmkdir mywiki\ncd mywiki\nhexo init\nnpm install\n```\n4. 生成静态页面 `hexo g` or `hexo generate`\n5. 启动本地网站服务 `hexo s` or `hexo server`\n> 网站一般会运行在 http://localhost:4000/\n> Press Ctrl+C to stop.\n\n6. 用pow做服务本地运行\n\n**Install**\n\n```\n$ curl get.pow.cx | sh\n```\n\n**Setup**\n\nSymlink the folder into `~/.pow`\n\n```\n$ cd ~/.pow\n$ ln -s /path/to/test\n```\n\n## 发布到Github\n\n终于搭建好站点部署环境啦,那么要怎么样将我们本地生成预览好的页面发布到github上呢?很简单,Follow!\n\n首先,打开blog目录下的`_config.yml`,找到deploy段,配置成这样\n\n> deploy:\n> type: git\n> repository: git@github.com:yourname/yourname.github.io.git\n> branch: master\n\n注意将代码里面的yourname换成你账号的username。\n\n设置git身份信息\n\n> git config --global user.name \"你的用户名\"\n> git config --global user.email \"你的邮箱\" \n\n执行以下指令进行部署\n\n`hexo d -g `\n\n如果提示没找到git,请先执行以下指令\n\n`cnpm install hexo-deployer-git --save` \n\n再次部署后,浏览器打开 [https://yourname.github.io](https://yourname.github.io/) 就可以看到刚才本地预览页面。\n\n## 网站基本配置\n\n### Next 主题\n\n主题配置文件说明\n\n{% fold 点击显/隐内容 %}\n\n```ini\n# Hexo 站点配置文件\n## Docs: https://hexo.io/docs/configuration.html\n## Source: https://github.com/hexojs/hexo/\n\n# 网站配置\ntitle: Hexo # 网站标题\nsubtitle: # 网站副标题\ndescription: # 网站描述\nauthor: John Doe # 你的昵称\nlanguage: # 网站使用的语言(英文:en, 简体中文:zh-Hans,繁体中文:zh-tw)\ntimezone: # 网站时区,用于生成页面时填充相关时间,默认使用电脑时区,一般不用改\n\n# URL\n## 如果你的站点要放入子目录, 请将url设置为'http://yoursite.com/child' 并将根目录设置为'/child/'\nurl: http://yoursite.com # 站点网址\nroot: / # 网站根目录\npermalink: :year/:month/:day/:title/ #文单的永久链接格式\npermalink_defaults: # 永久链接中各部分的默认值\n\n# 目录\nsource_dir: source # 资源文件夹,这个文件夹用来存放博客内容\npublic_dir: public # 公共文件夹,这个文件夹用来存放生成的站点静态文件\ntag_dir: tags # 标签文件夹\narchive_dir: archives # 归档文件夹\ncategory_dir: categories # 分类文件夹\ncode_dir: downloads/code # Include code文件夹\ni18n_dir: :lang # 国际化文件夹,存放各种语言定义\nskip_render: # 跳过指定文件的渲染\n\n# 写作\nnew_post_name: :title.md # 新文章的文件名称\ndefault_layout: post # 预设布局\ntitlecase: false # 把标题转换为 title case\nexternal_link: true # 在新标签中打开链接\nfilename_case: 0 # 把文件名称转换为 (1) 小写或 (2) 大写\nrender_drafts: false # 显示草稿\npost_asset_folder: false # 启动 Asset 文件夹\nrelative_link: false # 把链接改为与根目录的相对位址\nfuture: true # 显示未来的文章\nhighlight: # 代码块的设置\n enable: true\n line_number: true\n auto_detect: false\n tab_replace:\n\n# 分类 & 标签\ndefault_category: uncategorized # 默认分类\ncategory_map: # 分类别名\ntag_map: # 标签别名\n\n# 日期 / 时间格式\n## Hexo 使用 Moment.js 来解析和显示时间\n## http://momentjs.com/docs/#/displaying/format/\ndate_format: YYYY-MM-DD # 日期格式\ntime_format: HH:mm:ss # 时间格式\n\n# 分页\n## 每页显示的文章量 (0 = 关闭分页功能)\nper_page: 10\npagination_dir: page\n\n# 扩展\n## Plugins: https://hexo.io/plugins/\n## Themes: https://hexo.io/themes/\ntheme: landscape # 主题\n\n# 部署\n## Docs: https://hexo.io/docs/deployment.html\ndeploy:\n type:\n```\n\n{% endfold %}\n\n### Wikitten主题\n\n具体配置参考[开发者说明](https://github.com/zthxxx/hexo-theme-Wikitten/blob/master/README_zh-CN.md),更详细的描述参阅[hexo-theme-icarus](https://github.com/ppoffice/hexo-theme-icarus/wiki)。为了与主题Next不冲突,作以下修改。\n\n1. 自行修改 `tags`, `about`,`categories` 等`index.md`,而不能从主题复制,覆盖站点原有设置。\n2. `languages\\zh-CN.yml` 重命名为 `zh-Hans.yml`\n3. `_config.yml` 菜单作以下更改\n\n```ini\nmenu:\n 首页: /\n 归档: /archives/\n 分类: /categories/\n 标签: /tags/\n 关于: /about/\n```\n\n4. `thumbnail: true` 使得每个post在快速列表里,显示图标。但就是每个帖子都要设定,很麻烦。\n5. post 中的 toc 要设置为 true,如果需要显示目录的话。\n\n### 同时部署两个项目\n\n第一个项目使用 Github 上面默认的 Github Pages,即 `username.github.io` 。在站点配置文件中如下:\n\n```\nurl: http://username.github.io\nroot: /\n...\n...\ndeploy:\n type: git\n repository: git@github.com:username/username.github.io.git\n branch: master\n\n```\n\n\n第二个站点开通一个 普通的repository,添加名为`gh-pages` 的Branch,并将gh-pages` 设为默认Branch。我将第二个仓库命名为 wiki ,那第二个站点就运行在 `https://username.github.io/wiki`次级目录下面。\n\n站点配置文件更改如下:\n\n```\nurl: http://username.github.io/wiki\nroot: /wiki/\n...\n...\ndeploy:\n type: git\n repository: git@github.com:username/wiki.git\n branch: gh-pages\n```\n\n同样用 `hexo d -g` 部署命令发布,两个站点就都运行起来了。\n\n为了使得两个项目使用同一个笔记资源,将站点中的 source 文件夹移到项目意外,将配置文件里的 `source_dir: source` 改为 `source_dir: ../source`(这里使用了相对目录)。\n\n[参考文章][multipages] (细节已经失效,但思路值得参考)\n\n### 站内搜索\n\n1. 安装插件\n\n```shell\nnpm install hexo-generator-search --save\nnpm install hexo-generator-searchdb --save\n```\n\n2. 配置hexo站点主配置文件``_config.yml``, 添加\n\n```ini\nsearch:\n path: search.xml\n field: post\n format: html\n limit: 10000\n```\n\n3. 修改next主题配置文件`_config.yml`,启用 `local_search`\n\n```ini\nlocal_search:\n\tenable: true\n\ttrigger: auto\n\ttop_n_per_article: 1\n```\n\n4. 生成`search.xml`文件以及发布\n\n```shell\nhexo g\nhexo d -g # 本地运行 hexo s\n```\n\n### 去除主题字样\n\n关于添加头像、标签、分类、「关于」等具体的修改,跟着参考资料[^2]里面的步骤做就好了。最后说说如何去掉底部强力驱动及主题字样。\n\n1. 找到 `\\themes\\next\\layout_partials\\`下面的`footer.swig`文件,打开:\n\n```html\n\n {{ __('footer.powered', '
Hexo ') }}\n
\n\n```\n\n第一条是“由Hexo驱动” 的Hexo链接,把xml段删除,只留两个单引号''。\n\n第二条是“主题-Next.XX”,将xml段都删掉,不留引号。\n\n```html\n\n {{ __('footer.powered', '') }}\n
\n\n {{ __('footer.theme') }}\n
\n```\n\n2. 找到这个地方`\\themes\\next\\languages\\ `下面的语言文件`zh-Hans.yml`(以中文为例):\n\n```ini\nfooter:\n powered: \"由 %s 强力驱动\"\n theme: 主题\n```\n\n将上面的文字改成自己想要的即可。\n\n## 添加评论功能\n\n#### Gitment\n\n**此项目已经终止!**改为Disqus,以及其它评论服务。\n\n1. 安装功能模块。在项目的根目录:\n\n```shell\nnpm i --save gitment\n```\n\n2. 在Github申请应用。`settings -> Developer Settings -> OAuth Apps`\n\n```ini\nApplication name:随便写\nHomepage URL:这个也可以随意写,就写你的博客地址就行\nApplication description:描述,也可以随意写\nAuthorization callback URL:这个必须写你的博客地址\n```\n\n申请好之后点注册,然后就可以看到两个东西`ClientID`和`Client Secret`,后面会用到。\n\n3. 配置Gitment,打开`themes/next/_config.yml`:\n\n```javascript\n# Gitment\n# Introduction: https://imsun.net/posts/gitment-introduction/\ngitment:\n enable: true\n mint: true # RECOMMEND, A mint on Gitment, to support count, language and proxy_gateway\n count: true # Show comments count in post meta area\n lazy: false # Comments lazy loading with a button\n cleanly: false # Hide 'Powered by ...' on footer, and more\n language: # Force language, or auto switch by theme\n github_user: {you github user id}\n github_repo: 随便写一个你的公开的git仓库就行,到时候评论会作为那个项目的issue\n client_id: {刚才申请的ClientID}\n client_secret: {刚才申请的Client Secret}\n proxy_gateway: # Address of api proxy, See: https://github.com/aimingoo/intersect\n redirect_protocol: # Protocol of redirect_uri with force_redirect_protocol when mint enabled\n```\n\n注意到这里基本上已经OK了,再看你的博客应该可以显示评论了.不过每篇博客都需要你手动初始化评论功能(如果你的历史博客很多那就一篇一篇去点吧,不过貌似有人写了批量处理脚本,没试过哈).\n\n而由于 github 中 `Issues` 的 `label` 长度限制为最大 `50` 个字符,当 文章标题长度过长时,该label就会生成失败,而导致初始化错误,弹出 `Validation Failed` 的提示。\n\n通过网上的搜索,发现可以使用文章创建时的时间来代替文章标题,作为这个唯一的label标签。\n\n找到giment的配置:`/themes/next/layout/_third-party/comments/gitment.swig` 文件, 并找到如下部分:\n\n```javascript\nvar gitment = new {{CommentsClass}}({\n id: window.location.pathname,\n owner: '{{ theme.gitment.github_user }}',\n repo: '{{ theme.gitment.github_repo }}',\n ...\n```\n\n将`id`后面的路径值修改为 'itfanr\\_blog\\_\\{{ date(page.date, \"YYYYMMDDhhmmss\") \\}}' 就可以了。\n\n#### Disqus\n\n目前只开通[Disqus](https://disqus.com/)的评论。\n\n1. 开通Disqus账号,并添加一个点 应用。具体步骤参看[Hexo搭建博客系列:(六)Hexo添加Disqus评论](https://www.jianshu.com/p/d68de067ea74)。\n2. 在`主题配置文件`(_config.yml)文件中找到以下代码,添加你Disqus设置的Website Name在shortname。\n\n```json\n# Disqus\ndisqus:\n enable: true\n shortname: tian-ya-de-zhi-fu\n count: true\n```\n\n更详细请参阅网上。\n\n\n\n## 新文章命名规则\n\n发表新文章后系统崩溃。\n\n在根目录的配置文件中找到类似的:\n\n```\n# Writing\nnew_post_name: 新文章.md # File name of new posts\ndefault_layout: post\n...\n```\n\n将其改为由时间和题目组成: \n\n```\n# Writing\nnew_post_name: year-:month-:day-:title.md # File name of new posts\ndefault_layout: post\n...\n```\n\n\n\n# 进阶设置\n\n## 显示\n\n### 首页文章显示预览\n\n默认设定下。首页的文章每一篇都显示全文,不方便浏览。需要到主题的配置文件里将`auto_excerpt` 的 `enable` 改为 `true`。而`length` 字节表示文章预览的长度。\n\n```\n# Automatically Excerpt. Not recommand.\nauto_excerpt:\n\tenable: true\n\tlength: 300\n```\n\n### 永久链接\n\n新文章的名字采用了中文([见上](#id_new_post_name)),中文出现在地址栏上不美观。也不利于SEO,以及增加了博文URL的层数。解决办法是给每篇文章制定链接地址。\n\n1. 修改网站的配置文件中永久地址的设定:\n\n```ini\npermalink: :urlname.html\n```\n\n2. 给每篇文章指定 `urlname`\n\n```ini\ntitle: 《少有人走的路》笔记\ndate: 2019-07-21 00:14:37\nurlname: road-less-traveled-summary\ntags:\n - 心理学\ncategories: 读书笔记\n```\n\n编译后新的地址为 `http://mywiki.test/road-less-traveled-summary.html`。看起来就清爽多了。\n\n### 图片链接\n\n1. 开通[资源文件夹](https://hexo.io/zh-cn/docs/asset-folders),创建新文章的时候会自动建立一个与文章同名的文件夹。可以将图片或者其它资源文件放到里面(*打算将思维导图放到这里*)。因为自定义了[文件名的方式](#id_new_post_name),所以根据官方描述无效。\n2. 安装第三方插件`hexo-asset-image`\n\n```bash\nnpm install hexo-asset-image --save\n```\n\n在文章中图片的链,可以省略路径,直接引用图片名:\n\n```markdown\n![mypicture](mypicture.jpg)\n```\n\n3. 修改插件代码\n\n我在使用永久链接的时候在每篇文章的实际地址都加上了`.html`。文章的地址显示如下\n\n```http\nhttp://mywebsite.com/my-articel-url.html\n```\n\n而插件生成的图片地址如下:\n\n```\nhttp://mywebsite.com/my-articel-url.htm/mypicture.jpg\n```\n\n多出了 `.htm` 这几个字符,而实际图片的地址应该是:\n\n```http\nhttp://mywebsite.com/my-articel-url/mypicture.jpg\n```\n\n找到 `node_modules/hexo-asset-imge` 目录下的 `index.js` 文件,将以下代码中的 `1` 改成 `5`,就可以正常显示图片了。\n\n```javascript\nvar endPos = link.length - 1\n```\n\n考虑到将来项目膨胀,应该将图片放到图床,比如七牛。\n\n### 站内链接\n\n导航到站内别的文章使用以下方式就可以。\n\n链接方式 `[文章名](urlname.html)`\n\n\n\n### 设定代码区的高度\n\nHexo自身的式样暂时还没找到。其实也不太需要。如果代码不长直接显示全部就好了。太长的话不如放到$Gits$,通过限制gist的高度实现。**Net**主题修改 `next/themes/next/source/css/_custom/custom.styl` ,Wikitten主题则在文件 `wikitten/themes/Wikitten/source/css/_partial/article.styl` 中修改。\n\n```CSS\n.gist \n.gist-file\n.gist-data {\n max-height: 450px;\n}\n```\n\n\n\n### 添加注脚支持\n\n[插件项目](https://github.com/LouisBarranqueiro/hexo-footnotes)\n\n1. 安装插件 `npm install hexo-footnotes --save`\n2. **项目配置文件** 添加\n\n```ini\n# 注意第二行的前面没有 \"-\" 符号,官方说明有. 但是会导致无法编译.\nplugins:\n hexo-footnotes\n```\n\n\n\n### 更换Markdown渲染\n\n[Markdown-it-plus](https://github.com/CHENXCHEN/hexo-renderer-markdown-it-plus)\n\n如果更换了这个渲染,就无需上面那个注脚插件, 因为已经支持了. 首先卸载掉旧的渲染, 然后安装新的.\n\n```sh\nnpm un hexo-renderer-marked --save\nnpm i hexo-renderer-markdown-it-plus --save\n# 查看是否已经安装\nnpm ls hexo-renderer-markdown-it-plus\n```\n\n然后在项目配置文件, 添加下面文字. 更深入的设置, 参看 markdown-it-plus 项目的说明文档.\n\n```ini\nmarkdown_it_plus:\n highlight: true\n html: true\n xhtmlOut: true\n breaks: true\n langPrefix:\n linkify: true\n typographer:\n quotes: “”‘’\n plugins:\n```\n\n\n\n## 辅助功能\n\n### 本地运行服务\n\n在Mac中可以用本地服务[Pow](http://pow.cx)运行网站,不用每次更改重启服务器`hexo s`。\n\n1. 安装Pow\n\n```bash\n$ curl get.pow.cx | sh\n```\n\n2. 建立项目链接,`myapp` 是项目的名字。比如真实路径`~/Project/mywiki`\n\n```bash\n$ cd ~/.pow\n$ ln -s /path/to/myapp\n```\n\n3. 执行完以上步骤后在浏览器打开链接 ``http://myapp.test/`` 就能看到网站。更改内容后要执行==生成== 命令才能看到更新`hexo generate` or `hexo g` 。\n4. 不想运行,直接把项目文件夹删除就可以。\n\n### 绑定个人域名\n\n1. 在万网买一个顶级域名,开通后添加两个域名解释\n\n```ini\n#记录名 主机记录 记录值\nCNAME www username.github.io\nCNAME @ username.github.io\n```\n\n2. 在项目的根目录添加一个名为 `CNAME` 的文件,然后填入万网注册的域名, 这里是 `goldentianya.pub` 。第一次我是手动添加的。添加后进入 repository 的 setting, 往下混动到 Custom domain ,可以看到系统已经自动把用户域名加进去了。\n3. 将来不希望用这个域名,域名重定向后,在浏览器输入 username.github.io 后 Chrome 会一直转向 goldentianya.pub 。需要打开`开发者工具`,选中 `disable cache` ,再刷新一遍地址就好了。\n4. `next` 项目要将 `CNAME` 文件复制到 `/themes/next/source` 目录下个,编译的时候会拷贝到 `public` 目录。`wikitten` 项目不需要,域名定向以后能找到 `goldentianya/wiki` 站点,十分神奇。\n\n### 隐藏文章\n\n#### 全隐藏\n\n根据插件`hext-sage-posts` 作者的博文[^9]中描述,安装插件\n\n```bash\nnpm install hexo-sage-posts --save\n```\n\n并将初创时的`Hello-world.md` 文章的Metadata中加入`sage: true`,文章就从网站上消失了。但在别的文章下面导航栏中,通过“下一篇”或者“上一篇”还是能被找到。被隐藏的文章其地址仍旧没有改变,只是不不出现在首页导航,和分类中而已。\n\n#### 从首页隐藏\n\n为了不让太琐碎的文章充斥首页,但又可以在分类中找到。可以采用这种方式。\n\n1. 在文章的Metadata部分添加关键字 `notshow: true`。\n2. 找到 `Hexo\\themes\\next\\layout\\index.swig` 文件中以下部分:\n\n```html\n{% block content %}\n \n {% for post in page.posts %}\n {{ post_template.render(post, true) }} \n {% endfor %}\n \n\n {% include '_partials/pagination.swig' %}\n{% endblock %}\n```\n\n将以上代码第四行修改为\n\n```html\n{% if post.notshow != true %}\n\t{{ post_template.render(post, true) }}\n{% endif %}\n```\n\n\n\n#### 文章加密\n\n1. 安装插件 `hexo-blog-encrypt`\n\n```\nnpm install --save hexo-blog-encrypt\n```\n\n并在**站点配置**文件中启用该插件:\n\n```json\nencrypt:\n enable: true\n```\n\n2. 然后在文章的头部添加上对应的字段\n\n```ini\n---\ntitle: 文章加密\ndate: 2019-01-04T22:20:13.000Z\ncategory: 教程\ntags:\n - 博客\n - Hexo\nkeywords: 博客文章密码\npassword: TloveY\nabstract: 此文章含有敏感内容。\nmessage: 输入密码,查看文章\n---\n```\n\n- password: 是该博客加密使用的密码\n\n- abstract: 是该博客的摘要,会显示在博客的列表页\n\n- message: 这个是博客查看时,密码输入框上面的描述性文字\n\n\n\n### Hexo Admin\n\n安装后台管理插件 `hexo-damin`\n\n```bash\nnpm install --save hexo-admin\nhexo server -d\nopen http://localhost:4000/admin/\n```\n\n初次运行后,设置管理账户。\n\n```\nadmin:\n username: maiernte\n password_hash: $2a$10$QeeWfDwIxbJ94h8EDfplDe9aLB0uaNrjMeVGhaYnfF0BBDosDze0S\n secret: NamoAmitabha!\n```\n\n### 访问量统计\n\n[介绍文章](https://bjtu-hxs.github.io/2018/06/12/leancloud-config/) (*有图*)\n\n[原文(有代码)](https://notes.doublemine.me/2015-10-21-%E4%B8%BANexT%E4%B8%BB%E9%A2%98%E6%B7%BB%E5%8A%A0%E6%96%87%E7%AB%A0%E9%98%85%E8%AF%BB%E9%87%8F%E7%BB%9F%E8%AE%A1%E5%8A%9F%E8%83%BD.html#%E9%85%8D%E7%BD%AELeanCloud)\n\n1. 第一步, 到Lean Cloud增添一个应用,并创建类似Counter 的类。设置成 $ 所有人可读可写 $\n2. 在安全中心添加 **Web 安全域名**, 添加Blog域名,防止有人Hack我们的数据库。\n\n3. 按上面的文章修改 Hexo 以及主题配置。\n\n\n\n### 在线交流\n\n使用 [道客](https://www.daovoice.io/) Daovoice\n\n接入方式\n\n1. 将下面代码粘贴在页面的 之前。\n\n```\n\n```\n\n2. 调用下面的 JavaScript 与注册用户沟通\n\n```\ndaovoice('init', {\n app_id: \"5e5fa370\",\n user_id: \"NO_89757\", // 必填: 该用户在您系统上的唯一ID\n email: \"daovoice@example.com\", // 选填: 该用户在您系统上的主邮箱\n name: \"道客船长\", // 选填: 用户名\n signed_up: 1449821660 // 选填: 用户的注册时间,用Unix时间戳表示\n});\ndaovoice('update');\n```\n\n3. 调用下面的 JavaScript 与匿名访客沟通\n\n```\ndaovoice('init', {\n app_id: \"5e5fa370\"\n});\ndaovoice('update');\n```\n\n完成代码粘贴后,检测是否成功接入: Ping 一下\n\n\n\n### 待解决问题\n\n- [x] 文章评论\n- [x] 在线编辑?\n- [x] 使用七牛图床\n- [ ] 脑图摆放 ([官方文档/数据文件](https://hexo.io/zh-cn/docs/data-files))\n- [x] 文件下载(可能还是要靠七牛)\n- [x] 用submodule管理主题 [在 hexo 中使用 git submodules 管理主题](https://juejin.im/post/5c2e22fcf265da615d72c596)\n- [ ] SEO\n- [ ] 访问量统计\n- [ ] 加速 [Github Pages + CDN全站加速](https://www.jianshu.com/p/ccc0cc8c14a0)\n\n- [ ] [在vps上部署hexo博客的那些事](https://segmentfault.com/a/1190000019104144)\n\n# 有趣插件\n\n- [x] [短地址 & 指定摘要](https://www.jianshu.com/p/805bd0b65d98) \n\n- [ ] [农历/很好的学习做插件的例子](https://github.com/inchei/hexo-lunar-calendar)\n\n- [ ] [插入pdf](https://github.com/superalsrk/hexo-pdf/) 可以学习如何插入epub\n\n- [ ] [hexo-include](https://github.com/pirtleshell/hexo-include) 加载文本内容, html, js, text\n\n- [x] [Hexo-NexT给文章添加结束语](https://wangc1993.github.io/2019/01/10/6/)\n\n- [x] [Hexo-NexT接入网页在线联系功能](https://wangc1993.github.io/2019/01/10/5/)\n\n- [ ] [include markdown](https://github.com/tea3/hexo-include-markdown)\n\n\n\n### ---\n\n\n\n[^1]: [Hexo博客搭建全攻略(一):基于Hexo+Github环境搭建](https://blog.annieyu.com/posts/207737771.html)\n[^2]: [Hexo博客搭建全攻略(二):NexT主题配置](https://blog.annieyu.com/posts/976961586.html)\n[^3]: [Hexo博客搭建全攻略(三):三方服务集成](https://blog.annieyu.com/posts/1209152972.html)\n[^4]: [Hexo博客搭建全攻略(四):高级应用](https://blog.annieyu.com/posts/3333782006.html)\n[^5]: [Hexo博客搭建全攻略(五):基于Github Issue搭建评论系统](https://blog.annieyu.com/posts/a341668e.html)\n[^6]: [Hexo博客搭建全攻略(六):博文图片处理](https://www.jianshu.com/p/2bb87ae49ff6)\n[^7]: [十步之内轻松搞定 Hexo + GitHub搭建个人博客](https://gavinlee1.github.io/2017/02/25/%E5%8D%81%E6%AD%A5%E4%B9%8B%E5%86%85%E8%BD%BB%E6%9D%BE%E6%90%9E%E5%AE%9A-Hexo-GitHub%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/) \n[^8]: [如何优雅的 隐藏博客](https://vanchchen.github.io/p/7587.html)\n[^9]: [为 Hexo 博客添加隐藏文章 / 限定公开功能](https://blessing.studio/hexo-plugin-to-make-posts-sage-unlisted/)\n[^10]: [Hexo 中文文档](https://hexo.io/zh-cn/docs/index.html)\n\n[multipages]: ttp://chitanda.me/2015/11/03/multiple-git-pages-in-one-github-account/\n\n[讲解详细的博客](https://binglumeng.github.io/2017/03/21/Hexo学习笔记/) \n\n[这个也不错](http://yearito.cn/posts/hexo-advanced-settings.html)\n\n\n","source":"_posts/IT/Web/搭建Hexo博客的流水账.md","raw":"---\ntitle: 搭建Hexo博客的流水账\ndate: 2019-07-25 05:49:15\nurlname: how-build-my-hexo-blog\ntoc: true\ntags: [Hexo]\ncategories: [IT, Web]\nnotshow: false\n\n---\n\n\n\n建网过程中的一些流水账。以备将来查询。\n\n\n\n# 建立网站\n\n## Github配置\n\n输入命令 `ssh-keygen -t rsa -b 4096 -C \"myname@gmail.com\"`。\n\n\n\n密码 `T1`。(下列展开后复制)\n\n> 将文件 ~/.ssh/id_rsa.pub 中的内容复制到 Github 的SSH-Key 内就可以了。(备份文件已上传百度网盘)\n\n3. 在Github上新建SSH-Key名称为`gmail`\n\n[具体步骤参阅此文章](https://gavinlee1.github.io/2017/02/25/十步之内轻松搞定-Hexo-GitHub搭建个人博客/)\n\n```\nssh-keygen -t rsa -b 4096 -C \"username@gmail.com\"\n[Enter]\n[password T..1]\n\neval \"$(ssh-agent -s)\"\nssh-add -K ~/.ssh/id_rsa\n\ncd ~\ncd .ssh\nls\nvim id_rsa.pub\n(然后复制钥匙串)\n```\n4. 测试公匙\n\n```\n$ ssh -T git@github.com\n\nHi username! You've successfully authenticated, but GitHub does not provide shell access.\n```\n\n## 安装Hexo\n\n参考资料[^1] [^7]。\n1. 安装node.js 因为以前已经安装过,所以跳过。\n2. 安装 Hexo `$ npm install hexo-cli -g` \n3. 创建网站\n```command\nmkdir mywiki\ncd mywiki\nhexo init\nnpm install\n```\n4. 生成静态页面 `hexo g` or `hexo generate`\n5. 启动本地网站服务 `hexo s` or `hexo server`\n> 网站一般会运行在 http://localhost:4000/\n> Press Ctrl+C to stop.\n\n6. 用pow做服务本地运行\n\n**Install**\n\n```\n$ curl get.pow.cx | sh\n```\n\n**Setup**\n\nSymlink the folder into `~/.pow`\n\n```\n$ cd ~/.pow\n$ ln -s /path/to/test\n```\n\n## 发布到Github\n\n终于搭建好站点部署环境啦,那么要怎么样将我们本地生成预览好的页面发布到github上呢?很简单,Follow!\n\n首先,打开blog目录下的`_config.yml`,找到deploy段,配置成这样\n\n> deploy:\n> type: git\n> repository: git@github.com:yourname/yourname.github.io.git\n> branch: master\n\n注意将代码里面的yourname换成你账号的username。\n\n设置git身份信息\n\n> git config --global user.name \"你的用户名\"\n> git config --global user.email \"你的邮箱\" \n\n执行以下指令进行部署\n\n`hexo d -g `\n\n如果提示没找到git,请先执行以下指令\n\n`cnpm install hexo-deployer-git --save` \n\n再次部署后,浏览器打开 [https://yourname.github.io](https://yourname.github.io/) 就可以看到刚才本地预览页面。\n\n## 网站基本配置\n\n### Next 主题\n\n主题配置文件说明\n\n{% fold 点击显/隐内容 %}\n\n```ini\n# Hexo 站点配置文件\n## Docs: https://hexo.io/docs/configuration.html\n## Source: https://github.com/hexojs/hexo/\n\n# 网站配置\ntitle: Hexo # 网站标题\nsubtitle: # 网站副标题\ndescription: # 网站描述\nauthor: John Doe # 你的昵称\nlanguage: # 网站使用的语言(英文:en, 简体中文:zh-Hans,繁体中文:zh-tw)\ntimezone: # 网站时区,用于生成页面时填充相关时间,默认使用电脑时区,一般不用改\n\n# URL\n## 如果你的站点要放入子目录, 请将url设置为'http://yoursite.com/child' 并将根目录设置为'/child/'\nurl: http://yoursite.com # 站点网址\nroot: / # 网站根目录\npermalink: :year/:month/:day/:title/ #文单的永久链接格式\npermalink_defaults: # 永久链接中各部分的默认值\n\n# 目录\nsource_dir: source # 资源文件夹,这个文件夹用来存放博客内容\npublic_dir: public # 公共文件夹,这个文件夹用来存放生成的站点静态文件\ntag_dir: tags # 标签文件夹\narchive_dir: archives # 归档文件夹\ncategory_dir: categories # 分类文件夹\ncode_dir: downloads/code # Include code文件夹\ni18n_dir: :lang # 国际化文件夹,存放各种语言定义\nskip_render: # 跳过指定文件的渲染\n\n# 写作\nnew_post_name: :title.md # 新文章的文件名称\ndefault_layout: post # 预设布局\ntitlecase: false # 把标题转换为 title case\nexternal_link: true # 在新标签中打开链接\nfilename_case: 0 # 把文件名称转换为 (1) 小写或 (2) 大写\nrender_drafts: false # 显示草稿\npost_asset_folder: false # 启动 Asset 文件夹\nrelative_link: false # 把链接改为与根目录的相对位址\nfuture: true # 显示未来的文章\nhighlight: # 代码块的设置\n enable: true\n line_number: true\n auto_detect: false\n tab_replace:\n\n# 分类 & 标签\ndefault_category: uncategorized # 默认分类\ncategory_map: # 分类别名\ntag_map: # 标签别名\n\n# 日期 / 时间格式\n## Hexo 使用 Moment.js 来解析和显示时间\n## http://momentjs.com/docs/#/displaying/format/\ndate_format: YYYY-MM-DD # 日期格式\ntime_format: HH:mm:ss # 时间格式\n\n# 分页\n## 每页显示的文章量 (0 = 关闭分页功能)\nper_page: 10\npagination_dir: page\n\n# 扩展\n## Plugins: https://hexo.io/plugins/\n## Themes: https://hexo.io/themes/\ntheme: landscape # 主题\n\n# 部署\n## Docs: https://hexo.io/docs/deployment.html\ndeploy:\n type:\n```\n\n{% endfold %}\n\n### Wikitten主题\n\n具体配置参考[开发者说明](https://github.com/zthxxx/hexo-theme-Wikitten/blob/master/README_zh-CN.md),更详细的描述参阅[hexo-theme-icarus](https://github.com/ppoffice/hexo-theme-icarus/wiki)。为了与主题Next不冲突,作以下修改。\n\n1. 自行修改 `tags`, `about`,`categories` 等`index.md`,而不能从主题复制,覆盖站点原有设置。\n2. `languages\\zh-CN.yml` 重命名为 `zh-Hans.yml`\n3. `_config.yml` 菜单作以下更改\n\n```ini\nmenu:\n 首页: /\n 归档: /archives/\n 分类: /categories/\n 标签: /tags/\n 关于: /about/\n```\n\n4. `thumbnail: true` 使得每个post在快速列表里,显示图标。但就是每个帖子都要设定,很麻烦。\n5. post 中的 toc 要设置为 true,如果需要显示目录的话。\n\n### 同时部署两个项目\n\n第一个项目使用 Github 上面默认的 Github Pages,即 `username.github.io` 。在站点配置文件中如下:\n\n```\nurl: http://username.github.io\nroot: /\n...\n...\ndeploy:\n type: git\n repository: git@github.com:username/username.github.io.git\n branch: master\n\n```\n\n\n第二个站点开通一个 普通的repository,添加名为`gh-pages` 的Branch,并将gh-pages` 设为默认Branch。我将第二个仓库命名为 wiki ,那第二个站点就运行在 `https://username.github.io/wiki`次级目录下面。\n\n站点配置文件更改如下:\n\n```\nurl: http://username.github.io/wiki\nroot: /wiki/\n...\n...\ndeploy:\n type: git\n repository: git@github.com:username/wiki.git\n branch: gh-pages\n```\n\n同样用 `hexo d -g` 部署命令发布,两个站点就都运行起来了。\n\n为了使得两个项目使用同一个笔记资源,将站点中的 source 文件夹移到项目意外,将配置文件里的 `source_dir: source` 改为 `source_dir: ../source`(这里使用了相对目录)。\n\n[参考文章][multipages] (细节已经失效,但思路值得参考)\n\n### 站内搜索\n\n1. 安装插件\n\n```shell\nnpm install hexo-generator-search --save\nnpm install hexo-generator-searchdb --save\n```\n\n2. 配置hexo站点主配置文件``_config.yml``, 添加\n\n```ini\nsearch:\n path: search.xml\n field: post\n format: html\n limit: 10000\n```\n\n3. 修改next主题配置文件`_config.yml`,启用 `local_search`\n\n```ini\nlocal_search:\n\tenable: true\n\ttrigger: auto\n\ttop_n_per_article: 1\n```\n\n4. 生成`search.xml`文件以及发布\n\n```shell\nhexo g\nhexo d -g # 本地运行 hexo s\n```\n\n### 去除主题字样\n\n关于添加头像、标签、分类、「关于」等具体的修改,跟着参考资料[^2]里面的步骤做就好了。最后说说如何去掉底部强力驱动及主题字样。\n\n1. 找到 `\\themes\\next\\layout_partials\\`下面的`footer.swig`文件,打开:\n\n```html\n\n {{ __('footer.powered', '
Hexo ') }}\n
\n\n```\n\n第一条是“由Hexo驱动” 的Hexo链接,把xml段删除,只留两个单引号''。\n\n第二条是“主题-Next.XX”,将xml段都删掉,不留引号。\n\n```html\n\n {{ __('footer.powered', '') }}\n
\n\n {{ __('footer.theme') }}\n
\n```\n\n2. 找到这个地方`\\themes\\next\\languages\\ `下面的语言文件`zh-Hans.yml`(以中文为例):\n\n```ini\nfooter:\n powered: \"由 %s 强力驱动\"\n theme: 主题\n```\n\n将上面的文字改成自己想要的即可。\n\n## 添加评论功能\n\n#### Gitment\n\n**此项目已经终止!**改为Disqus,以及其它评论服务。\n\n1. 安装功能模块。在项目的根目录:\n\n```shell\nnpm i --save gitment\n```\n\n2. 在Github申请应用。`settings -> Developer Settings -> OAuth Apps`\n\n```ini\nApplication name:随便写\nHomepage URL:这个也可以随意写,就写你的博客地址就行\nApplication description:描述,也可以随意写\nAuthorization callback URL:这个必须写你的博客地址\n```\n\n申请好之后点注册,然后就可以看到两个东西`ClientID`和`Client Secret`,后面会用到。\n\n3. 配置Gitment,打开`themes/next/_config.yml`:\n\n```javascript\n# Gitment\n# Introduction: https://imsun.net/posts/gitment-introduction/\ngitment:\n enable: true\n mint: true # RECOMMEND, A mint on Gitment, to support count, language and proxy_gateway\n count: true # Show comments count in post meta area\n lazy: false # Comments lazy loading with a button\n cleanly: false # Hide 'Powered by ...' on footer, and more\n language: # Force language, or auto switch by theme\n github_user: {you github user id}\n github_repo: 随便写一个你的公开的git仓库就行,到时候评论会作为那个项目的issue\n client_id: {刚才申请的ClientID}\n client_secret: {刚才申请的Client Secret}\n proxy_gateway: # Address of api proxy, See: https://github.com/aimingoo/intersect\n redirect_protocol: # Protocol of redirect_uri with force_redirect_protocol when mint enabled\n```\n\n注意到这里基本上已经OK了,再看你的博客应该可以显示评论了.不过每篇博客都需要你手动初始化评论功能(如果你的历史博客很多那就一篇一篇去点吧,不过貌似有人写了批量处理脚本,没试过哈).\n\n而由于 github 中 `Issues` 的 `label` 长度限制为最大 `50` 个字符,当 文章标题长度过长时,该label就会生成失败,而导致初始化错误,弹出 `Validation Failed` 的提示。\n\n通过网上的搜索,发现可以使用文章创建时的时间来代替文章标题,作为这个唯一的label标签。\n\n找到giment的配置:`/themes/next/layout/_third-party/comments/gitment.swig` 文件, 并找到如下部分:\n\n```javascript\nvar gitment = new {{CommentsClass}}({\n id: window.location.pathname,\n owner: '{{ theme.gitment.github_user }}',\n repo: '{{ theme.gitment.github_repo }}',\n ...\n```\n\n将`id`后面的路径值修改为 'itfanr\\_blog\\_\\{{ date(page.date, \"YYYYMMDDhhmmss\") \\}}' 就可以了。\n\n#### Disqus\n\n目前只开通[Disqus](https://disqus.com/)的评论。\n\n1. 开通Disqus账号,并添加一个点 应用。具体步骤参看[Hexo搭建博客系列:(六)Hexo添加Disqus评论](https://www.jianshu.com/p/d68de067ea74)。\n2. 在`主题配置文件`(_config.yml)文件中找到以下代码,添加你Disqus设置的Website Name在shortname。\n\n```json\n# Disqus\ndisqus:\n enable: true\n shortname: tian-ya-de-zhi-fu\n count: true\n```\n\n更详细请参阅网上。\n\n\n\n## 新文章命名规则\n\n发表新文章后系统崩溃。\n\n在根目录的配置文件中找到类似的:\n\n```\n# Writing\nnew_post_name: 新文章.md # File name of new posts\ndefault_layout: post\n...\n```\n\n将其改为由时间和题目组成: \n\n```\n# Writing\nnew_post_name: year-:month-:day-:title.md # File name of new posts\ndefault_layout: post\n...\n```\n\n\n\n# 进阶设置\n\n## 显示\n\n### 首页文章显示预览\n\n默认设定下。首页的文章每一篇都显示全文,不方便浏览。需要到主题的配置文件里将`auto_excerpt` 的 `enable` 改为 `true`。而`length` 字节表示文章预览的长度。\n\n```\n# Automatically Excerpt. Not recommand.\nauto_excerpt:\n\tenable: true\n\tlength: 300\n```\n\n### 永久链接\n\n新文章的名字采用了中文([见上](#id_new_post_name)),中文出现在地址栏上不美观。也不利于SEO,以及增加了博文URL的层数。解决办法是给每篇文章制定链接地址。\n\n1. 修改网站的配置文件中永久地址的设定:\n\n```ini\npermalink: :urlname.html\n```\n\n2. 给每篇文章指定 `urlname`\n\n```ini\ntitle: 《少有人走的路》笔记\ndate: 2019-07-21 00:14:37\nurlname: road-less-traveled-summary\ntags:\n - 心理学\ncategories: 读书笔记\n```\n\n编译后新的地址为 `http://mywiki.test/road-less-traveled-summary.html`。看起来就清爽多了。\n\n### 图片链接\n\n1. 开通[资源文件夹](https://hexo.io/zh-cn/docs/asset-folders),创建新文章的时候会自动建立一个与文章同名的文件夹。可以将图片或者其它资源文件放到里面(*打算将思维导图放到这里*)。因为自定义了[文件名的方式](#id_new_post_name),所以根据官方描述无效。\n2. 安装第三方插件`hexo-asset-image`\n\n```bash\nnpm install hexo-asset-image --save\n```\n\n在文章中图片的链,可以省略路径,直接引用图片名:\n\n```markdown\n![mypicture](mypicture.jpg)\n```\n\n3. 修改插件代码\n\n我在使用永久链接的时候在每篇文章的实际地址都加上了`.html`。文章的地址显示如下\n\n```http\nhttp://mywebsite.com/my-articel-url.html\n```\n\n而插件生成的图片地址如下:\n\n```\nhttp://mywebsite.com/my-articel-url.htm/mypicture.jpg\n```\n\n多出了 `.htm` 这几个字符,而实际图片的地址应该是:\n\n```http\nhttp://mywebsite.com/my-articel-url/mypicture.jpg\n```\n\n找到 `node_modules/hexo-asset-imge` 目录下的 `index.js` 文件,将以下代码中的 `1` 改成 `5`,就可以正常显示图片了。\n\n```javascript\nvar endPos = link.length - 1\n```\n\n考虑到将来项目膨胀,应该将图片放到图床,比如七牛。\n\n### 站内链接\n\n导航到站内别的文章使用以下方式就可以。\n\n链接方式 `[文章名](urlname.html)`\n\n\n\n### 设定代码区的高度\n\nHexo自身的式样暂时还没找到。其实也不太需要。如果代码不长直接显示全部就好了。太长的话不如放到$Gits$,通过限制gist的高度实现。**Net**主题修改 `next/themes/next/source/css/_custom/custom.styl` ,Wikitten主题则在文件 `wikitten/themes/Wikitten/source/css/_partial/article.styl` 中修改。\n\n```CSS\n.gist \n.gist-file\n.gist-data {\n max-height: 450px;\n}\n```\n\n\n\n### 添加注脚支持\n\n[插件项目](https://github.com/LouisBarranqueiro/hexo-footnotes)\n\n1. 安装插件 `npm install hexo-footnotes --save`\n2. **项目配置文件** 添加\n\n```ini\n# 注意第二行的前面没有 \"-\" 符号,官方说明有. 但是会导致无法编译.\nplugins:\n hexo-footnotes\n```\n\n\n\n### 更换Markdown渲染\n\n[Markdown-it-plus](https://github.com/CHENXCHEN/hexo-renderer-markdown-it-plus)\n\n如果更换了这个渲染,就无需上面那个注脚插件, 因为已经支持了. 首先卸载掉旧的渲染, 然后安装新的.\n\n```sh\nnpm un hexo-renderer-marked --save\nnpm i hexo-renderer-markdown-it-plus --save\n# 查看是否已经安装\nnpm ls hexo-renderer-markdown-it-plus\n```\n\n然后在项目配置文件, 添加下面文字. 更深入的设置, 参看 markdown-it-plus 项目的说明文档.\n\n```ini\nmarkdown_it_plus:\n highlight: true\n html: true\n xhtmlOut: true\n breaks: true\n langPrefix:\n linkify: true\n typographer:\n quotes: “”‘’\n plugins:\n```\n\n\n\n## 辅助功能\n\n### 本地运行服务\n\n在Mac中可以用本地服务[Pow](http://pow.cx)运行网站,不用每次更改重启服务器`hexo s`。\n\n1. 安装Pow\n\n```bash\n$ curl get.pow.cx | sh\n```\n\n2. 建立项目链接,`myapp` 是项目的名字。比如真实路径`~/Project/mywiki`\n\n```bash\n$ cd ~/.pow\n$ ln -s /path/to/myapp\n```\n\n3. 执行完以上步骤后在浏览器打开链接 ``http://myapp.test/`` 就能看到网站。更改内容后要执行==生成== 命令才能看到更新`hexo generate` or `hexo g` 。\n4. 不想运行,直接把项目文件夹删除就可以。\n\n### 绑定个人域名\n\n1. 在万网买一个顶级域名,开通后添加两个域名解释\n\n```ini\n#记录名 主机记录 记录值\nCNAME www username.github.io\nCNAME @ username.github.io\n```\n\n2. 在项目的根目录添加一个名为 `CNAME` 的文件,然后填入万网注册的域名, 这里是 `goldentianya.pub` 。第一次我是手动添加的。添加后进入 repository 的 setting, 往下混动到 Custom domain ,可以看到系统已经自动把用户域名加进去了。\n3. 将来不希望用这个域名,域名重定向后,在浏览器输入 username.github.io 后 Chrome 会一直转向 goldentianya.pub 。需要打开`开发者工具`,选中 `disable cache` ,再刷新一遍地址就好了。\n4. `next` 项目要将 `CNAME` 文件复制到 `/themes/next/source` 目录下个,编译的时候会拷贝到 `public` 目录。`wikitten` 项目不需要,域名定向以后能找到 `goldentianya/wiki` 站点,十分神奇。\n\n### 隐藏文章\n\n#### 全隐藏\n\n根据插件`hext-sage-posts` 作者的博文[^9]中描述,安装插件\n\n```bash\nnpm install hexo-sage-posts --save\n```\n\n并将初创时的`Hello-world.md` 文章的Metadata中加入`sage: true`,文章就从网站上消失了。但在别的文章下面导航栏中,通过“下一篇”或者“上一篇”还是能被找到。被隐藏的文章其地址仍旧没有改变,只是不不出现在首页导航,和分类中而已。\n\n#### 从首页隐藏\n\n为了不让太琐碎的文章充斥首页,但又可以在分类中找到。可以采用这种方式。\n\n1. 在文章的Metadata部分添加关键字 `notshow: true`。\n2. 找到 `Hexo\\themes\\next\\layout\\index.swig` 文件中以下部分:\n\n```html\n{% block content %}\n \n {% for post in page.posts %}\n {{ post_template.render(post, true) }} \n {% endfor %}\n \n\n {% include '_partials/pagination.swig' %}\n{% endblock %}\n```\n\n将以上代码第四行修改为\n\n```html\n{% if post.notshow != true %}\n\t{{ post_template.render(post, true) }}\n{% endif %}\n```\n\n\n\n#### 文章加密\n\n1. 安装插件 `hexo-blog-encrypt`\n\n```\nnpm install --save hexo-blog-encrypt\n```\n\n并在**站点配置**文件中启用该插件:\n\n```json\nencrypt:\n enable: true\n```\n\n2. 然后在文章的头部添加上对应的字段\n\n```ini\n---\ntitle: 文章加密\ndate: 2019-01-04T22:20:13.000Z\ncategory: 教程\ntags:\n - 博客\n - Hexo\nkeywords: 博客文章密码\npassword: TloveY\nabstract: 此文章含有敏感内容。\nmessage: 输入密码,查看文章\n---\n```\n\n- password: 是该博客加密使用的密码\n\n- abstract: 是该博客的摘要,会显示在博客的列表页\n\n- message: 这个是博客查看时,密码输入框上面的描述性文字\n\n\n\n### Hexo Admin\n\n安装后台管理插件 `hexo-damin`\n\n```bash\nnpm install --save hexo-admin\nhexo server -d\nopen http://localhost:4000/admin/\n```\n\n初次运行后,设置管理账户。\n\n```\nadmin:\n username: maiernte\n password_hash: $2a$10$QeeWfDwIxbJ94h8EDfplDe9aLB0uaNrjMeVGhaYnfF0BBDosDze0S\n secret: NamoAmitabha!\n```\n\n### 访问量统计\n\n[介绍文章](https://bjtu-hxs.github.io/2018/06/12/leancloud-config/) (*有图*)\n\n[原文(有代码)](https://notes.doublemine.me/2015-10-21-%E4%B8%BANexT%E4%B8%BB%E9%A2%98%E6%B7%BB%E5%8A%A0%E6%96%87%E7%AB%A0%E9%98%85%E8%AF%BB%E9%87%8F%E7%BB%9F%E8%AE%A1%E5%8A%9F%E8%83%BD.html#%E9%85%8D%E7%BD%AELeanCloud)\n\n1. 第一步, 到Lean Cloud增添一个应用,并创建类似Counter 的类。设置成 $ 所有人可读可写 $\n2. 在安全中心添加 **Web 安全域名**, 添加Blog域名,防止有人Hack我们的数据库。\n\n3. 按上面的文章修改 Hexo 以及主题配置。\n\n\n\n### 在线交流\n\n使用 [道客](https://www.daovoice.io/) Daovoice\n\n接入方式\n\n1. 将下面代码粘贴在页面的 之前。\n\n```\n\n```\n\n2. 调用下面的 JavaScript 与注册用户沟通\n\n```\ndaovoice('init', {\n app_id: \"5e5fa370\",\n user_id: \"NO_89757\", // 必填: 该用户在您系统上的唯一ID\n email: \"daovoice@example.com\", // 选填: 该用户在您系统上的主邮箱\n name: \"道客船长\", // 选填: 用户名\n signed_up: 1449821660 // 选填: 用户的注册时间,用Unix时间戳表示\n});\ndaovoice('update');\n```\n\n3. 调用下面的 JavaScript 与匿名访客沟通\n\n```\ndaovoice('init', {\n app_id: \"5e5fa370\"\n});\ndaovoice('update');\n```\n\n完成代码粘贴后,检测是否成功接入: Ping 一下\n\n\n\n### 待解决问题\n\n- [x] 文章评论\n- [x] 在线编辑?\n- [x] 使用七牛图床\n- [ ] 脑图摆放 ([官方文档/数据文件](https://hexo.io/zh-cn/docs/data-files))\n- [x] 文件下载(可能还是要靠七牛)\n- [x] 用submodule管理主题 [在 hexo 中使用 git submodules 管理主题](https://juejin.im/post/5c2e22fcf265da615d72c596)\n- [ ] SEO\n- [ ] 访问量统计\n- [ ] 加速 [Github Pages + CDN全站加速](https://www.jianshu.com/p/ccc0cc8c14a0)\n\n- [ ] [在vps上部署hexo博客的那些事](https://segmentfault.com/a/1190000019104144)\n\n# 有趣插件\n\n- [x] [短地址 & 指定摘要](https://www.jianshu.com/p/805bd0b65d98) \n\n- [ ] [农历/很好的学习做插件的例子](https://github.com/inchei/hexo-lunar-calendar)\n\n- [ ] [插入pdf](https://github.com/superalsrk/hexo-pdf/) 可以学习如何插入epub\n\n- [ ] [hexo-include](https://github.com/pirtleshell/hexo-include) 加载文本内容, html, js, text\n\n- [x] [Hexo-NexT给文章添加结束语](https://wangc1993.github.io/2019/01/10/6/)\n\n- [x] [Hexo-NexT接入网页在线联系功能](https://wangc1993.github.io/2019/01/10/5/)\n\n- [ ] [include markdown](https://github.com/tea3/hexo-include-markdown)\n\n\n\n### ---\n\n\n\n[^1]: [Hexo博客搭建全攻略(一):基于Hexo+Github环境搭建](https://blog.annieyu.com/posts/207737771.html)\n[^2]: [Hexo博客搭建全攻略(二):NexT主题配置](https://blog.annieyu.com/posts/976961586.html)\n[^3]: [Hexo博客搭建全攻略(三):三方服务集成](https://blog.annieyu.com/posts/1209152972.html)\n[^4]: [Hexo博客搭建全攻略(四):高级应用](https://blog.annieyu.com/posts/3333782006.html)\n[^5]: [Hexo博客搭建全攻略(五):基于Github Issue搭建评论系统](https://blog.annieyu.com/posts/a341668e.html)\n[^6]: [Hexo博客搭建全攻略(六):博文图片处理](https://www.jianshu.com/p/2bb87ae49ff6)\n[^7]: [十步之内轻松搞定 Hexo + GitHub搭建个人博客](https://gavinlee1.github.io/2017/02/25/%E5%8D%81%E6%AD%A5%E4%B9%8B%E5%86%85%E8%BD%BB%E6%9D%BE%E6%90%9E%E5%AE%9A-Hexo-GitHub%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/) \n[^8]: [如何优雅的 隐藏博客](https://vanchchen.github.io/p/7587.html)\n[^9]: [为 Hexo 博客添加隐藏文章 / 限定公开功能](https://blessing.studio/hexo-plugin-to-make-posts-sage-unlisted/)\n[^10]: [Hexo 中文文档](https://hexo.io/zh-cn/docs/index.html)\n\n[multipages]: ttp://chitanda.me/2015/11/03/multiple-git-pages-in-one-github-account/\n\n[讲解详细的博客](https://binglumeng.github.io/2017/03/21/Hexo学习笔记/) \n\n[这个也不错](http://yearito.cn/posts/hexo-advanced-settings.html)\n\n\n","slug":"IT/Web/搭建Hexo博客的流水账","published":1,"updated":"2019-08-15T10:44:25.000Z","_id":"cka1y59a2004u4huur56brcea","comments":1,"layout":"post","photos":[],"link":"","content":"建立网站 \nGithub配置 \n输入命令 ssh-keygen -t rsa -b 4096 -C "myname@gmail.com"
。
\n密码 T1
。(下列展开后复制)
\n\n将文件 ~/.ssh/id_rsa.pub 中的内容复制到 Github 的SSH-Key 内就可以了。(备份文件已上传百度网盘)
\n \n\n在Github上新建SSH-Key名称为gmail
\n \n具体步骤参阅此文章
\n1 2 3 4 5 6 7 8 9 10 11 12 ssh-keygen -t rsa -b 4096 -C "username@gmail.com" [Enter] [password T..1] eval "$(ssh-agent -s)" ssh-add -K ~/.ssh/id_rsa cd ~ cd .ssh ls vim id_rsa.pub (然后复制钥匙串)
\n\n测试公匙 \n \n1 2 3 $ ssh -T git@github.com Hi username! You've successfully authenticated, but GitHub does not provide shell access.
\n安装Hexo \n参考资料1 7 。
\n\n安装node.js 因为以前已经安装过,所以跳过。 \n安装 Hexo $ npm install hexo-cli -g
\n创建网站 \n \n1 2 3 4 mkdir mywiki cd mywiki hexo init npm install
\n\n生成静态页面 hexo g
or hexo generate
\n启动本地网站服务 hexo s
or hexo server
\n \n\n网站一般会运行在 http://localhost:4000/ \nPress Ctrl+C to stop.
\n \n\n用pow做服务本地运行 \n \nInstall
\n \nSetup
\nSymlink the folder into ~/.pow
\n1 2 $ cd ~/.pow $ ln -s /path/to/test
\n发布到Github \n终于搭建好站点部署环境啦,那么要怎么样将我们本地生成预览好的页面发布到github上呢?很简单,Follow!
\n首先,打开blog目录下的_config.yml
,找到deploy段,配置成这样
\n\ndeploy: \ntype: git \nrepository: git@github.com :yourname/yourname.github.io.git \nbranch: master
\n \n注意将代码里面的yourname换成你账号的username。
\n设置git身份信息
\n\ngit config --global user.name “你的用户名” \ngit config --global user.email “你的邮箱”
\n \n执行以下指令进行部署
\nhexo d -g
\n如果提示没找到git,请先执行以下指令
\ncnpm install hexo-deployer-git --save
\n再次部署后,浏览器打开 https://yourname.github.io 就可以看到刚才本地预览页面。
\n网站基本配置 \nNext 主题 \n主题配置文件说明
\n\n
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 title: Hexo # 网站标题 subtitle: # 网站副标题 description: # 网站描述 author: John Doe # 你的昵称 language: # 网站使用的语言(英文:en, 简体中文:zh-Hans,繁体中文:zh-tw) timezone: # 网站时区,用于生成页面时填充相关时间,默认使用电脑时区,一般不用改 url: http://yoursite.com # 站点网址 root: / # 网站根目录 permalink: :year/:month/:day/:title/ #文单的永久链接格式 permalink_defaults: # 永久链接中各部分的默认值 source_dir: source # 资源文件夹,这个文件夹用来存放博客内容 public_dir: public # 公共文件夹,这个文件夹用来存放生成的站点静态文件 tag_dir: tags # 标签文件夹 archive_dir: archives # 归档文件夹 category_dir: categories # 分类文件夹 code_dir: downloads/code # Include code文件夹 i18n_dir: :lang # 国际化文件夹,存放各种语言定义 skip_render: # 跳过指定文件的渲染 new_post_name: :title.md # 新文章的文件名称 default_layout: post # 预设布局 titlecase: false # 把标题转换为 title case external_link: true # 在新标签中打开链接 filename_case: 0 # 把文件名称转换为 (1) 小写或 (2) 大写 render_drafts: false # 显示草稿 post_asset_folder: false # 启动 Asset 文件夹 relative_link: false # 把链接改为与根目录的相对位址 future: true # 显示未来的文章 highlight: # 代码块的设置 enable: true line_number: true auto_detect: false tab_replace: default_category: uncategorized # 默认分类 category_map: # 分类别名 tag_map: # 标签别名 date_format: YYYY-MM-DD # 日期格式 time_format: HH:mm:ss # 时间格式 per_page: 10 pagination_dir: page theme: landscape # 主题 deploy: type:
\n\n
\nWikitten主题 \n具体配置参考开发者说明 ,更详细的描述参阅hexo-theme-icarus 。为了与主题Next不冲突,作以下修改。
\n\n自行修改 tags
, about
,categories
等index.md
,而不能从主题复制,覆盖站点原有设置。 \nlanguages\\zh-CN.yml
重命名为 zh-Hans.yml
\n_config.yml
菜单作以下更改 \n \n1 2 3 4 5 6 menu: 首页: / 归档: /archives/ 分类: /categories/ 标签: /tags/ 关于: /about/
\n\nthumbnail: true
使得每个post在快速列表里,显示图标。但就是每个帖子都要设定,很麻烦。 \npost 中的 toc 要设置为 true,如果需要显示目录的话。 \n \n同时部署两个项目 \n第一个项目使用 Github 上面默认的 Github Pages,即 username.github.io
。在站点配置文件中如下:
\n1 2 3 4 5 6 7 8 url: http://username.github.io root: / ... ... deploy: type: git repository: git@github.com:username/username.github.io.git branch: master
\n第二个站点开通一个 普通的repository,添加名为gh-pages
的Branch,并将gh-pages设为默认Branch。我将第二个仓库命名为 wiki ,那第二个站点就运行在
https://username.github.io/wiki`次级目录下面。
\n站点配置文件更改如下:
\n1 2 3 4 5 6 7 8 url: http://username.github.io/wiki root: /wiki/ ... ... deploy: type: git repository: git@github.com:username/wiki.git branch: gh-pages
\n同样用 hexo d -g
部署命令发布,两个站点就都运行起来了。
\n为了使得两个项目使用同一个笔记资源,将站点中的 source 文件夹移到项目意外,将配置文件里的 source_dir: source
改为 source_dir: ../source
(这里使用了相对目录)。
\n参考文章 (细节已经失效,但思路值得参考)
\n站内搜索 \n\n安装插件 \n \n1 2 npm install hexo-generator-search --save npm install hexo-generator-searchdb --save
\n\n配置hexo站点主配置文件_config.yml
, 添加 \n \n1 2 3 4 5 search: path: search.xml field: post format: html limit: 10000
\n\n修改next主题配置文件_config.yml
,启用 local_search
\n \n1 2 3 4 local_search: \tenable: true \ttrigger: auto \ttop_n_per_article: 1
\n\n生成search.xml
文件以及发布 \n \n1 2 hexo g hexo d -g # 本地运行 hexo s
\n去除主题字样 \n关于添加头像、标签、分类、「关于」等具体的修改,跟着参考资料2 里面的步骤做就好了。最后说说如何去掉底部强力驱动及主题字样。
\n\n找到 \\themes\\next\\layout_partials\\
下面的footer.swig
文件,打开: \n \n1 2 3 4 5 6 7 8 9 <div class =\"powered-by\" > {{ __('footer.powered', '<a class =\"theme-link\" href =\"https://hexo.io\" > Hexo</a > ') }} </div > <div class =\"theme-info\" > {{ __('footer.theme') }} - <a class =\"theme-link\" href =\"https://github.com/iissnan/hexo-theme-next\" > NexT.{{ theme.scheme }} </a > </div >
\n第一条是“由Hexo驱动” 的Hexo链接,把xml段删除,只留两个单引号’’。
\n第二条是“主题-Next.XX”,将xml段都删掉,不留引号。
\n1 2 3 4 5 6 <div class =\"powered-by\" > {{ __('footer.powered', '') }} </div > <div class =\"theme-info\" > {{ __('footer.theme') }} </div >
\n\n找到这个地方\\themes\\next\\languages\\
下面的语言文件zh-Hans.yml
(以中文为例): \n \n1 2 3 footer: powered: \"由 %s 强力驱动\" theme: 主题
\n将上面的文字改成自己想要的即可。
\n添加评论功能 \nGitment \n**此项目已经终止!**改为Disqus,以及其它评论服务。
\n\n安装功能模块。在项目的根目录: \n \n \n\n在Github申请应用。settings -> Developer Settings -> OAuth Apps
\n \n1 2 3 4 Application name:随便写 Homepage URL:这个也可以随意写,就写你的博客地址就行 Application description:描述,也可以随意写 Authorization callback URL:这个必须写你的博客地址
\n申请好之后点注册,然后就可以看到两个东西ClientID
和Client Secret
,后面会用到。
\n\n配置Gitment,打开themes/next/_config.yml
: \n \n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # Gitment # Introduction: https://imsun.net/posts/gitment-introduction/ gitment: enable: true mint: true # RECOMMEND, A mint on Gitment, to support count, language and proxy_gateway count: true # Show comments count in post meta area lazy: false # Comments lazy loading with a button cleanly: false # Hide 'Powered by ...' on footer, and more language: # Force language, or auto switch by theme github_user: {you github user id} github_repo: 随便写一个你的公开的git仓库就行,到时候评论会作为那个项目的issue client_id: {刚才申请的ClientID} client_secret: {刚才申请的Client Secret} proxy_gateway: # Address of api proxy, See: https://github.com/aimingoo/intersect redirect_protocol: # Protocol of redirect_uri with force_redirect_protocol when mint enabled
\n注意到这里基本上已经OK了,再看你的博客应该可以显示评论了.不过每篇博客都需要你手动初始化评论功能(如果你的历史博客很多那就一篇一篇去点吧,不过貌似有人写了批量处理脚本,没试过哈).
\n而由于 github 中 Issues
的 label
长度限制为最大 50
个字符,当 文章标题长度过长时,该label就会生成失败,而导致初始化错误,弹出 Validation Failed
的提示。
\n通过网上的搜索,发现可以使用文章创建时的时间来代替文章标题,作为这个唯一的label标签。
\n找到giment的配置:/themes/next/layout/_third-party/comments/gitment.swig
文件, 并找到如下部分:
\n1 2 3 4 5 var gitment = new {{CommentsClass}}({ id: window .location.pathname, owner: '{{ theme.gitment.github_user }}' , repo: '{{ theme.gitment.github_repo }}' , ...
\n将id
后面的路径值修改为 ‘itfanr_blog_<!–1–>’ 就可以了。
\n\n目前只开通Disqus 的评论。
\n\n开通Disqus账号,并添加一个点 应用。具体步骤参看Hexo搭建博客系列:(六)Hexo添加Disqus评论 。 \n在主题配置文件
(_config.yml)文件中找到以下代码,添加你Disqus设置的Website Name在shortname。 \n \n1 2 3 4 5 # Disqus disqus: enable: true shortname: tian-ya-de-zhi-fu count: true
\n更详细请参阅网上。
\n新文章命名规则 \n发表新文章后系统崩溃。
\n在根目录的配置文件中找到类似的:
\n1 2 3 4 # Writing new_post_name: 新文章.md # File name of new posts default_layout: post ...
\n将其改为由时间和题目组成:
\n1 2 3 4 # Writing new_post_name: year-:month-:day-:title.md # File name of new posts default_layout: post ...
\n进阶设置 \n显示 \n首页文章显示预览 \n默认设定下。首页的文章每一篇都显示全文,不方便浏览。需要到主题的配置文件里将auto_excerpt
的 enable
改为 true
。而length
字节表示文章预览的长度。
\n1 2 3 4 # Automatically Excerpt. Not recommand. auto_excerpt: \tenable: true \tlength: 300
\n永久链接 \n新文章的名字采用了中文(见上 ),中文出现在地址栏上不美观。也不利于SEO,以及增加了博文URL的层数。解决办法是给每篇文章制定链接地址。
\n\n修改网站的配置文件中永久地址的设定: \n \n1 permalink: :urlname.html
\n\n给每篇文章指定 urlname
\n \n1 2 3 4 5 6 title: 《少有人走的路》笔记 date: 2019-07-21 00:14:37 urlname: road-less-traveled-summary tags: - 心理学 categories: 读书笔记
\n编译后新的地址为 http://mywiki.test/road-less-traveled-summary.html
。看起来就清爽多了。
\n图片链接 \n\n开通资源文件夹 ,创建新文章的时候会自动建立一个与文章同名的文件夹。可以将图片或者其它资源文件放到里面(打算将思维导图放到这里 )。因为自定义了文件名的方式 ,所以根据官方描述无效。 \n安装第三方插件hexo-asset-image
\n \n1 npm install hexo-asset-image --save
\n在文章中图片的链,可以省略路径,直接引用图片名:
\n1 ![mypicture ](mypicture.jpg )
\n\n修改插件代码 \n \n我在使用永久链接的时候在每篇文章的实际地址都加上了.html
。文章的地址显示如下
\n1 http://mywebsite.com/my-articel-url.html
\n而插件生成的图片地址如下:
\n1 http://mywebsite.com/my-articel-url.htm/mypicture.jpg
\n多出了 .htm
这几个字符,而实际图片的地址应该是:
\n1 http://mywebsite.com/my-articel-url/mypicture.jpg
\n找到 node_modules/hexo-asset-imge
目录下的 index.js
文件,将以下代码中的 1
改成 5
,就可以正常显示图片了。
\n1 var endPos = link.length - 1
\n考虑到将来项目膨胀,应该将图片放到图床,比如七牛。
\n站内链接 \n导航到站内别的文章使用以下方式就可以。
\n链接方式 [文章名](urlname.html)
\n设定代码区的高度 \nHexo自身的式样暂时还没找到。其实也不太需要。如果代码不长直接显示全部就好了。太长的话不如放到$Gits$,通过限制gist的高度实现。Net 主题修改 next/themes/next/source/css/_custom/custom.styl
,Wikitten主题则在文件 wikitten/themes/Wikitten/source/css/_partial/article.styl
中修改。
\n1 2 3 4 5 .gist .gist-file .gist-data { max-height : 450px ; }
\n添加注脚支持 \n插件项目
\n\n安装插件 npm install hexo-footnotes --save
\n项目配置文件 添加 \n \n1 2 3 plugins: hexo-footnotes
\n更换Markdown渲染 \nMarkdown-it-plus
\n如果更换了这个渲染,就无需上面那个注脚插件, 因为已经支持了. 首先卸载掉旧的渲染, 然后安装新的.
\n1 2 3 4 npm un hexo-renderer-marked --save npm i hexo-renderer-markdown-it-plus --save npm ls hexo-renderer-markdown-it-plus
\n然后在项目配置文件, 添加下面文字. 更深入的设置, 参看 markdown-it-plus 项目的说明文档.
\n1 2 3 4 5 6 7 8 9 10 markdown_it_plus: highlight: true html: true xhtmlOut: true breaks: true langPrefix: linkify: true typographer: quotes: “”‘’ plugins:
\n辅助功能 \n本地运行服务 \n在Mac中可以用本地服务Pow 运行网站,不用每次更改重启服务器hexo s
。
\n\n安装Pow \n \n \n\n建立项目链接,myapp
是项目的名字。比如真实路径~/Project/mywiki
\n \n1 2 $ cd ~/.pow $ ln -s /path/to/myapp
\n\n执行完以上步骤后在浏览器打开链接 http://myapp.test/
就能看到网站。更改内容后要执行==生成== 命令才能看到更新hexo generate
or hexo g
。 \n不想运行,直接把项目文件夹删除就可以。 \n \n绑定个人域名 \n\n在万网买一个顶级域名,开通后添加两个域名解释 \n \n1 2 3 CNAME www username.github.io CNAME @ username.github.io
\n\n在项目的根目录添加一个名为 CNAME
的文件,然后填入万网注册的域名, 这里是 goldentianya.pub
。第一次我是手动添加的。添加后进入 repository 的 setting, 往下混动到 Custom domain ,可以看到系统已经自动把用户域名加进去了。 \n将来不希望用这个域名,域名重定向后,在浏览器输入 username.github.io 后 Chrome 会一直转向 goldentianya.pub 。需要打开开发者工具
,选中 disable cache
,再刷新一遍地址就好了。 \nnext
项目要将 CNAME
文件复制到 /themes/next/source
目录下个,编译的时候会拷贝到 public
目录。wikitten
项目不需要,域名定向以后能找到 goldentianya/wiki
站点,十分神奇。 \n \n隐藏文章 \n全隐藏 \n根据插件hext-sage-posts
作者的博文9 中描述,安装插件
\n1 npm install hexo-sage-posts --save
\n并将初创时的Hello-world.md
文章的Metadata中加入sage: true
,文章就从网站上消失了。但在别的文章下面导航栏中,通过“下一篇”或者“上一篇”还是能被找到。被隐藏的文章其地址仍旧没有改变,只是不不出现在首页导航,和分类中而已。
\n从首页隐藏 \n为了不让太琐碎的文章充斥首页,但又可以在分类中找到。可以采用这种方式。
\n\n在文章的Metadata部分添加关键字 notshow: true
。 \n找到 Hexo\\themes\\next\\layout\\index.swig
文件中以下部分: \n \n1 2 3 4 5 6 7 8 9 {% block content %} <section id =\"posts\" class =\"posts-expand\" > {% for post in page.posts %} {{ post_template.render(post, true) }} {% endfor %} </section > {% include '_partials/pagination.swig' %} {% endblock %}
\n将以上代码第四行修改为
\n1 2 3 {% if post.notshow != true %} \t{{ post_template.render(post, true) }} {% endif %}
\n文章加密 \n\n安装插件 hexo-blog-encrypt
\n \n1 npm install --save hexo-blog-encrypt
\n并在站点配置 文件中启用该插件:
\n \n\n然后在文章的头部添加上对应的字段 \n \n1 2 3 4 5 6 7 8 9 10 11 12 --- title: 文章加密 date: 2019-01-04T22:20:13.000Z category: 教程 tags: - 博客 - Hexo keywords: 博客文章密码 password: TloveY abstract: 此文章含有敏感内容。 message: 输入密码,查看文章 ---
\n\nHexo Admin \n安装后台管理插件 hexo-damin
\n1 2 3 npm install --save hexo-admin hexo server -d open http://localhost:4000/admin/
\n初次运行后,设置管理账户。
\n1 2 3 4 admin: username: maiernte password_hash: $2a$10$QeeWfDwIxbJ94h8EDfplDe9aLB0uaNrjMeVGhaYnfF0BBDosDze0S secret: NamoAmitabha!
\n访问量统计 \n介绍文章 (有图 )
\n原文(有代码)
\n\n\n第一步, 到Lean Cloud增添一个应用,并创建类似Counter 的类。设置成 $ 所有人可读可写 $
\n \n\n在安全中心添加 Web 安全域名 , 添加Blog域名,防止有人Hack我们的数据库。
\n \n\n按上面的文章修改 Hexo 以及主题配置。
\n \n \n在线交流 \n使用 道客 Daovoice
\n接入方式
\n\n将下面代码粘贴在页面的 之前。 \n \n1 <script>(function(i,s,o,g,r,a,m){i["DaoVoiceObject"]=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;a.charset="utf-8";m.parentNode.insertBefore(a,m)})(window,document,"script",('https:' == document.location.protocol ? 'https:' : 'http:') + "//widget.daovoice.io/widget/5e5fa370.js","daovoice")</script>
\n\n调用下面的 JavaScript 与注册用户沟通 \n \n1 2 3 4 5 6 7 8 daovoice('init', { app_id: "5e5fa370", user_id: "NO_89757", // 必填: 该用户在您系统上的唯一ID email: "daovoice@example.com", // 选填: 该用户在您系统上的主邮箱 name: "道客船长", // 选填: 用户名 signed_up: 1449821660 // 选填: 用户的注册时间,用Unix时间戳表示 }); daovoice('update');
\n\n调用下面的 JavaScript 与匿名访客沟通 \n \n1 2 3 4 daovoice('init', { app_id: "5e5fa370" }); daovoice('update');
\n完成代码粘贴后,检测是否成功接入: Ping 一下
\n待解决问题 \n\n有趣插件 \n\n— \n讲解详细的博客
\n这个也不错
\n","site":{"data":{}},"excerpt":"建网过程中的一些流水账。以备将来查询。
","more":"建立网站 \nGithub配置 \n输入命令 ssh-keygen -t rsa -b 4096 -C "myname@gmail.com"
。
\n密码 T1
。(下列展开后复制)
\n\n将文件 ~/.ssh/id_rsa.pub 中的内容复制到 Github 的SSH-Key 内就可以了。(备份文件已上传百度网盘)
\n \n\n在Github上新建SSH-Key名称为gmail
\n \n具体步骤参阅此文章
\n\n\n测试公匙 \n \n\n安装Hexo \n参考资料1 7 。
\n\n安装node.js 因为以前已经安装过,所以跳过。 \n安装 Hexo $ npm install hexo-cli -g
\n创建网站 \n \n\n\n生成静态页面 hexo g
or hexo generate
\n启动本地网站服务 hexo s
or hexo server
\n \n\n网站一般会运行在 http://localhost:4000/ \nPress Ctrl+C to stop.
\n \n\n用pow做服务本地运行 \n \nInstall
\n\nSetup
\nSymlink the folder into ~/.pow
\n\n发布到Github \n终于搭建好站点部署环境啦,那么要怎么样将我们本地生成预览好的页面发布到github上呢?很简单,Follow!
\n首先,打开blog目录下的_config.yml
,找到deploy段,配置成这样
\n\ndeploy: \ntype: git \nrepository: git@github.com :yourname/yourname.github.io.git \nbranch: master
\n \n注意将代码里面的yourname换成你账号的username。
\n设置git身份信息
\n\ngit config --global user.name “你的用户名” \ngit config --global user.email “你的邮箱”
\n \n执行以下指令进行部署
\nhexo d -g
\n如果提示没找到git,请先执行以下指令
\ncnpm install hexo-deployer-git --save
\n再次部署后,浏览器打开 https://yourname.github.io 就可以看到刚才本地预览页面。
\n网站基本配置 \nNext 主题 \n主题配置文件说明
\n\nWikitten主题 \n具体配置参考开发者说明 ,更详细的描述参阅hexo-theme-icarus 。为了与主题Next不冲突,作以下修改。
\n\n自行修改 tags
, about
,categories
等index.md
,而不能从主题复制,覆盖站点原有设置。 \nlanguages\\zh-CN.yml
重命名为 zh-Hans.yml
\n_config.yml
菜单作以下更改 \n \n\n\nthumbnail: true
使得每个post在快速列表里,显示图标。但就是每个帖子都要设定,很麻烦。 \npost 中的 toc 要设置为 true,如果需要显示目录的话。 \n \n同时部署两个项目 \n第一个项目使用 Github 上面默认的 Github Pages,即 username.github.io
。在站点配置文件中如下:
\n\n第二个站点开通一个 普通的repository,添加名为gh-pages
的Branch,并将gh-pages设为默认Branch。我将第二个仓库命名为 wiki ,那第二个站点就运行在
https://username.github.io/wiki`次级目录下面。
\n站点配置文件更改如下:
\n\n同样用 hexo d -g
部署命令发布,两个站点就都运行起来了。
\n为了使得两个项目使用同一个笔记资源,将站点中的 source 文件夹移到项目意外,将配置文件里的 source_dir: source
改为 source_dir: ../source
(这里使用了相对目录)。
\n参考文章 (细节已经失效,但思路值得参考)
\n站内搜索 \n\n安装插件 \n \n\n\n配置hexo站点主配置文件_config.yml
, 添加 \n \n\n\n修改next主题配置文件_config.yml
,启用 local_search
\n \n\n\n生成search.xml
文件以及发布 \n \n\n去除主题字样 \n关于添加头像、标签、分类、「关于」等具体的修改,跟着参考资料2 里面的步骤做就好了。最后说说如何去掉底部强力驱动及主题字样。
\n\n找到 \\themes\\next\\layout_partials\\
下面的footer.swig
文件,打开: \n \n\n第一条是“由Hexo驱动” 的Hexo链接,把xml段删除,只留两个单引号’’。
\n第二条是“主题-Next.XX”,将xml段都删掉,不留引号。
\n\n\n找到这个地方\\themes\\next\\languages\\
下面的语言文件zh-Hans.yml
(以中文为例): \n \n\n将上面的文字改成自己想要的即可。
\n添加评论功能 \nGitment \n**此项目已经终止!**改为Disqus,以及其它评论服务。
\n\n安装功能模块。在项目的根目录: \n \n\n\n在Github申请应用。settings -> Developer Settings -> OAuth Apps
\n \n\n申请好之后点注册,然后就可以看到两个东西ClientID
和Client Secret
,后面会用到。
\n\n配置Gitment,打开themes/next/_config.yml
: \n \n\n注意到这里基本上已经OK了,再看你的博客应该可以显示评论了.不过每篇博客都需要你手动初始化评论功能(如果你的历史博客很多那就一篇一篇去点吧,不过貌似有人写了批量处理脚本,没试过哈).
\n而由于 github 中 Issues
的 label
长度限制为最大 50
个字符,当 文章标题长度过长时,该label就会生成失败,而导致初始化错误,弹出 Validation Failed
的提示。
\n通过网上的搜索,发现可以使用文章创建时的时间来代替文章标题,作为这个唯一的label标签。
\n找到giment的配置:/themes/next/layout/_third-party/comments/gitment.swig
文件, 并找到如下部分:
\n\n将id
后面的路径值修改为 ‘itfanr_blog_<!–1–>’ 就可以了。
\n\n目前只开通Disqus 的评论。
\n\n开通Disqus账号,并添加一个点 应用。具体步骤参看Hexo搭建博客系列:(六)Hexo添加Disqus评论 。 \n在主题配置文件
(_config.yml)文件中找到以下代码,添加你Disqus设置的Website Name在shortname。 \n \n\n更详细请参阅网上。
\n新文章命名规则 \n发表新文章后系统崩溃。
\n在根目录的配置文件中找到类似的:
\n\n将其改为由时间和题目组成:
\n\n进阶设置 \n显示 \n首页文章显示预览 \n默认设定下。首页的文章每一篇都显示全文,不方便浏览。需要到主题的配置文件里将auto_excerpt
的 enable
改为 true
。而length
字节表示文章预览的长度。
\n\n永久链接 \n新文章的名字采用了中文(见上 ),中文出现在地址栏上不美观。也不利于SEO,以及增加了博文URL的层数。解决办法是给每篇文章制定链接地址。
\n\n修改网站的配置文件中永久地址的设定: \n \n\n\n给每篇文章指定 urlname
\n \n\n编译后新的地址为 http://mywiki.test/road-less-traveled-summary.html
。看起来就清爽多了。
\n图片链接 \n\n开通资源文件夹 ,创建新文章的时候会自动建立一个与文章同名的文件夹。可以将图片或者其它资源文件放到里面(打算将思维导图放到这里 )。因为自定义了文件名的方式 ,所以根据官方描述无效。 \n安装第三方插件hexo-asset-image
\n \n\n在文章中图片的链,可以省略路径,直接引用图片名:
\n\n\n修改插件代码 \n \n我在使用永久链接的时候在每篇文章的实际地址都加上了.html
。文章的地址显示如下
\n\n而插件生成的图片地址如下:
\n\n多出了 .htm
这几个字符,而实际图片的地址应该是:
\n\n找到 node_modules/hexo-asset-imge
目录下的 index.js
文件,将以下代码中的 1
改成 5
,就可以正常显示图片了。
\n\n考虑到将来项目膨胀,应该将图片放到图床,比如七牛。
\n站内链接 \n导航到站内别的文章使用以下方式就可以。
\n链接方式 [文章名](urlname.html)
\n设定代码区的高度 \nHexo自身的式样暂时还没找到。其实也不太需要。如果代码不长直接显示全部就好了。太长的话不如放到$Gits$,通过限制gist的高度实现。Net 主题修改 next/themes/next/source/css/_custom/custom.styl
,Wikitten主题则在文件 wikitten/themes/Wikitten/source/css/_partial/article.styl
中修改。
\n\n添加注脚支持 \n插件项目
\n\n安装插件 npm install hexo-footnotes --save
\n项目配置文件 添加 \n \n\n更换Markdown渲染 \nMarkdown-it-plus
\n如果更换了这个渲染,就无需上面那个注脚插件, 因为已经支持了. 首先卸载掉旧的渲染, 然后安装新的.
\n\n然后在项目配置文件, 添加下面文字. 更深入的设置, 参看 markdown-it-plus 项目的说明文档.
\n\n辅助功能 \n本地运行服务 \n在Mac中可以用本地服务Pow 运行网站,不用每次更改重启服务器hexo s
。
\n\n安装Pow \n \n\n\n建立项目链接,myapp
是项目的名字。比如真实路径~/Project/mywiki
\n \n\n\n执行完以上步骤后在浏览器打开链接 http://myapp.test/
就能看到网站。更改内容后要执行==生成== 命令才能看到更新hexo generate
or hexo g
。 \n不想运行,直接把项目文件夹删除就可以。 \n \n绑定个人域名 \n\n在万网买一个顶级域名,开通后添加两个域名解释 \n \n\n\n在项目的根目录添加一个名为 CNAME
的文件,然后填入万网注册的域名, 这里是 goldentianya.pub
。第一次我是手动添加的。添加后进入 repository 的 setting, 往下混动到 Custom domain ,可以看到系统已经自动把用户域名加进去了。 \n将来不希望用这个域名,域名重定向后,在浏览器输入 username.github.io 后 Chrome 会一直转向 goldentianya.pub 。需要打开开发者工具
,选中 disable cache
,再刷新一遍地址就好了。 \nnext
项目要将 CNAME
文件复制到 /themes/next/source
目录下个,编译的时候会拷贝到 public
目录。wikitten
项目不需要,域名定向以后能找到 goldentianya/wiki
站点,十分神奇。 \n \n隐藏文章 \n全隐藏 \n根据插件hext-sage-posts
作者的博文9 中描述,安装插件
\n\n并将初创时的Hello-world.md
文章的Metadata中加入sage: true
,文章就从网站上消失了。但在别的文章下面导航栏中,通过“下一篇”或者“上一篇”还是能被找到。被隐藏的文章其地址仍旧没有改变,只是不不出现在首页导航,和分类中而已。
\n从首页隐藏 \n为了不让太琐碎的文章充斥首页,但又可以在分类中找到。可以采用这种方式。
\n\n在文章的Metadata部分添加关键字 notshow: true
。 \n找到 Hexo\\themes\\next\\layout\\index.swig
文件中以下部分: \n \n\n将以上代码第四行修改为
\n\n文章加密 \n\n安装插件 hexo-blog-encrypt
\n \n\n并在站点配置 文件中启用该插件:
\n\n\n然后在文章的头部添加上对应的字段 \n \n\n\nHexo Admin \n安装后台管理插件 hexo-damin
\n\n初次运行后,设置管理账户。
\n\n访问量统计 \n介绍文章 (有图 )
\n原文(有代码)
\n\n\n第一步, 到Lean Cloud增添一个应用,并创建类似Counter 的类。设置成 $ 所有人可读可写 $
\n \n\n在安全中心添加 Web 安全域名 , 添加Blog域名,防止有人Hack我们的数据库。
\n \n\n按上面的文章修改 Hexo 以及主题配置。
\n \n \n在线交流 \n使用 道客 Daovoice
\n接入方式
\n\n将下面代码粘贴在页面的 之前。 \n \n\n\n调用下面的 JavaScript 与注册用户沟通 \n \n\n\n调用下面的 JavaScript 与匿名访客沟通 \n \n\n完成代码粘贴后,检测是否成功接入: Ping 一下
\n待解决问题 \n\n有趣插件 \n\n— \n讲解详细的博客
\n这个也不错
\n"}],"PostAsset":[],"PostCategory":[{"post_id":"cka1y594p00044huusb0xswfi","category_id":"cka1y594t00064huuvvjmyzwy","_id":"cka1y5955000f4huuavh4y5b7"},{"post_id":"cka1y594r00054huunm0reb46","category_id":"cka1y5953000b4huuyyfu5z4d","_id":"cka1y595a000k4huuvsrdkk3n"},{"post_id":"cka1y594x00084huu6k4ch39z","category_id":"cka1y5953000b4huuyyfu5z4d","_id":"cka1y595b000n4huupqz7l7uk"},{"post_id":"cka1y595000094huuoh5kztsj","category_id":"cka1y5959000j4huug5k1h4j7","_id":"cka1y595d000q4huujzi9cbtg"},{"post_id":"cka1y5952000a4huuo6qb7h3o","category_id":"cka1y595b000o4huul85o0vh5","_id":"cka1y595e000r4huudibumejw"},{"post_id":"cka1y596d000s4huu6s41uv14","category_id":"cka1y5953000b4huuyyfu5z4d","_id":"cka1y596h000x4huuewz15l41"},{"post_id":"cka1y596e000t4huuu6ed1frz","category_id":"cka1y596g000v4huufrvfyl7e","_id":"cka1y596j000z4huuep0zhq22"},{"post_id":"cka1y597o00124huu1wtf5iy9","category_id":"cka1y596g000v4huufrvfyl7e","_id":"cka1y597u00174huuuxk19v3o"},{"post_id":"cka1y597q00134huu98tdadd8","category_id":"cka1y596g000v4huufrvfyl7e","_id":"cka1y597v001b4huutjytdbb1"},{"post_id":"cka1y597w001d4huu070sswhu","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y598e00224huude7qq2nl"},{"post_id":"cka1y597w001d4huu070sswhu","category_id":"cka1y5987001q4huu2h0pcxc7","_id":"cka1y598g00274huuqt9x226m"},{"post_id":"cka1y597r00154huu5w41rgul","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y598h002a4huuv4qc79od"},{"post_id":"cka1y597r00154huu5w41rgul","category_id":"cka1y598b001w4huu0hxl1aoy","_id":"cka1y598j002f4huuabno4va2"},{"post_id":"cka1y597x001e4huuv3ebsp4j","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y598o002k4huubdx47g0s"},{"post_id":"cka1y597x001e4huuv3ebsp4j","category_id":"cka1y598e00234huu3y8d3uke","_id":"cka1y598q002o4huuiwbqiz7r"},{"post_id":"cka1y597z001h4huur126uc0a","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y598s002s4huu123t8obl"},{"post_id":"cka1y597z001h4huur126uc0a","category_id":"cka1y598e00234huu3y8d3uke","_id":"cka1y598t002u4huuuusrp5uf"},{"post_id":"cka1y597t00164huuyti606sh","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y598u002x4huuvof25rfi"},{"post_id":"cka1y597t00164huuyti606sh","category_id":"cka1y5987001q4huu2h0pcxc7","_id":"cka1y598w002z4huu71gvxwrk"},{"post_id":"cka1y5981001j4huuk1yz6awj","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y598w00324huuzt7qlork"},{"post_id":"cka1y5981001j4huuk1yz6awj","category_id":"cka1y598e00234huu3y8d3uke","_id":"cka1y598x00344huu11z99kzj"},{"post_id":"cka1y5983001n4huuemw79ybo","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y598y00374huu7kdrdbh8"},{"post_id":"cka1y5983001n4huuemw79ybo","category_id":"cka1y598e00234huu3y8d3uke","_id":"cka1y598z00394huuyhhgk2zf"},{"post_id":"cka1y597u001a4huuspnhsflr","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y5990003c4huusbmzttfh"},{"post_id":"cka1y597u001a4huuspnhsflr","category_id":"cka1y598e00234huu3y8d3uke","_id":"cka1y5991003e4huufvyl6wez"},{"post_id":"cka1y5986001p4huuxt1btjua","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y5991003g4huuhm5iv2oz"},{"post_id":"cka1y5986001p4huuxt1btjua","category_id":"cka1y598e00234huu3y8d3uke","_id":"cka1y5993003j4huuke8eg1wd"},{"post_id":"cka1y5988001t4huux85puqey","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y5996003m4huui5twjhmb"},{"post_id":"cka1y5988001t4huux85puqey","category_id":"cka1y598z003b4huuyf8flxmz","_id":"cka1y5997003o4huuf2s6yarp"},{"post_id":"cka1y598a001v4huunsgdb908","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y5997003r4huu1ryhxyt6"},{"post_id":"cka1y598a001v4huunsgdb908","category_id":"cka1y598z003b4huuyf8flxmz","_id":"cka1y5999003t4huutt02fr4i"},{"post_id":"cka1y598b001y4huuppnodfz2","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y5999003v4huu5g4xan28"},{"post_id":"cka1y598b001y4huuppnodfz2","category_id":"cka1y598z003b4huuyf8flxmz","_id":"cka1y599a003x4huuhgtsb5j8"},{"post_id":"cka1y598d00214huuioh2rw8e","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y599b003z4huutfrxgwz9"},{"post_id":"cka1y598d00214huuioh2rw8e","category_id":"cka1y5997003q4huuzp1l2yal","_id":"cka1y599b00414huuobbv9nmd"},{"post_id":"cka1y598f00254huufdsy7udi","category_id":"cka1y5953000b4huuyyfu5z4d","_id":"cka1y599c00424huue4frz85l"},{"post_id":"cka1y598f00254huufdsy7udi","category_id":"cka1y599a003w4huuplb2sm25","_id":"cka1y599c00444huu4y9mter5"},{"post_id":"cka1y598g00294huuytpjchoh","category_id":"cka1y5953000b4huuyyfu5z4d","_id":"cka1y599d00464huuuo9u8mcw"},{"post_id":"cka1y598g00294huuytpjchoh","category_id":"cka1y599b00404huu2nbcrdvc","_id":"cka1y599e00474huut3xryk5u"},{"post_id":"cka1y598i002d4huu06onppzf","category_id":"cka1y5953000b4huuyyfu5z4d","_id":"cka1y599e00494huu3mvwk79i"},{"post_id":"cka1y598i002d4huu06onppzf","category_id":"cka1y599a003w4huuplb2sm25","_id":"cka1y599f004a4huuvxibk9ev"},{"post_id":"cka1y598k002h4huuc3fgsb7o","category_id":"cka1y5953000b4huuyyfu5z4d","_id":"cka1y599f004c4huuj9j32oee"},{"post_id":"cka1y598k002h4huuc3fgsb7o","category_id":"cka1y599a003w4huuplb2sm25","_id":"cka1y599g004d4huuxu7lsg0c"},{"post_id":"cka1y598o002l4huuoby01avt","category_id":"cka1y5953000b4huuyyfu5z4d","_id":"cka1y599g004e4huulan4zmb7"},{"post_id":"cka1y598o002l4huuoby01avt","category_id":"cka1y599a003w4huuplb2sm25","_id":"cka1y599h004f4huufhqmspm7"},{"post_id":"cka1y598q002p4huudjt7uk0a","category_id":"cka1y5953000b4huuyyfu5z4d","_id":"cka1y599h004g4huuhwkznvlk"},{"post_id":"cka1y598q002p4huudjt7uk0a","category_id":"cka1y599a003w4huuplb2sm25","_id":"cka1y599h004h4huuzytw6gr0"},{"post_id":"cka1y599o004i4huuvxxo90p7","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y599s004n4huu9k8s6rm6"},{"post_id":"cka1y599o004i4huuvxxo90p7","category_id":"cka1y598e00234huu3y8d3uke","_id":"cka1y599s004p4huu2rwib2tg"},{"post_id":"cka1y599p004j4huucopvbcs0","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y599t004q4huulsh7ujtl"},{"post_id":"cka1y599p004j4huucopvbcs0","category_id":"cka1y5997003q4huuzp1l2yal","_id":"cka1y599t004r4huul19yoh59"},{"post_id":"cka1y599q004l4huuz9r1vgbn","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y599t004s4huupqp5vr9t"},{"post_id":"cka1y599q004l4huuz9r1vgbn","category_id":"cka1y5997003q4huuzp1l2yal","_id":"cka1y599u004t4huuo3k58azn"},{"post_id":"cka1y59a2004u4huur56brcea","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y59a7004w4huu7wd3n1pk"},{"post_id":"cka1y59a2004u4huur56brcea","category_id":"cka1y598z003b4huuyf8flxmz","_id":"cka1y59a9004x4huu0j3d865x"}],"PostTag":[{"post_id":"cka1y594p00044huusb0xswfi","tag_id":"cka1y594w00074huuttkx39vr","_id":"cka1y5955000d4huu9fo10can"},{"post_id":"cka1y5952000a4huuo6qb7h3o","tag_id":"cka1y594w00074huuttkx39vr","_id":"cka1y5955000e4huu2isd10jc"},{"post_id":"cka1y594r00054huunm0reb46","tag_id":"cka1y5954000c4huurnts5s23","_id":"cka1y5959000i4huupv2tq46c"},{"post_id":"cka1y594x00084huu6k4ch39z","tag_id":"cka1y5956000h4huujc504cfl","_id":"cka1y595b000m4huuyc267a8u"},{"post_id":"cka1y595000094huuoh5kztsj","tag_id":"cka1y595a000l4huu5t4fsi8t","_id":"cka1y595d000p4huubql3yxvf"},{"post_id":"cka1y596d000s4huu6s41uv14","tag_id":"cka1y5954000c4huurnts5s23","_id":"cka1y596g000u4huu4o7prlyh"},{"post_id":"cka1y596e000t4huuu6ed1frz","tag_id":"cka1y596h000w4huu96c70yd8","_id":"cka1y596j00104huu1x6cnerc"},{"post_id":"cka1y596e000t4huuu6ed1frz","tag_id":"cka1y596i000y4huu4e1c2vta","_id":"cka1y596k00114huu4rph259l"},{"post_id":"cka1y597r00154huu5w41rgul","tag_id":"cka1y594w00074huuttkx39vr","_id":"cka1y597u00194huux4g0d800"},{"post_id":"cka1y597o00124huu1wtf5iy9","tag_id":"cka1y597r00144huuuuhayln8","_id":"cka1y5980001i4huutd2uvz1s"},{"post_id":"cka1y597o00124huu1wtf5iy9","tag_id":"cka1y597w001c4huulh745qk4","_id":"cka1y5982001l4huu83cl2dgs"},{"post_id":"cka1y597q00134huu98tdadd8","tag_id":"cka1y597z001g4huuaqzwp1zm","_id":"cka1y5986001o4huuxpz9siof"},{"post_id":"cka1y597q00134huu98tdadd8","tag_id":"cka1y596h000w4huu96c70yd8","_id":"cka1y5987001r4huu4eq0lqut"},{"post_id":"cka1y597t00164huuyti606sh","tag_id":"cka1y5983001m4huuufmyhgoa","_id":"cka1y5989001u4huumst1bdhn"},{"post_id":"cka1y5988001t4huux85puqey","tag_id":"cka1y594w00074huuttkx39vr","_id":"cka1y598b001x4huuvtlgi297"},{"post_id":"cka1y598a001v4huunsgdb908","tag_id":"cka1y594w00074huuttkx39vr","_id":"cka1y598d00204huuqyf5kwkk"},{"post_id":"cka1y598a001v4huunsgdb908","tag_id":"cka1y5983001m4huuufmyhgoa","_id":"cka1y598f00244huu61bh68rw"},{"post_id":"cka1y597u001a4huuspnhsflr","tag_id":"cka1y5987001s4huudyci9yx0","_id":"cka1y598g00284huu6fa44eml"},{"post_id":"cka1y598b001y4huuppnodfz2","tag_id":"cka1y594w00074huuttkx39vr","_id":"cka1y598h002b4huu2q6wen8j"},{"post_id":"cka1y598d00214huuioh2rw8e","tag_id":"cka1y5987001s4huudyci9yx0","_id":"cka1y598j002g4huum7z8unxb"},{"post_id":"cka1y597w001d4huu070sswhu","tag_id":"cka1y5983001m4huuufmyhgoa","_id":"cka1y598n002i4huu4w25jlcw"},{"post_id":"cka1y597x001e4huuv3ebsp4j","tag_id":"cka1y5987001s4huudyci9yx0","_id":"cka1y598q002n4huudhcmzd8l"},{"post_id":"cka1y597z001h4huur126uc0a","tag_id":"cka1y5987001s4huudyci9yx0","_id":"cka1y598r002q4huu534ex9n3"},{"post_id":"cka1y5981001j4huuk1yz6awj","tag_id":"cka1y5987001s4huudyci9yx0","_id":"cka1y598t002v4huupck4woiq"},{"post_id":"cka1y5983001n4huuemw79ybo","tag_id":"cka1y5987001s4huudyci9yx0","_id":"cka1y598w00304huuo1c12ur3"},{"post_id":"cka1y5986001p4huuxt1btjua","tag_id":"cka1y5987001s4huudyci9yx0","_id":"cka1y598y00354huuzezeifpl"},{"post_id":"cka1y598f00254huufdsy7udi","tag_id":"cka1y598x00334huu7wbssbi7","_id":"cka1y598z003a4huuxhbpr7nd"},{"post_id":"cka1y598g00294huuytpjchoh","tag_id":"cka1y598z00384huu1rilsu1z","_id":"cka1y5991003f4huupklqu83q"},{"post_id":"cka1y598i002d4huu06onppzf","tag_id":"cka1y598x00334huu7wbssbi7","_id":"cka1y5994003k4huu5xvxb95n"},{"post_id":"cka1y598k002h4huuc3fgsb7o","tag_id":"cka1y598x00334huu7wbssbi7","_id":"cka1y5997003p4huuyeqchn46"},{"post_id":"cka1y598o002l4huuoby01avt","tag_id":"cka1y598x00334huu7wbssbi7","_id":"cka1y5999003u4huuuqsut2y0"},{"post_id":"cka1y598q002p4huudjt7uk0a","tag_id":"cka1y598x00334huu7wbssbi7","_id":"cka1y599a003y4huuwn5y4qut"},{"post_id":"cka1y599o004i4huuvxxo90p7","tag_id":"cka1y5987001s4huudyci9yx0","_id":"cka1y599q004k4huuco1uino6"},{"post_id":"cka1y599p004j4huucopvbcs0","tag_id":"cka1y5987001s4huudyci9yx0","_id":"cka1y599r004m4huukspe62yo"},{"post_id":"cka1y599q004l4huuz9r1vgbn","tag_id":"cka1y5987001s4huudyci9yx0","_id":"cka1y599s004o4huu1v1cjhvs"},{"post_id":"cka1y59a2004u4huur56brcea","tag_id":"cka1y594w00074huuttkx39vr","_id":"cka1y59a4004v4huufjih59wt"}],"Tag":[{"name":"Hexo","_id":"cka1y594w00074huuttkx39vr"},{"name":"影视","_id":"cka1y5954000c4huurnts5s23"},{"name":"历史政治","_id":"cka1y5956000h4huujc504cfl"},{"name":"工作","_id":"cka1y595a000l4huu5t4fsi8t"},{"name":"成长","_id":"cka1y596h000w4huu96c70yd8"},{"name":"经济","_id":"cka1y596i000y4huu4e1c2vta"},{"name":"哲理","_id":"cka1y597r00144huuuuhayln8"},{"name":"书籍","_id":"cka1y597w001c4huulh745qk4"},{"name":"心理","_id":"cka1y597z001g4huuaqzwp1zm"},{"name":"Mac","_id":"cka1y5983001m4huuufmyhgoa"},{"name":"工具","_id":"cka1y5987001s4huudyci9yx0"},{"name":"文学","_id":"cka1y598x00334huu7wbssbi7"},{"name":"娱乐","_id":"cka1y598z00384huu1rilsu1z"}]}}
\ No newline at end of file
+{"meta":{"version":1,"warehouse":"2.2.0"},"models":{"Asset":[{"_id":"themes/Wikitten/source/css/style.styl","path":"css/style.styl","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/js/insight.js","path":"js/insight.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/images/mobile2.png","path":"images/mobile2.png","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/js/main.js","path":"js/main.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/images/mobile1.png","path":"images/mobile1.png","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/css/images/favicon.ico","path":"css/images/favicon.ico","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/css/images/logo.png","path":"css/images/logo.png","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/css/images/thumb-default-small.png","path":"css/images/thumb-default-small.png","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/fonts/glyphicons-halflings-regular.woff2","path":"libs/fonts/glyphicons-halflings-regular.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/fonts/glyphicons-halflings-regular.woff","path":"libs/fonts/glyphicons-halflings-regular.woff","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/fonts/glyphicons-halflings-regular.ttf","path":"libs/fonts/glyphicons-halflings-regular.ttf","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/justified-gallery/justifiedGallery.min.css","path":"libs/justified-gallery/justifiedGallery.min.css","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/justified-gallery/jquery.justifiedGallery.min.js","path":"libs/justified-gallery/jquery.justifiedGallery.min.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/source-code-pro/styles.css","path":"libs/source-code-pro/styles.css","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/styles.css","path":"libs/open-sans/styles.css","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/images/SitePreview.png","path":"images/SitePreview.png","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/uploads/road-to-asset-freedom-mindmap.html","path":"uploads/road-to-asset-freedom-mindmap.html","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/fonts/glyphicons-halflings-regular.eot","path":"libs/fonts/glyphicons-halflings-regular.eot","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/fonts/glyphicons-halflings-regular.svg","path":"libs/fonts/glyphicons-halflings-regular.svg","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/font-awesome/css/font-awesome.css","path":"libs/font-awesome/css/font-awesome.css","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lg-fb-comment-box.css","path":"libs/lightgallery/css/lg-fb-comment-box.css","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/font-awesome/css/font-awesome.min.css","path":"libs/font-awesome/css/font-awesome.min.css","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lg-fb-comment-box.css.map","path":"libs/lightgallery/css/lg-fb-comment-box.css.map","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lg-fb-comment-box.min.css","path":"libs/lightgallery/css/lg-fb-comment-box.min.css","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lg-transitions.css","path":"libs/lightgallery/css/lg-transitions.css","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lg-transitions.css.map","path":"libs/lightgallery/css/lg-transitions.css.map","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lg-transitions.min.css","path":"libs/lightgallery/css/lg-transitions.min.css","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lightgallery.css","path":"libs/lightgallery/css/lightgallery.css","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lightgallery.css.map","path":"libs/lightgallery/css/lightgallery.css.map","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lightgallery.min.css","path":"libs/lightgallery/css/lightgallery.min.css","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/fonts/lg.eot","path":"libs/lightgallery/fonts/lg.eot","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/fonts/lg.svg","path":"libs/lightgallery/fonts/lg.svg","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/fonts/lg.woff","path":"libs/lightgallery/fonts/lg.woff","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-autoplay.js","path":"libs/lightgallery/js/lg-autoplay.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/fonts/lg.ttf","path":"libs/lightgallery/fonts/lg.ttf","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-autoplay.min.js","path":"libs/lightgallery/js/lg-autoplay.min.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-fullscreen.js","path":"libs/lightgallery/js/lg-fullscreen.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-fullscreen.min.js","path":"libs/lightgallery/js/lg-fullscreen.min.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-hash.js","path":"libs/lightgallery/js/lg-hash.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-hash.min.js","path":"libs/lightgallery/js/lg-hash.min.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-pager.js","path":"libs/lightgallery/js/lg-pager.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-pager.min.js","path":"libs/lightgallery/js/lg-pager.min.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-share.js","path":"libs/lightgallery/js/lg-share.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-share.min.js","path":"libs/lightgallery/js/lg-share.min.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-thumbnail.js","path":"libs/lightgallery/js/lg-thumbnail.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-thumbnail.min.js","path":"libs/lightgallery/js/lg-thumbnail.min.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-video.js","path":"libs/lightgallery/js/lg-video.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-video.min.js","path":"libs/lightgallery/js/lg-video.min.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-zoom.js","path":"libs/lightgallery/js/lg-zoom.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-zoom.min.js","path":"libs/lightgallery/js/lg-zoom.min.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lightgallery.js","path":"libs/lightgallery/js/lightgallery.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lightgallery.min.js","path":"libs/lightgallery/js/lightgallery.min.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/img/loading.gif","path":"libs/lightgallery/img/loading.gif","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/img/video-play.png","path":"libs/lightgallery/img/video-play.png","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/img/vimeo-play.png","path":"libs/lightgallery/img/vimeo-play.png","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/lightgallery/img/youtube-play.png","path":"libs/lightgallery/img/youtube-play.png","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/59ZRklaO5bWGqF5A9baEERJtnKITppOI_IvcXXDNrsc.woff2","path":"libs/open-sans/fonts/59ZRklaO5bWGqF5A9baEERJtnKITppOI_IvcXXDNrsc.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/K88pR3goAWT7BTt32Z01mxJtnKITppOI_IvcXXDNrsc.woff2","path":"libs/open-sans/fonts/K88pR3goAWT7BTt32Z01mxJtnKITppOI_IvcXXDNrsc.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/LWCjsQkB6EMdfHrEVqA1KRJtnKITppOI_IvcXXDNrsc.woff2","path":"libs/open-sans/fonts/LWCjsQkB6EMdfHrEVqA1KRJtnKITppOI_IvcXXDNrsc.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNShWV49_lSm1NYrwo-zkhivY.woff2","path":"libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNShWV49_lSm1NYrwo-zkhivY.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSj0LW-43aMEzIO6XUTLjad8.woff2","path":"libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSj0LW-43aMEzIO6XUTLjad8.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSpX5f-9o1vgP2EXwfjgl7AY.woff2","path":"libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSpX5f-9o1vgP2EXwfjgl7AY.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSq-j2U0lmluP9RWlSytm3ho.woff2","path":"libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSq-j2U0lmluP9RWlSytm3ho.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSqaRobkAwv3vxw3jMhVENGA.woff2","path":"libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSqaRobkAwv3vxw3jMhVENGA.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSugdm0LZdjqr5-oayXSOefg.woff2","path":"libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSugdm0LZdjqr5-oayXSOefg.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSv8zf_FOSsgRmwsS7Aa9k2w.woff2","path":"libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSv8zf_FOSsgRmwsS7Aa9k2w.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/RjgO7rYTmqiVp7vzi-Q5URJtnKITppOI_IvcXXDNrsc.woff2","path":"libs/open-sans/fonts/RjgO7rYTmqiVp7vzi-Q5URJtnKITppOI_IvcXXDNrsc.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/cJZKeOuBrn4kERxqtaUH3VtXRa8TVwTICgirnJhmVJw.woff2","path":"libs/open-sans/fonts/cJZKeOuBrn4kERxqtaUH3VtXRa8TVwTICgirnJhmVJw.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/u-WUoqrET9fUeobQW7jkRRJtnKITppOI_IvcXXDNrsc.woff2","path":"libs/open-sans/fonts/u-WUoqrET9fUeobQW7jkRRJtnKITppOI_IvcXXDNrsc.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBiYE0-AqJ3nfInTTiDXDjU4.woff2","path":"libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBiYE0-AqJ3nfInTTiDXDjU4.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBjTOQ_MqJVwkKsUn0wKzc2I.woff2","path":"libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBjTOQ_MqJVwkKsUn0wKzc2I.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBjUj_cnvWIuuBMVgbX098Mw.woff2","path":"libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBjUj_cnvWIuuBMVgbX098Mw.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBkbcKLIaa1LC45dFaAfauRA.woff2","path":"libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBkbcKLIaa1LC45dFaAfauRA.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBmo_sUJ8uO4YLWRInS22T3Y.woff2","path":"libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBmo_sUJ8uO4YLWRInS22T3Y.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBo4P5ICox8Kq3LLUNMylGO4.woff2","path":"libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBo4P5ICox8Kq3LLUNMylGO4.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBr6up8jxqWt8HVA3mDhkV_0.woff2","path":"libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBr6up8jxqWt8HVA3mDhkV_0.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xozscpT2726on7jbcb_pAhJtnKITppOI_IvcXXDNrsc.woff2","path":"libs/open-sans/fonts/xozscpT2726on7jbcb_pAhJtnKITppOI_IvcXXDNrsc.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/source-code-pro/fonts/mrl8jkM18OlOQN8JLgasD9V_2ngZ8dMf8fLgjYEouxg.woff2","path":"libs/source-code-pro/fonts/mrl8jkM18OlOQN8JLgasD9V_2ngZ8dMf8fLgjYEouxg.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/source-code-pro/fonts/mrl8jkM18OlOQN8JLgasDy2Q8seG17bfDXYR_jUsrzg.woff2","path":"libs/source-code-pro/fonts/mrl8jkM18OlOQN8JLgasDy2Q8seG17bfDXYR_jUsrzg.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/font-awesome/fonts/fontawesome-webfont.woff","path":"libs/font-awesome/fonts/fontawesome-webfont.woff","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/font-awesome/fonts/fontawesome-webfont.woff2","path":"libs/font-awesome/fonts/fontawesome-webfont.woff2","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/font-awesome/fonts/FontAwesome.otf","path":"libs/font-awesome/fonts/FontAwesome.otf","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/font-awesome/fonts/fontawesome-webfont.eot","path":"libs/font-awesome/fonts/fontawesome-webfont.eot","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/font-awesome/fonts/fontawesome-webfont.ttf","path":"libs/font-awesome/fonts/fontawesome-webfont.ttf","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/jquery/2.1.3/jquery.min.js","path":"libs/jquery/2.1.3/jquery.min.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/jquery/plugins/cookie/1.4.1/jquery.cookie.js","path":"libs/jquery/plugins/cookie/1.4.1/jquery.cookie.js","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/libs/font-awesome/fonts/fontawesome-webfont.svg","path":"libs/font-awesome/fonts/fontawesome-webfont.svg","modified":0,"renderable":1},{"_id":"themes/Wikitten/source/uploads/tianya.png","path":"uploads/tianya.png","modified":0,"renderable":1}],"Cache":[{"_id":"S_Store","hash":"a9cabec0ae931e7048f423a95c704c714780b5e1","modified":1588882647870},{"_id":"themes/Wikitten/LICENSE","hash":"feadcd728a8e828cfc507b4586d7a7ab94b66fe8","modified":1563743114000},{"_id":"themes/Wikitten/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565719634000},{"_id":"themes/Wikitten/README.md","hash":"8c9fc9b9ebdf37c9289a4e1d72ac8aedbe23316c","modified":1563743114000},{"_id":"themes/Wikitten/README_zh-CN.md","hash":"8a4e600ff1f75007df8facf15a9c127aafec5e18","modified":1563743114000},{"_id":"themes/Wikitten/_config.yml","hash":"c9bfc67c810f7a79227daad8af59f57b6ef020b3","modified":1588912541465},{"_id":"themes/Wikitten/package.json","hash":"2b308f996333d1d9def3e536dbf302afcdd8e1f0","modified":1563743114000},{"_id":"arkeditor/file_manager_status.config","hash":"c750fd1fe3f1407005c5d2b5d7b7f9bca54970c3","modified":1564688931000},{"_id":"arkeditor/file_manager_width.config","hash":"2c427b959b7a35c68831d16645d2afde8cb67ddd","modified":1564594162000},{"_id":"rafts/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"rafts/典故-md.md","hash":"2b33e03ac046894df112a9d45da13a690f621ed2","modified":1563856606000},{"_id":"osts/.DS_Store","hash":"6f8ff578f75eaeb17eeb676dc7e41d9fe37fa6af","modified":1588882832887},{"_id":"out/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"out/index.md","hash":"282d4c506b467c746d1154f25338d16be6abbb62","modified":1563816667000},{"_id":"tegories/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"tegories/index.md","hash":"53bbe27e36d98a4a55fdce6a7fd9cac3e6671439","modified":1563766746000},{"_id":"gs/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"gs/index.md","hash":"163f9d816dac6cc50a48347bf7f93f29fa503736","modified":1563766671000},{"_id":"themes/Wikitten/_scaffolds/embed.md","hash":"0830c3a5b134fbd21a6ddeda141a4de8345cabb1","modified":1563743114000},{"_id":"themes/Wikitten/_scaffolds/post.md","hash":"af892af6f7dafdd617c5aa17ee91e9e445d20fa4","modified":1563743114000},{"_id":"themes/Wikitten/languages/en.yml","hash":"ade241498b85503a8953a1deca963222f47067a7","modified":1563743114000},{"_id":"themes/Wikitten/languages/es.yml","hash":"d7432219be5bee4cb569331378ade61b749688e0","modified":1563743114000},{"_id":"themes/Wikitten/languages/fr.yml","hash":"cb3e597cbec7e8f458858c457bafd1f3a225083d","modified":1563743114000},{"_id":"themes/Wikitten/languages/id.yml","hash":"70ec9ab2ac04cf882e81377ca5ad15bf8adceca8","modified":1563743114000},{"_id":"themes/Wikitten/languages/ja.yml","hash":"ff972961e5f468a695d80d21b62c3e9032cdf561","modified":1563743114000},{"_id":"themes/Wikitten/languages/ko.yml","hash":"7c4ad4577dc0577ad2ca1c0410507f5e5fadf530","modified":1563743114000},{"_id":"themes/Wikitten/languages/pt-BR.yml","hash":"3c5d5293575593705b9a2dfa9d97b017eb4bc8c3","modified":1563743114000},{"_id":"themes/Wikitten/_source/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1588912619614},{"_id":"themes/Wikitten/languages/ru.yml","hash":"d1aab2b0c939d0c6020f881d664b660a01ee7327","modified":1563743114000},{"_id":"themes/Wikitten/languages/tr.yml","hash":"8b7eb6aec264db50dbabea89f680acca256f4cd1","modified":1563743114000},{"_id":"themes/Wikitten/languages/zh-Hans.yml","hash":"3dc8ec524805afd090438be717908750da439204","modified":1563743114000},{"_id":"themes/Wikitten/languages/zh-TW.yml","hash":"d8d96a0a17c20af11919ce036e87379a6b163db9","modified":1563743114000},{"_id":"themes/Wikitten/layout/archive.ejs","hash":"34180dcc26b8fcc59f8644ce506aadf7db5f07e5","modified":1563743114000},{"_id":"themes/Wikitten/layout/categories.ejs","hash":"aa95629b770cff8cca9d663aeb6b17928f070de5","modified":1563743114000},{"_id":"themes/Wikitten/layout/category.ejs","hash":"1d407f9176db84e83062c52ad4755aaea9e74401","modified":1563743114000},{"_id":"themes/Wikitten/layout/embed.ejs","hash":"9e4e14d7adf20225e26d3943bdae8d08cf2d0d8b","modified":1563743114000},{"_id":"themes/Wikitten/layout/page.ejs","hash":"50170783bac99946ae8af483920568de9b2d9801","modified":1563743114000},{"_id":"themes/Wikitten/layout/index.ejs","hash":"abda4978fe246ec7f2a240e591d5caaea6de327c","modified":1588913059866},{"_id":"themes/Wikitten/layout/layout.ejs","hash":"b81b084839a6944c99cceedf743422aea4d856fa","modified":1589039520929},{"_id":"themes/Wikitten/layout/post.ejs","hash":"50170783bac99946ae8af483920568de9b2d9801","modified":1563743114000},{"_id":"themes/Wikitten/layout/tag.ejs","hash":"f6c220d4e5c231028bc71ddc11aec97d7b5a9943","modified":1563743114000},{"_id":"themes/Wikitten/layout/tags.ejs","hash":"b0fcea68d7c11e5899bf0375d80997685111653f","modified":1563743114000},{"_id":"themes/Wikitten/scripts/fold.js","hash":"2c8cfa7dac0b2665db9c148882f18a11d7d78957","modified":1563907083000},{"_id":"themes/Wikitten/scripts/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1563908768000},{"_id":"themes/Wikitten/scripts/meta.js","hash":"1993754a2f3dffa283fa0538eb8f056385b69ad4","modified":1563743114000},{"_id":"themes/Wikitten/scripts/tags.js","hash":"259bc8f40e9f8eb457c1bdc99744b34d1e8602e8","modified":1563907013000},{"_id":"themes/Wikitten/scripts/thumbnail.js","hash":"e667a611f9baac270281b765832020d50bf8fb7f","modified":1563743114000},{"_id":"themes/Wikitten/source/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1581539379000},{"_id":"osts/.markeditor/file_manager_status.config","hash":"26ccad3385b35b5dd4b33232ba36d0da4f190c00","modified":1588848849111},{"_id":"osts/IT/.DS_Store","hash":"f31c5797d3b40ff7f36965331428bf17084dc289","modified":1565813210000},{"_id":"osts/.markeditor/file_manager_width.config","hash":"2c427b959b7a35c68831d16645d2afde8cb67ddd","modified":1588848807781},{"_id":"osts/常用文件/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"osts/常用文件/Hexo日常管理.md","hash":"48184f3ce76a6679a525e3349ec30ae4608ac5ec","modified":1564718092000},{"_id":"osts/摘录/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"osts/摘录/《驴得水》影评.md","hash":"dcd7ea1a8643fe06ff14022c5d5577ccf810a33c","modified":1565905736000},{"_id":"osts/摘录/典故.md","hash":"bd9982cfe6eea388c4f99b79d479939974cf0d1e","modified":1564545095000},{"_id":"osts/摘录/爱乐之城——影评.md","hash":"dd74130851f4565e9a4ae2d8b1218e4b74fb9672","modified":1565764310000},{"_id":"osts/文档/RZF-Organisation.md","hash":"37c4c97661f0ac8203e1b0c4f7f1df70dfe2c4a1","modified":1566463161000},{"_id":"osts/读书笔记/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"osts/读书笔记/《少有人走的路》笔记.md","hash":"5a6ce1a62ddca691e7aa49658a6a1ea8cd8215e3","modified":1564632258000},{"_id":"osts/读书笔记/斯多葛主义手册.md","hash":"a56ce651794cbedea74361202e9f1868a0b10f61","modified":1565764288000},{"_id":"osts/读书笔记/财富自由之路-李笑来.md","hash":"0f1bb3b57fb1b23e38984f0343c31431c0592ab8","modified":1565764569000},{"_id":"osts/随笔/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"osts/随笔/hello-world.md","hash":"5c562e2b6c5184f490c0ea1b6d820fe50579406b","modified":1564545095000},{"_id":"themes/Wikitten/_source/about/index.md","hash":"3b3e8701e1e68d422641c456dc808bb4a665720c","modified":1563745735000},{"_id":"themes/Wikitten/_source/categories/index.md","hash":"994c1641a9b4b9ef0c604c197dffb6b0ce0513a0","modified":1563745700000},{"_id":"themes/Wikitten/_source/tags/index.md","hash":"b5cea9db4620416c871ea1b14b7eddf23b330779","modified":1563745653000},{"_id":"themes/Wikitten/layout/comment/counter.ejs","hash":"e109d3256b004b027d029bd5bd67feeb72dc5388","modified":1563743114000},{"_id":"themes/Wikitten/layout/comment/disqus.ejs","hash":"1b32a90f400dc580f4b8298de75b94429ca6de68","modified":1563743114000},{"_id":"themes/Wikitten/layout/comment/duoshuo.ejs","hash":"ce46d7410a99b57704da32e9d09071cef6c9fa93","modified":1563743114000},{"_id":"themes/Wikitten/layout/comment/index.ejs","hash":"f0f00cce7a5c37f00dbc4acf49529bdd6a6bdc5d","modified":1563743114000},{"_id":"themes/Wikitten/layout/comment/scripts.ejs","hash":"8a9a20f72ba0923afa776396fb67d8c5d446a666","modified":1563743114000},{"_id":"themes/Wikitten/layout/comment/youyan.ejs","hash":"6fe807992832939caf6c3e7651d052df9520d88e","modified":1563743114000},{"_id":"themes/Wikitten/layout/common/article.ejs","hash":"595a086a42a156dd44d30ee7f9e7189ca370bcf1","modified":1563743114000},{"_id":"themes/Wikitten/layout/common/footer.ejs","hash":"2e5c72b780ac21462976108aec769a215d2f1f45","modified":1563812254000},{"_id":"themes/Wikitten/layout/common/head.ejs","hash":"5f2df8713f0ef723b3bfc79ae580fe8707ea2036","modified":1563743114000},{"_id":"themes/Wikitten/layout/common/header.ejs","hash":"738c6a923b2a6de6a81c4892c8a47e03d8b34f88","modified":1563743114000},{"_id":"themes/Wikitten/layout/common/iframe.ejs","hash":"c3a8e71e1660d58b6ed106a045c6829e77e65881","modified":1563743114000},{"_id":"themes/Wikitten/layout/common/profile.ejs","hash":"0d5a9622d490652599e3ba3e4077a7d6bb2eb38e","modified":1563743114000},{"_id":"themes/Wikitten/layout/common/scripts.ejs","hash":"c0a1a9e53f89440c42c325d5bd8c7234652c8937","modified":1563743114000},{"_id":"themes/Wikitten/layout/common/sidebar.ejs","hash":"6e80fa52d23c9c39bfa357a1e00c26fc8b851b82","modified":1563743114000},{"_id":"themes/Wikitten/layout/common/thumbnail.ejs","hash":"1b70f8a98cd8650b159bda858dbee38dbdb7f0c5","modified":1563743114000},{"_id":"themes/Wikitten/layout/common/timeline.ejs","hash":"6420e34e0332c9b6670011519f341340db989343","modified":1563743114000},{"_id":"themes/Wikitten/layout/plugin/google-analytics.ejs","hash":"349f08b6521a16e79046b1f94f04317ac74f556e","modified":1563743114000},{"_id":"themes/Wikitten/layout/plugin/scripts.ejs","hash":"6e410c120dabac0dccbd8b0c312f261c9566cacb","modified":1563743114000},{"_id":"themes/Wikitten/layout/plugin/baidu-analytics.ejs","hash":"6a7bee18e666e627e62541a5e30906f87ba1bfe8","modified":1563743114000},{"_id":"themes/Wikitten/layout/plugin/mathjax.ejs","hash":"aa644e12c338cd595ae53c37c89b974fa4364966","modified":1588882392716},{"_id":"themes/Wikitten/layout/search/baidu.ejs","hash":"3e603a702d20c53fd3bcbeb570a16a86d54781ce","modified":1563743114000},{"_id":"themes/Wikitten/layout/search/index-mobile.ejs","hash":"50a727ac1dfe3073eb6fa6699ba01e66f4ac41c0","modified":1563743114000},{"_id":"themes/Wikitten/layout/search/index.ejs","hash":"24935e32e61d4706454b174ea3bed0726ae7fb34","modified":1563743114000},{"_id":"themes/Wikitten/layout/search/insight.ejs","hash":"130fe3d33ac71da0b50f7fee6a87979f30938a1b","modified":1563743114000},{"_id":"themes/Wikitten/layout/search/swiftype.ejs","hash":"379e66d2c13526e72e4120c443f95fccf4edef71","modified":1563743114000},{"_id":"themes/Wikitten/layout/share/addtoany.ejs","hash":"ac180c4c84b73a04d61b17e7dc18c257e20bf59f","modified":1563743114000},{"_id":"themes/Wikitten/layout/share/bdshare.ejs","hash":"a1e772c5a6f174d585b0c1e574058f75dc8e2898","modified":1563743114000},{"_id":"themes/Wikitten/layout/share/default.ejs","hash":"ebfb919dc525b3ed61a6a5ee05ee71410eedc541","modified":1563743114000},{"_id":"themes/Wikitten/layout/share/index.ejs","hash":"2a2c0095b95b11e5692bd8ad6a2337aa644189a2","modified":1563743114000},{"_id":"themes/Wikitten/layout/share/jiathis.ejs","hash":"21ebaa51e828cba2cefbeeaccb01514643565755","modified":1563743114000},{"_id":"themes/Wikitten/layout/widget/archive.ejs","hash":"91a4675876990c12bd252f00e13894e0e7e5e50a","modified":1563743114000},{"_id":"themes/Wikitten/layout/widget/category.ejs","hash":"d09317d5e328a9c6ff8fded93604ebe04764cc4c","modified":1563743114000},{"_id":"themes/Wikitten/layout/widget/links.ejs","hash":"0f58cafed5156488f550df6d560814f835a46854","modified":1563743114000},{"_id":"themes/Wikitten/layout/widget/recent_posts.ejs","hash":"dc83051ae67cfae0db0a6d9790c923ff2883ee25","modified":1563743114000},{"_id":"themes/Wikitten/layout/widget/tag.ejs","hash":"5d70b1bf3b1fc977135e458f9a50cb65cff91f17","modified":1563743114000},{"_id":"themes/Wikitten/layout/widget/tagcloud.ejs","hash":"73638a7c91c6d6433e766b35199508719bf27d19","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_extend.styl","hash":"9a5c72663c0da1b32ecb6a75773a5ccfb8c467ca","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_variables.styl","hash":"2eba1250b39115da9f32e8a70d271e04186419c0","modified":1563743114000},{"_id":"themes/Wikitten/source/css/style.styl","hash":"d37d6c7754805c60564c0d9a50b7b058e7f830c9","modified":1563743114000},{"_id":"themes/Wikitten/source/js/insight.js","hash":"c9dfd20ae82a446facad01439b7bb75332e3705b","modified":1563743114000},{"_id":"themes/Wikitten/source/images/mobile2.png","hash":"ba9a7a5464369c4272f6345ef879b5d1c2449de1","modified":1563743114000},{"_id":"themes/Wikitten/source/js/main.js","hash":"d1ab55b8f28037dab5512c40d33553fac966dc39","modified":1563908857000},{"_id":"themes/Wikitten/source/uploads/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1563652057000},{"_id":"themes/Wikitten/source/images/mobile1.png","hash":"db83e3ffbf60ff88443cd3b9d1c23666005e88f0","modified":1563743114000},{"_id":"osts/IT/Code/Javascript技术摘要.md","hash":"e949fc3ccd48cfba5e3064c7b39ed5f523553d86","modified":1568660025000},{"_id":"osts/IT/Mac/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1588882793782},{"_id":"osts/IT/Mac/Mac使用标签.md","hash":"c28b4fa4701f08fcfe5942ec8f151d7cfd2f8dad","modified":1564545094000},{"_id":"osts/IT/Tools/Gitbook攻略.md","hash":"c78d9b403444239f353b6a4a6ce0f97e6ad0fcd7","modified":1565862378000},{"_id":"osts/IT/Mac/Mac备忘录.md","hash":"5d7fb8ad7a1a59b6dd65df8a6eae0d8cb7b18fd5","modified":1588836517649},{"_id":"osts/IT/Tools/Ubuntu重设root用户密码.md","hash":"b7323a3ac81d57b3c489d97c7da56a991883089f","modified":1565764467000},{"_id":"osts/IT/Tools/使用Github维护知识库.md","hash":"27bf57527ac1d9061b1733540ac9f0b383a8a35f","modified":1565862053000},{"_id":"osts/IT/Tools/坚果云有关.md","hash":"1a966cbc37318b34551bf17be4bccfc16761fa7f","modified":1565820630000},{"_id":"osts/IT/Tools/编辑器工具使用技巧汇总.md","hash":"8103dd1e47e61523c797cf86e82bb26517f54b12","modified":1567357907000},{"_id":"osts/IT/Tools/配置服务器端MySQL.md","hash":"d44b85906db5816259dc4b2128dcac8a0766b447","modified":1565788245000},{"_id":"osts/IT/Web/Next主题添加内容折叠.md","hash":"0c381c884e0c77af522fdbf958536f2c217ceb1b","modified":1564545094000},{"_id":"osts/IT/Web/同步Hexo文章与Mac上原笔记的分类和标签.md","hash":"3af3acc8ed642c8c74ad89b87ee0e98bf0db9865","modified":1564837106000},{"_id":"osts/IT/Web/如何系统化管理Hexo博客.md","hash":"06aeeeb674ebf91cc550732fd7c5f5f30413e791","modified":1565905917000},{"_id":"osts/IT/Tools/有用的shell命令.md","hash":"1e3bffca5cac009d0f91cbd6bb96206076e50cae","modified":1565788356000},{"_id":"osts/IT/skill/用Typescript编写JS函数库.md","hash":"b189a07241dcd4bc6388fb40f92d1ec9b9835669","modified":1566646240000},{"_id":"osts/IT/Web/搭建Hexo博客的流水账.md","hash":"2bc4bf601a7c03ca17acf56806bd8aaf1b2e6f5c","modified":1565865865000},{"_id":"osts/IT/skill/还在用七牛.md","hash":"ee7b98bee940ef09c06ffcdc967b41af8d0752b1","modified":1565852093000},{"_id":"osts/摘录/片段/佛偈集合.md","hash":"fcc94a0d1fbabbd9ff5cc9a607bc07dec6b9fb8b","modified":1565905574000},{"_id":"osts/摘录/片段/名人语录.md","hash":"3c9d34d4393d3276a3ab8ad82ccabc6b3155f39f","modified":1564545095000},{"_id":"osts/摘录/娱乐/搞笑段子.md","hash":"a13e48400bba8b3427b7ac080073ec19fa20bc93","modified":1564545095000},{"_id":"osts/摘录/片段/简短书摘.md","hash":"a2586fd508f831d1631fbc0925c39288ffd23692","modified":1564545095000},{"_id":"osts/IT/skill/MathJax用于易学领域.md","hash":"a199fc359afe19f5ec89c2069defd27990b742f9","modified":1588930688489},{"_id":"osts/摘录/片段/零散句子.md","hash":"c6100208f88c30d1910c03d472cc96e53320c996","modified":1564942528000},{"_id":"osts/摘录/片段/缠中说禅.md","hash":"57bc98bc30aff6804eebbe9b5300af1f673973a3","modified":1564545095000},{"_id":"themes/Wikitten/layout/common/post/banner.ejs","hash":"47ced3f03525698c79c6b1c07b48383fb6c496b2","modified":1563743114000},{"_id":"themes/Wikitten/layout/common/post/category.ejs","hash":"75c9dda2e7ec041943855ca163a6b1c4c8b4f260","modified":1563743114000},{"_id":"themes/Wikitten/layout/common/post/date.ejs","hash":"45cb0bcad461036cdd1fe2e3fbb5f2f19940025c","modified":1563743114000},{"_id":"themes/Wikitten/layout/common/post/gallery.ejs","hash":"659f019761116313169148ec61773e7b84abb739","modified":1563743114000},{"_id":"themes/Wikitten/layout/common/post/nav.ejs","hash":"d7cd611e642327f33dff3963ef869c2b46824a11","modified":1563743114000},{"_id":"themes/Wikitten/layout/common/post/tag.ejs","hash":"2e966216256321aa0c76fe1b9be689601c76ef31","modified":1563743114000},{"_id":"themes/Wikitten/layout/common/post/title.ejs","hash":"669ddb46fefa100856588351a7a2d30ad996b755","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/agate.styl","hash":"601eb70448a16b918df132f6fc41e891ae053653","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/androidstudio.styl","hash":"65d09f1b0e81c6a182f549fd3de51e59823c97ae","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/arduino-light.styl","hash":"15e8572585cd708221c513dea4bdd89d8fe56c10","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/arta.styl","hash":"1a5accc115f41d1b669ed708ac6a29abac876599","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/ascetic.styl","hash":"32cff3bef6fac3760fe78f203096477052a90552","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-cave-dark.styl","hash":"bc647b2c1d971d7cc947aa1ed66e9fd115261921","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-cave-light.styl","hash":"a5be0744a7ecf4a08f600ade4cfd555afc67bc15","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-dune-dark.styl","hash":"df50a85a4b14c7ca6e825d665594b91229d0e460","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-dune-light.styl","hash":"931435fbc6f974e8ce9e32722680035d248a9dc1","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-estuary-dark.styl","hash":"d84382bc8298f96730757391d3e761b7e640f406","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-estuary-light.styl","hash":"344276ca9b27e51d4c907f76afe5d13cf8e60bdf","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-forest-dark.styl","hash":"57c154c6045a038dc7df0a25927853e10bf48c4a","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-forest-light.styl","hash":"95228d9f2102fad425536aac44b80b2cba1f5950","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-heath-dark.styl","hash":"b0cf13b2233e7bc38342032d2d7296591a4c2bcf","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-lakeside-dark.styl","hash":"bb0a8c4ad0dd8e3e7de7122ddf268fc42aa94acb","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-lakeside-light.styl","hash":"2c54cb9bdb259ae3b5b29f63ac2469ed34b08578","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-heath-light.styl","hash":"8c8c2e445abef85273be966d59770e9ced6aac21","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-plateau-dark.styl","hash":"09c64f1a7052aec9070c36c0431df25216afaea1","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-plateau-light.styl","hash":"d1a05fdd1ededc9063d181ab25bad55a164aeb4a","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-savanna-dark.styl","hash":"a16c919a1ccf2f845488078fb341381bec46b1f3","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-savanna-light.styl","hash":"f8244c93711c7cb59dd79d2df966806b30d171ea","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-seaside-dark.styl","hash":"ce233a101daea7124cbfcd34add43ccfe2e1e1c7","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-seaside-light.styl","hash":"0597342da6e2d0c5bdcc7d42dabb07322b1a4177","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-sulphurpool-dark.styl","hash":"414b0cfc142f70afe359c16450b651e28bf7325a","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/atelier-sulphurpool-light.styl","hash":"efa52713efc468abeeb2b9299704371583b857de","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/brown-paper.styl","hash":"c2326ba20a5020a66ca7895258d18833327d4334","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/brown-papersq.png","hash":"3a1332ede3a75a3d24f60b6ed69035b72da5e182","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/color-brewer.styl","hash":"2a439d6214430e2f45dd4939b4dfe1fe1a20aa0f","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/dark.styl","hash":"71ce56d311cc2f3a605f6e2c495ccd7236878404","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/codepen-embed.styl","hash":"f4dcc84d8e39f9831a5efe80e51923fc3054feb0","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/docco.styl","hash":"b1c176378bb275f2e8caa759f36294e42d614bf1","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/far.styl","hash":"d9928010ffe71e80b97a5afcba1a4975efdd7372","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/darkula.styl","hash":"ad0d5728d21645039c9f199e7a56814170ed3bab","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/foundation.styl","hash":"bf8ddc94b4ad995b8b8805b5a4cf95004553fdac","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/github-gist.styl","hash":"48211a03d33e7f7ada0b261162bea06676155a71","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/github.styl","hash":"3336aeba324c6d34a6fd41fef9b47bc598f7064c","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/googlecode.styl","hash":"bda816beee7b439814b514e6869dc678822be1bc","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/grayscale.styl","hash":"bf37d8b8d1e602126c51526f0cc28807440228ed","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/highlightjs.styl","hash":"0e198b7a59191c7a39b641a4ddd22c948edb9358","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/hopscotch.styl","hash":"b374c6550b89b4751aedc8fbc3cf98d95bd70ead","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/hybrid.styl","hash":"ea8d7ddc258b073308746385f5cb85aabb8bfb83","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/idea.styl","hash":"a02967cb51c16a34e0ee895d33ded2b823d35b21","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/index.styl","hash":"002d5596f6379cc87dbd43d9145bc764aa666be1","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/ir-black.styl","hash":"693078bbd72a2091ed30f506cc55949600b717af","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/kimbie.dark.styl","hash":"45dbb168f22d739d0109745d2decd66b5f94e786","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/kimbie.light.styl","hash":"61f8baed25be05288c8604d5070afbcd9f183f49","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/magula.styl","hash":"16d323f989b1420a0f72ef989242ece9bf17a456","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/mono-blue.styl","hash":"4c89a6ae29de67c0700585af82a60607e85df928","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/monokai-sublime.styl","hash":"25aa2fc1dbe38593e7c7ebe525438a39574d9935","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/monokai.styl","hash":"5a4fe9f957fd7a368c21b62a818403db4270452f","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/obsidian.styl","hash":"55572bbcfee1de6c31ac54681bb00336f5ae826d","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/paraiso-dark.styl","hash":"f1537bd868579fa018ecdbfd2eb922dcf3ba2cac","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/paraiso-light.styl","hash":"d224d1df0eb3395d9eea1344cee945c228af2911","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/pojoaque.jpg","hash":"c5fe6533b88b21f8d90d3d03954c6b29baa67791","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/pojoaque.styl","hash":"77dae9dc41945359d17fe84dbd317f1b40b2ee33","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/railscasts.styl","hash":"acd620f8bb7ff0e3fe5f9a22b4433ceef93a05e6","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/rainbow.styl","hash":"ce73b858fc0aba0e57ef9fb136c083082746bc1d","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/school-book.png","hash":"711ec983c874e093bb89eb77afcbdf6741fa61ee","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/school-book.styl","hash":"d43560fe519a931ce6da7d57416d7aa148441b83","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/solarized-dark.styl","hash":"702b9299a48c90124e3ac1d45f1591042f2beccc","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/solarized-light.styl","hash":"aa0dd3fd25c464183b59c5575c9bee8756b397f2","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/sunburst.styl","hash":"a0b5b5129547a23865d400cfa562ea0ac1ee3958","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/tomorrow-night-blue.styl","hash":"8b3087d4422be6eb800935a22eb11e035341c4ba","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/tomorrow-night-bright.styl","hash":"0ac6af6ecb446b5b60d6226748e4a6532db34f57","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/tomorrow-night-eighties.styl","hash":"fa57b3bb7857a160fc856dbe319b31e30cc5d771","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/tomorrow-night.styl","hash":"19b3080d4b066b40d50d7e7f297472482b5801fd","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/tomorrow.styl","hash":"15779cf6846725c7c35fc56cac39047d7e0aec1c","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/vs.styl","hash":"959a746f4b37aacb5d1d6ff1d57e0c045289d75d","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/xcode.styl","hash":"5e8532ae8366dcf6a4ef5e4813dc3d42ab3d0a50","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_highlight/zenburn.styl","hash":"fc5ec840435dad80964d04519d3f882ddc03746a","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_partial/archive.styl","hash":"146b5a86d6f602232d86e246ea20620ec923cccc","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_partial/article.styl","hash":"55392727ed6a4cc57dca7ed88ae8364d441e65e3","modified":1564810565000},{"_id":"themes/Wikitten/source/css/_partial/comment.styl","hash":"784646796184d4f27918c22395288a2fafbf9554","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_partial/footer.styl","hash":"484776654e4c1691dc844e6e93786a08855c1c99","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_partial/header.styl","hash":"154fcfe17c4a9833903b3a91efb1ddf315e7fcba","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_partial/insight.styl","hash":"d3195723c373a68a05b76d430f8aeb2d2dd1957f","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_partial/profile.styl","hash":"2ecc48d48ad8769556036f19f2769c84c428cbc6","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_partial/sidebar.styl","hash":"4a11aace0de3aeafdd88caef7cd238543ce1cd95","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_util/grid.styl","hash":"93fb6f1e2f40cd7d88ad0d56dd73d3f9a7bc853e","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_partial/timeline.styl","hash":"4ea679287d49f91634dd32ad812746cccc1e6281","modified":1563743114000},{"_id":"themes/Wikitten/source/css/_util/mixin.styl","hash":"c8e1ddfc0fe9108bab592c7a73b73ce9344991fd","modified":1563743114000},{"_id":"themes/Wikitten/source/css/images/favicon.ico","hash":"b37ac89616b9e4c01a35991af59fe6b63e41a48e","modified":1563743114000},{"_id":"themes/Wikitten/source/css/images/logo.png","hash":"8c61e1ec0b7c7200045d7795bac097fce475ef16","modified":1563743114000},{"_id":"themes/Wikitten/source/css/images/thumb-default-small.png","hash":"e8403b97ed9251f9f5207765b0ce796c5000b4ba","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/fonts/glyphicons-halflings-regular.woff2","hash":"ca35b697d99cae4d1b60f2d60fcd37771987eb07","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/fonts/glyphicons-halflings-regular.woff","hash":"278e49a86e634da6f2a02f3b47dd9d2a8f26210f","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/fonts/glyphicons-halflings-regular.ttf","hash":"44bc1850f570972267b169ae18f1cb06b611ffa2","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/justified-gallery/justifiedGallery.min.css","hash":"13fbcba5e97aa88b748d94d3efc4718475279907","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/justified-gallery/jquery.justifiedGallery.min.js","hash":"b2683e7a872bc109b1756a65188a37cef7d0bd5c","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/source-code-pro/styles.css","hash":"93c308012738728f906cd4c5cfdb34189e0c712b","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/styles.css","hash":"5ca6e111046232bde112d33201a60532aee7d3c4","modified":1563743114000},{"_id":"themes/Wikitten/source/images/SitePreview.png","hash":"c37c32696828492d6a8a4dfb0f84af98f5fb1306","modified":1563743114000},{"_id":"themes/Wikitten/source/uploads/road-to-asset-freedom-mindmap.html","hash":"eed342d1dd1cac1d8635292caeac2ed90f64cc70","modified":1563735219000},{"_id":"themes/Wikitten/source/libs/fonts/glyphicons-halflings-regular.eot","hash":"86b6f62b7853e67d3e635f6512a5a5efc58ea3c3","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/fonts/glyphicons-halflings-regular.svg","hash":"de51a8494180a6db074af2dee2383f0a363c5b08","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/font-awesome/css/font-awesome.css","hash":"b5020c3860669185ba3f316fa7332cdf5c06f393","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lg-fb-comment-box.css","hash":"844ce27b8488968bccb3e50bb49184ba2aae0625","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/font-awesome/css/font-awesome.min.css","hash":"7cd5a3384333f95c3d37d9488ad82cd6c4b03761","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lg-fb-comment-box.css.map","hash":"51e9df39edf0faa3f38c1bab0c1fa6c922b9edcb","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lg-fb-comment-box.min.css","hash":"05830fadb8454f39dcc98c8686eb4d5c24b71fc0","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lg-transitions.css","hash":"7871c28498d74451d6aa438c8d3a1817810a1e19","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lg-transitions.css.map","hash":"50c3348638b4d82fa08a449c690e8d2bb593005d","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lg-transitions.min.css","hash":"5c22e2073a4c96d6212c72135391b599e8d1359f","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lightgallery.css","hash":"bef55316a32e512d5a8940e5d0bfe8bf7a9c5c61","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lightgallery.css.map","hash":"3175b4107078674d25798979f7666f4daf31e624","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/css/lightgallery.min.css","hash":"c9a2e19c932b56f4a2ce30c98910d10b74edb38a","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/fonts/lg.eot","hash":"54caf05a81e33d7bf04f2e420736ce6f1de5f936","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/fonts/lg.svg","hash":"9a732790adc004b22022cc60fd5f77ec4c8e3e5a","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/fonts/lg.woff","hash":"3048de344dd5cad4624e0127e58eaae4b576f574","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-autoplay.js","hash":"426bb78b93acfc39d533ea2bab1cec8dc289cf24","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/fonts/lg.ttf","hash":"f6421c0c397311ae09f9257aa58bcd5e9720f493","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-autoplay.min.js","hash":"d845741bcaf961579622880eb2a445257efad1ac","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-fullscreen.js","hash":"65c47ac65362854ba44b00a010bb01e3630209d8","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-fullscreen.min.js","hash":"b6b9e4022700b7faf2a5a175ba44a3bd938fdd20","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-hash.js","hash":"15d16516c5642d3de1566ff8fc9160136ccaa405","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-hash.min.js","hash":"43f1e1e720ab0e241c19b83aa26bd6848eab8edc","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-pager.js","hash":"8092c692b244bb26343eb03b91bd97deb9dafc9c","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-pager.min.js","hash":"25caa6ff65b1c6dee09941e795ae2633bdbab211","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-share.js","hash":"b7fb5f6474911060a351b0a6fe9dbb9ac3fb22aa","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-share.min.js","hash":"39c615f07c5d3aaa65a2c3068a30fdd6dd5c372d","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-thumbnail.js","hash":"3a6476b6df1d2bef4a21861a78776282a7a11ef1","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-thumbnail.min.js","hash":"18dd7d2909d1bfd6852f031d03e774b4428c512b","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-video.js","hash":"4f99b598f6bb18de9eca8c45c5b4373a03962367","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-video.min.js","hash":"032c001ab045a69856f9c3ed4a2a3bf12a8e310f","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-zoom.js","hash":"a758e2c8fcf710f9ff761da0eea0ab9321f3484d","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lg-zoom.min.js","hash":"15b49f9728439819ece15e4295cce254c87a4f45","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lightgallery.js","hash":"3cd19b33ba99efd5ba1d167da91720566d274b2c","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/js/lightgallery.min.js","hash":"956ef9b706755318da69ad0b5d7786339d831251","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/img/loading.gif","hash":"607810444094b8619fa4efa6273bc2a7e38dd4b4","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/img/video-play.png","hash":"3ea484cdc04d2e4547f80cbf80001dcf248c94ef","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/img/vimeo-play.png","hash":"6190254f2804904a4a1fa1eb390dfd334e416992","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/lightgallery/img/youtube-play.png","hash":"fea6df9d9d43151f9c9d15f000adb30eb3e26fc4","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/59ZRklaO5bWGqF5A9baEERJtnKITppOI_IvcXXDNrsc.woff2","hash":"c4248ea800bd5608344ce163f5658b57e7ef9410","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/K88pR3goAWT7BTt32Z01mxJtnKITppOI_IvcXXDNrsc.woff2","hash":"e0350190d720a8fec0557ab47b318ec4e4486448","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/LWCjsQkB6EMdfHrEVqA1KRJtnKITppOI_IvcXXDNrsc.woff2","hash":"2c5b039b57f62625e88226a938679ec937431ad1","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNShWV49_lSm1NYrwo-zkhivY.woff2","hash":"22413bb8bfb78608c1e25aa1ed5c1f38557df79f","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSj0LW-43aMEzIO6XUTLjad8.woff2","hash":"63eb74ef040aade256f2274a7f31a914edddb0ea","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSpX5f-9o1vgP2EXwfjgl7AY.woff2","hash":"328a22fe3eec71ad9e5ece4d67dd62e79dab6b7f","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSq-j2U0lmluP9RWlSytm3ho.woff2","hash":"4dc6d7174ea6d89f4c45e43e1bfc3e03d8ffebaf","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSqaRobkAwv3vxw3jMhVENGA.woff2","hash":"415eee05976ab8b2471602a5ddb78a6c58fc21aa","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSugdm0LZdjqr5-oayXSOefg.woff2","hash":"a0b0c389cf46d63c850e61fed572485ff0b68183","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSv8zf_FOSsgRmwsS7Aa9k2w.woff2","hash":"c5f29fed6632efe0aa83318369f0d8c4061b775b","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/RjgO7rYTmqiVp7vzi-Q5URJtnKITppOI_IvcXXDNrsc.woff2","hash":"be201d32a9aa5d186723ebb3c538be691aa8c53a","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/cJZKeOuBrn4kERxqtaUH3VtXRa8TVwTICgirnJhmVJw.woff2","hash":"afc44700053c9a28f9ab26f6aec4862ac1d0795d","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/u-WUoqrET9fUeobQW7jkRRJtnKITppOI_IvcXXDNrsc.woff2","hash":"113978181dcac77baecef6115a9121d8f6e4fc3a","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBiYE0-AqJ3nfInTTiDXDjU4.woff2","hash":"5067c81462c15422853c94d21a1726865a61634f","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBjTOQ_MqJVwkKsUn0wKzc2I.woff2","hash":"b366f2fda2e524eb5ef50058eefff249a3b96e6c","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBjUj_cnvWIuuBMVgbX098Mw.woff2","hash":"d22904914469be735490e3c8cb093c7862896dd5","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBkbcKLIaa1LC45dFaAfauRA.woff2","hash":"ae80fb3cd16339aa7b5da280ab53975523dcaac2","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBmo_sUJ8uO4YLWRInS22T3Y.woff2","hash":"b85efde42fa3a03c32b1d31c6cd74c622fc7916c","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBo4P5ICox8Kq3LLUNMylGO4.woff2","hash":"e75607ba1417181397c700775b84303d5a2957b9","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBr6up8jxqWt8HVA3mDhkV_0.woff2","hash":"d0b40a7848703556c6631f24e961a98ca5829255","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/open-sans/fonts/xozscpT2726on7jbcb_pAhJtnKITppOI_IvcXXDNrsc.woff2","hash":"be365eca44760ce3fc9b377c43d4634958479c69","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/source-code-pro/fonts/mrl8jkM18OlOQN8JLgasD9V_2ngZ8dMf8fLgjYEouxg.woff2","hash":"942addaec4d3a60af33947a84a3d85f926015947","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/source-code-pro/fonts/mrl8jkM18OlOQN8JLgasDy2Q8seG17bfDXYR_jUsrzg.woff2","hash":"b0e0bb5ef78db8b15d430d0b9be9d4329289a310","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/font-awesome/fonts/fontawesome-webfont.woff","hash":"6d7e6a5fc802b13694d8820fc0138037c0977d2e","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/font-awesome/fonts/fontawesome-webfont.woff2","hash":"97e438cc545714309882fbceadbf344fcaddcec5","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/font-awesome/fonts/FontAwesome.otf","hash":"1b22f17fdc38070de50e6d1ab3a32da71aa2d819","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/font-awesome/fonts/fontawesome-webfont.eot","hash":"965ce8f688fedbeed504efd498bc9c1622d12362","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/font-awesome/fonts/fontawesome-webfont.ttf","hash":"61d8d967807ef12598d81582fa95b9f600c3ee01","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/jquery/2.1.3/jquery.min.js","hash":"41b4bfbaa96be6d1440db6e78004ade1c134e276","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/jquery/plugins/cookie/1.4.1/jquery.cookie.js","hash":"31e1bcc4cf805a2c2fee21f48ded1e598f64a2a8","modified":1563743114000},{"_id":"themes/Wikitten/source/libs/font-awesome/fonts/fontawesome-webfont.svg","hash":"c0522272bbaef2acb3d341912754d6ea2d0ecfc0","modified":1563743114000},{"_id":"themes/Wikitten/source/uploads/tianya.png","hash":"2d392e6eb508d31f7328d0c21492f3970f0ee213","modified":1563651881000},{"_id":"source/.DS_Store","hash":"a9cabec0ae931e7048f423a95c704c714780b5e1","modified":1588882647870},{"_id":"source/.markeditor/file_manager_status.config","hash":"c750fd1fe3f1407005c5d2b5d7b7f9bca54970c3","modified":1564688931000},{"_id":"source/.markeditor/file_manager_width.config","hash":"2c427b959b7a35c68831d16645d2afde8cb67ddd","modified":1564594162000},{"_id":"source/_drafts/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"source/_drafts/典故-md.md","hash":"2b33e03ac046894df112a9d45da13a690f621ed2","modified":1563856606000},{"_id":"source/_posts/.DS_Store","hash":"6f8ff578f75eaeb17eeb676dc7e41d9fe37fa6af","modified":1588882832887},{"_id":"source/about/index.md","hash":"282d4c506b467c746d1154f25338d16be6abbb62","modified":1563816667000},{"_id":"source/categories/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"source/about/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"source/categories/index.md","hash":"53bbe27e36d98a4a55fdce6a7fd9cac3e6671439","modified":1563766746000},{"_id":"source/tags/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"source/tags/index.md","hash":"163f9d816dac6cc50a48347bf7f93f29fa503736","modified":1563766671000},{"_id":"source/_posts/.markeditor/file_manager_status.config","hash":"26ccad3385b35b5dd4b33232ba36d0da4f190c00","modified":1588848849111},{"_id":"source/_posts/.markeditor/file_manager_width.config","hash":"2c427b959b7a35c68831d16645d2afde8cb67ddd","modified":1588848807781},{"_id":"source/_posts/IT/.DS_Store","hash":"f31c5797d3b40ff7f36965331428bf17084dc289","modified":1565813210000},{"_id":"source/_posts/常用文件/Hexo日常管理.md","hash":"48184f3ce76a6679a525e3349ec30ae4608ac5ec","modified":1564718092000},{"_id":"source/_posts/常用文件/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"source/_posts/摘录/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"source/_posts/摘录/《驴得水》影评.md","hash":"dcd7ea1a8643fe06ff14022c5d5577ccf810a33c","modified":1565905736000},{"_id":"source/_posts/摘录/典故.md","hash":"bd9982cfe6eea388c4f99b79d479939974cf0d1e","modified":1564545095000},{"_id":"source/_posts/摘录/爱乐之城——影评.md","hash":"dd74130851f4565e9a4ae2d8b1218e4b74fb9672","modified":1565764310000},{"_id":"source/_posts/文档/RZF-Organisation.md","hash":"37c4c97661f0ac8203e1b0c4f7f1df70dfe2c4a1","modified":1566463161000},{"_id":"source/_posts/读书笔记/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"source/_posts/读书笔记/《少有人走的路》笔记.md","hash":"5a6ce1a62ddca691e7aa49658a6a1ea8cd8215e3","modified":1564632258000},{"_id":"source/_posts/读书笔记/斯多葛主义手册.md","hash":"a56ce651794cbedea74361202e9f1868a0b10f61","modified":1565764288000},{"_id":"source/_posts/读书笔记/财富自由之路-李笑来.md","hash":"0f1bb3b57fb1b23e38984f0343c31431c0592ab8","modified":1565764569000},{"_id":"source/_posts/随笔/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1565728063000},{"_id":"source/_posts/随笔/hello-world.md","hash":"5c562e2b6c5184f490c0ea1b6d820fe50579406b","modified":1564545095000},{"_id":"source/_posts/IT/Code/Javascript技术摘要.md","hash":"e949fc3ccd48cfba5e3064c7b39ed5f523553d86","modified":1589169243957},{"_id":"source/_posts/IT/Mac/.DS_Store","hash":"df2fbeb1400acda0909a32c1cf6bf492f1121e07","modified":1588882793782},{"_id":"source/_posts/IT/Mac/Mac使用标签.md","hash":"c28b4fa4701f08fcfe5942ec8f151d7cfd2f8dad","modified":1564545094000},{"_id":"source/_posts/IT/Tools/Ubuntu重设root用户密码.md","hash":"b7323a3ac81d57b3c489d97c7da56a991883089f","modified":1565764467000},{"_id":"source/_posts/IT/Tools/坚果云有关.md","hash":"1a966cbc37318b34551bf17be4bccfc16761fa7f","modified":1565820630000},{"_id":"source/_posts/IT/Tools/Gitbook攻略.md","hash":"c78d9b403444239f353b6a4a6ce0f97e6ad0fcd7","modified":1565862378000},{"_id":"source/_posts/IT/Mac/Mac备忘录.md","hash":"5d7fb8ad7a1a59b6dd65df8a6eae0d8cb7b18fd5","modified":1588836517649},{"_id":"source/_posts/IT/Tools/使用Github维护知识库.md","hash":"27bf57527ac1d9061b1733540ac9f0b383a8a35f","modified":1565862053000},{"_id":"source/_posts/IT/Tools/有用的shell命令.md","hash":"1e3bffca5cac009d0f91cbd6bb96206076e50cae","modified":1565788356000},{"_id":"source/_posts/IT/Tools/编辑器工具使用技巧汇总.md","hash":"8103dd1e47e61523c797cf86e82bb26517f54b12","modified":1567357907000},{"_id":"source/_posts/IT/Tools/配置服务器端MySQL.md","hash":"d44b85906db5816259dc4b2128dcac8a0766b447","modified":1565788245000},{"_id":"source/_posts/IT/Web/Next主题添加内容折叠.md","hash":"0c381c884e0c77af522fdbf958536f2c217ceb1b","modified":1564545094000},{"_id":"source/_posts/IT/Web/同步Hexo文章与Mac上原笔记的分类和标签.md","hash":"3af3acc8ed642c8c74ad89b87ee0e98bf0db9865","modified":1564837106000},{"_id":"source/_posts/IT/Web/如何系统化管理Hexo博客.md","hash":"06aeeeb674ebf91cc550732fd7c5f5f30413e791","modified":1565905917000},{"_id":"source/_posts/IT/Web/搭建Hexo博客的流水账.md","hash":"2bc4bf601a7c03ca17acf56806bd8aaf1b2e6f5c","modified":1565865865000},{"_id":"source/_posts/IT/skill/用Typescript编写JS函数库.md","hash":"b189a07241dcd4bc6388fb40f92d1ec9b9835669","modified":1566646240000},{"_id":"source/_posts/IT/skill/还在用七牛.md","hash":"ee7b98bee940ef09c06ffcdc967b41af8d0752b1","modified":1565852093000},{"_id":"source/_posts/IT/skill/MathJax用于易学领域.md","hash":"a199fc359afe19f5ec89c2069defd27990b742f9","modified":1588930688489},{"_id":"source/_posts/摘录/娱乐/搞笑段子.md","hash":"a13e48400bba8b3427b7ac080073ec19fa20bc93","modified":1564545095000},{"_id":"source/_posts/摘录/片段/佛偈集合.md","hash":"fcc94a0d1fbabbd9ff5cc9a607bc07dec6b9fb8b","modified":1565905574000},{"_id":"source/_posts/摘录/片段/名人语录.md","hash":"3c9d34d4393d3276a3ab8ad82ccabc6b3155f39f","modified":1564545095000},{"_id":"source/_posts/摘录/片段/简短书摘.md","hash":"a2586fd508f831d1631fbc0925c39288ffd23692","modified":1564545095000},{"_id":"source/_posts/摘录/片段/缠中说禅.md","hash":"57bc98bc30aff6804eebbe9b5300af1f673973a3","modified":1564545095000},{"_id":"source/_posts/摘录/片段/零散句子.md","hash":"c6100208f88c30d1910c03d472cc96e53320c996","modified":1564942528000},{"_id":"source/_posts/Hexo在线编辑.md","hash":"b03f87c1a35765cc28fb78885be5a1e8b5e6a2fd","modified":1626645017407},{"_id":"public/atom.xml","hash":"1dab61e5d7041f15e6dcf98490385e4d1cdd85f9","modified":1629304637462},{"_id":"public/search.xml","hash":"0cea8acbee672b1f7ec1b0dc4994f11e075577a2","modified":1629304637463},{"_id":"public/content.json","hash":"d1c2f7c70d9d8805952aa03e0462809bd9108a64","modified":1629304638629},{"_id":"public/sitemap.xml","hash":"ea3510cbf1271cbc3f8b1e4bb6fb7b803842996b","modified":1629304638630},{"_id":"public/about/index.html","hash":"a54a52768395f529850aa40560487cbb9b0c7710","modified":1629304638816},{"_id":"public/categories/index.html","hash":"245ddebd37737855c3069b1e2e2931f006fb59c8","modified":1629304638816},{"_id":"public/tags/index.html","hash":"88fc8af1fb7bfd0261620e2587a1c99c93245bfc","modified":1629304638985},{"_id":"public/javascript-typescript-skills.html","hash":"74acc1048ce1a20cb6a23c7e67c85157c19078c3","modified":1629304638989},{"_id":"public/mathjax-yixue-usage.html","hash":"0945d34847087841944a307d707040ca853b26a6","modified":1629304638989},{"_id":"public/TypeScript-build-JS-Package.html","hash":"4606132b1081f28b64360c869a73a3e32f8093e5","modified":1629304638989},{"_id":"public/still-using-qiniu.html","hash":"1c2e53ca01ebd4800c0a3e729672e5388cacce6f","modified":1629304638989},{"_id":"public/gitbook_with_typora_gh-pages.html","hash":"971377db2104c2f51cc9a69a6127a00cb09230f8","modified":1629304638989},{"_id":"public/config-mysql-access-privileges-on-vps.html","hash":"b03450a9c473dee6c16b89a4c412e6f161dd8b52","modified":1629304638989},{"_id":"public/storic-summary.html","hash":"2f8c489e858d5e99107b538dad22d010a83621ba","modified":1629304638990},{"_id":"public/synchron-the-tag-and-categories-btw-pc-hexo.html","hash":"1cb18bbb111df42f6ea4b7dbfbbac61a816d44cd","modified":1629304638990},{"_id":"public/helpfull-shell-command.html","hash":"7fb41c663257bbd66b84d6477da40527a2c5cfce","modified":1629304638990},{"_id":"public/hexo-blog-alltag-verwalten.html","hash":"a36fac1cb14998fcdad03810ef37ffad1707f834","modified":1629304638990},{"_id":"public/budahlisisch-poeim-collection.html","hash":"0d8d74d10fec65dc1ede109cac2433da177aa3a8","modified":1629304638990},{"_id":"public/brief-notions-collection.html","hash":"1bc67a64e167d3e7b9a03773b906c2c5a526ebb9","modified":1629304638990},{"_id":"public/funny-sloga-collection.html","hash":"d98bea10fc9680cdb63e476730291201c942dd2a","modified":1629304638990},{"_id":"public/old-stories-collection.html","hash":"749632c6b40e93f4836467e99f59a630e37766cf","modified":1629304638990},{"_id":"public/funny-things-collection.html","hash":"02a1c9d9afd3f9700ba3fa45ec72933a048b3a03","modified":1629304638990},{"_id":"public/prominaent-slogen-collection.html","hash":"f38cec12ed5c80f7153d3e99247084e500fe865b","modified":1629304638990},{"_id":"public/how-to-manage-big-hexo-blog.html","hash":"445a1f19ce3386bef5237ccfef7ef2cb32ea35e0","modified":1629304638990},{"_id":"public/lvdeshui-film.html","hash":"e8822b7cdd445c1355d9a876eaf82190c780e54d","modified":1629304638990},{"_id":"public/Editor-Skills-Summary.html","hash":"cd0e23edad8a6ea03be138ad048cfea4d33a10ee","modified":1629304638990},{"_id":"public/ubuntu-reset-root-pw.html","hash":"cd4c71499856a7f2edea67b101b97cb9a02939e3","modified":1629304638991},{"_id":"public/how-build-my-hexo-blog.html","hash":"d9aeb985638e7503b2b33150da9aec281191af75","modified":1629304638991},{"_id":"public/about-jianguoyu.html","hash":"8b538a817cf0c2e06d14c1fa1426da1bcc6993cb","modified":1629304638991},{"_id":"public/use-github-in-wiki.html","hash":"19c01227e80212854a7a3a92cf1b3bdfbd7dc29b","modified":1629304638991},{"_id":"public/next-collapse-block.html","hash":"1d005099642adfba3dc48e14341f3859236f3257","modified":1629304638991},{"_id":"public/rzf-organisation.html","hash":"d60bde6b1987164b62ad87e4b5c7093fe41a5925","modified":1629304638991},{"_id":"public/mac-using-tags.html","hash":"507ffcdb38e580338b28055a7b5599dca5c7d4d1","modified":1629304638991},{"_id":"public/mac-memo.html","hash":"4570b6079be1ca86c99beec32622b236eb7da2fd","modified":1629304638991},{"_id":"public/lalaland-film.html","hash":"6cb00b7e976d76196f4ab0ca8ab0263b4b2ca16e","modified":1629304638991},{"_id":"public/road-to-asset-freedom.html","hash":"fb6e0e97c1588314298e80737d4c9823c0422351","modified":1629304638991},{"_id":"public/road-less-traveled-summary.html","hash":"6844257b35be75063ec52a7471a0bc0b13bfe33b","modified":1629304638991},{"_id":"public/hellow-world.html","hash":"92fe8308b905ae5c8c0f21b22edb636a720eec62","modified":1629304638991},{"_id":"public/categories/常用文件/index.html","hash":"e5302e6327715e542fe053a66c9a7f71fb4264e0","modified":1629304638992},{"_id":"public/categories/摘录/index.html","hash":"c7deebdad249124512a5d599373be838ecfed992","modified":1629304638993},{"_id":"public/categories/文档/index.html","hash":"96c1466482d2f8423e88d3ab85ed317589525b92","modified":1629304638993},{"_id":"public/categories/随笔/index.html","hash":"cba4cc9f2cf91ee606e9777505e866d40621cda3","modified":1629304638993},{"_id":"public/categories/读书笔记/index.html","hash":"58b56a98a8bfd3837093358b58103efd34c9cc69","modified":1629304638993},{"_id":"public/categories/IT/index.html","hash":"98236adcd108f6453559203b3eabac46d727caaa","modified":1629304638993},{"_id":"public/categories/IT/page/2/index.html","hash":"37f1ec3692df8d9a158a28adffb4f65b8912ce37","modified":1629304638993},{"_id":"public/categories/IT/Mac/index.html","hash":"c83b9b4a994d1ddb216125244fad56b14ea12aa3","modified":1629304638993},{"_id":"public/categories/IT/Code/index.html","hash":"1c6eb2b386602ab41a52a95b5022dc852e885ecb","modified":1629304638993},{"_id":"public/categories/IT/Tools/index.html","hash":"e48dcb022150f187adec7b06e5bf5b06fe932e43","modified":1629304638993},{"_id":"public/categories/IT/Web/index.html","hash":"3c0317f5af922dd791ff2819b99463fc772f3193","modified":1629304638993},{"_id":"public/categories/IT/skill/index.html","hash":"979f0e0064ae510e24a626a8b9ac2025069705a5","modified":1629304638993},{"_id":"public/categories/摘录/片段/index.html","hash":"4e8830ec7530dc440dcb977cbf38d6e3c99b6101","modified":1629304638993},{"_id":"public/categories/摘录/娱乐/index.html","hash":"62507be09efc00f6d77d2b874e03d89e28cc6ffb","modified":1629304638993},{"_id":"public/index.html","hash":"658614e82593dfc68a217ce8dbfe94b58df6c4b9","modified":1629304638994},{"_id":"public/page/2/index.html","hash":"9ca83e46a087437cb7bf5e2fad755d0c7f6915ad","modified":1629304638994},{"_id":"public/page/3/index.html","hash":"f5d5f108f46ae99da7f4364c7bd28a1c3d10d815","modified":1629304638994},{"_id":"public/page/4/index.html","hash":"6b91a3390cf554920f944db4e0af97b2c2cff2d4","modified":1629304638994},{"_id":"public/archives/index.html","hash":"3bb49538d2314e8b58ff0c5349d48465bdd4f898","modified":1629304638991},{"_id":"public/archives/page/2/index.html","hash":"d4fe5cbef07e6ffe717a9d21dfcdd36b65c0d6f1","modified":1629304638991},{"_id":"public/archives/page/3/index.html","hash":"334baa255bd09304824ee0d40700da9071de7da5","modified":1629304638992},{"_id":"public/archives/page/4/index.html","hash":"0f885cf071b5913e113c16797b660f8aaf3dd76c","modified":1629304638992},{"_id":"public/archives/2019/index.html","hash":"1765512712650d052b91878101f76f7d50c7af9e","modified":1629304638992},{"_id":"public/archives/2019/page/2/index.html","hash":"78efece11147181979cfbb02e89bb4c082a38593","modified":1629304638992},{"_id":"public/archives/2019/page/3/index.html","hash":"2468f9c301affccfcf502e37a4ea2b82e497836e","modified":1629304638992},{"_id":"public/archives/2019/page/4/index.html","hash":"7374e7c9b3cad4f9c7ae7664d8495b16fee239a7","modified":1629304638992},{"_id":"public/archives/2019/06/index.html","hash":"1e61f3744deafe61419cf93a571fdc9d5fb9b23a","modified":1629304638992},{"_id":"public/archives/2019/07/index.html","hash":"7c8d71e52c3738700087b06f0c7ce72e37b446cb","modified":1629304638992},{"_id":"public/archives/2019/07/page/2/index.html","hash":"ce833a5c68081a5eb46ff07462b37896f7bbdeed","modified":1629304638992},{"_id":"public/archives/2019/07/page/3/index.html","hash":"0dc10690046277e76ed98f0be05839c08fb4fe64","modified":1629304638992},{"_id":"public/archives/2019/08/index.html","hash":"ac57710fd59d5878fb77e541ea8e0b174ec04451","modified":1629304638992},{"_id":"public/archives/2019/09/index.html","hash":"bead3f504a9e8aa9d61c048d8574ce456278190e","modified":1629304638992},{"_id":"public/tags/Hexo/index.html","hash":"9513ea0019d81b5733d0e1c41522e5f8bb6b180d","modified":1629304639016},{"_id":"public/tags/影视/index.html","hash":"5a52b682e520d9613051d15b5febe5a623db65b2","modified":1629304639016},{"_id":"public/tags/历史政治/index.html","hash":"649519206c0911269fab3b260423070fb0628e0f","modified":1629304639016},{"_id":"public/tags/工作/index.html","hash":"32bf422c9de39bd875dbeee979c28b3109bc8b0b","modified":1629304639017},{"_id":"public/tags/成长/index.html","hash":"3048357f3ac245c65604c2702f1e0a50af2f7895","modified":1629304639017},{"_id":"public/tags/经济/index.html","hash":"37159a0fb5ef31361f203feca79896bd9ef425b6","modified":1629304639017},{"_id":"public/tags/哲理/index.html","hash":"e5ed6ed42e820bb04eda620aa5a91d7c52df8d53","modified":1629304639017},{"_id":"public/tags/书籍/index.html","hash":"c80688be9ad985d7cb4a9995d4b9162ebb2c7ec5","modified":1629304639017},{"_id":"public/tags/心理/index.html","hash":"41561e20f312b455afa212bdcb5cb8eeae2625db","modified":1629304639017},{"_id":"public/tags/Mac/index.html","hash":"0f3866cb3400adc95be287b5d28569f12ca87044","modified":1629304639018},{"_id":"public/tags/工具/index.html","hash":"2b539099dcf089a842243a0434bf66e549f2e72a","modified":1629304639018},{"_id":"public/tags/文学/index.html","hash":"6cdda1de67a22ed147a8c73d4cc2893e8ccf946c","modified":1629304639018},{"_id":"public/tags/娱乐/index.html","hash":"e84ba6edd5274d3f6b7c393d99768a7c5c99fc0d","modified":1629304639018},{"_id":"public/lib/blog-encrypt.js","hash":"c9c3cd609c4d93a377849a010497a8eea2a0576e","modified":1629304638994},{"_id":"public/hexo-onlineeditor.html","hash":"9d29c3ebf8acad934217f6623e1e09266ef69a73","modified":1629304638986},{"_id":"public/categories/IT/Blog/index.html","hash":"97c6d970c87dcf81bd660a66f5906a2410187387","modified":1629304638993},{"_id":"public/archives/2021/index.html","hash":"0a4534c4de6489453699d742f090e4b20baf33d8","modified":1629304638992},{"_id":"public/archives/2021/07/index.html","hash":"6882f6a91c763b564f2b7202bb4579bc036629d9","modified":1629304638992},{"_id":"public/css/blog-encrypt.css","hash":"262922c3f49cb8cca7b3ea982c49b57de2af53d6","modified":1629304639023},{"_id":"public/lib/crypto-js.js","hash":"3dd73b6f13dc818a3a9c5c7424c1c4a9649b00a2","modified":1629304639871},{"_id":"public/images/mobile2.png","hash":"ba9a7a5464369c4272f6345ef879b5d1c2449de1","modified":1629304639018},{"_id":"public/images/mobile1.png","hash":"db83e3ffbf60ff88443cd3b9d1c23666005e88f0","modified":1629304639018},{"_id":"public/css/images/favicon.ico","hash":"b37ac89616b9e4c01a35991af59fe6b63e41a48e","modified":1629304639018},{"_id":"public/css/images/logo.png","hash":"8c61e1ec0b7c7200045d7795bac097fce475ef16","modified":1629304639018},{"_id":"public/css/images/thumb-default-small.png","hash":"e8403b97ed9251f9f5207765b0ce796c5000b4ba","modified":1629304639019},{"_id":"public/libs/fonts/glyphicons-halflings-regular.woff2","hash":"ca35b697d99cae4d1b60f2d60fcd37771987eb07","modified":1629304639019},{"_id":"public/libs/fonts/glyphicons-halflings-regular.woff","hash":"278e49a86e634da6f2a02f3b47dd9d2a8f26210f","modified":1629304639019},{"_id":"public/libs/fonts/glyphicons-halflings-regular.ttf","hash":"44bc1850f570972267b169ae18f1cb06b611ffa2","modified":1629304639020},{"_id":"public/libs/fonts/glyphicons-halflings-regular.eot","hash":"86b6f62b7853e67d3e635f6512a5a5efc58ea3c3","modified":1629304639020},{"_id":"public/libs/lightgallery/css/lg-fb-comment-box.css.map","hash":"51e9df39edf0faa3f38c1bab0c1fa6c922b9edcb","modified":1629304639020},{"_id":"public/libs/lightgallery/css/lg-transitions.css.map","hash":"50c3348638b4d82fa08a449c690e8d2bb593005d","modified":1629304639020},{"_id":"public/libs/lightgallery/css/lightgallery.css.map","hash":"3175b4107078674d25798979f7666f4daf31e624","modified":1629304639021},{"_id":"public/libs/lightgallery/fonts/lg.eot","hash":"54caf05a81e33d7bf04f2e420736ce6f1de5f936","modified":1629304639021},{"_id":"public/libs/lightgallery/fonts/lg.svg","hash":"9a732790adc004b22022cc60fd5f77ec4c8e3e5a","modified":1629304639021},{"_id":"public/libs/lightgallery/fonts/lg.woff","hash":"3048de344dd5cad4624e0127e58eaae4b576f574","modified":1629304639021},{"_id":"public/libs/lightgallery/fonts/lg.ttf","hash":"f6421c0c397311ae09f9257aa58bcd5e9720f493","modified":1629304639021},{"_id":"public/libs/lightgallery/img/loading.gif","hash":"607810444094b8619fa4efa6273bc2a7e38dd4b4","modified":1629304639021},{"_id":"public/libs/lightgallery/img/video-play.png","hash":"3ea484cdc04d2e4547f80cbf80001dcf248c94ef","modified":1629304639021},{"_id":"public/libs/lightgallery/img/vimeo-play.png","hash":"6190254f2804904a4a1fa1eb390dfd334e416992","modified":1629304639021},{"_id":"public/libs/lightgallery/img/youtube-play.png","hash":"fea6df9d9d43151f9c9d15f000adb30eb3e26fc4","modified":1629304639021},{"_id":"public/libs/open-sans/fonts/59ZRklaO5bWGqF5A9baEERJtnKITppOI_IvcXXDNrsc.woff2","hash":"c4248ea800bd5608344ce163f5658b57e7ef9410","modified":1629304639021},{"_id":"public/libs/open-sans/fonts/K88pR3goAWT7BTt32Z01mxJtnKITppOI_IvcXXDNrsc.woff2","hash":"e0350190d720a8fec0557ab47b318ec4e4486448","modified":1629304639021},{"_id":"public/libs/open-sans/fonts/LWCjsQkB6EMdfHrEVqA1KRJtnKITppOI_IvcXXDNrsc.woff2","hash":"2c5b039b57f62625e88226a938679ec937431ad1","modified":1629304639021},{"_id":"public/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNShWV49_lSm1NYrwo-zkhivY.woff2","hash":"22413bb8bfb78608c1e25aa1ed5c1f38557df79f","modified":1629304639021},{"_id":"public/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSj0LW-43aMEzIO6XUTLjad8.woff2","hash":"63eb74ef040aade256f2274a7f31a914edddb0ea","modified":1629304639022},{"_id":"public/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSpX5f-9o1vgP2EXwfjgl7AY.woff2","hash":"328a22fe3eec71ad9e5ece4d67dd62e79dab6b7f","modified":1629304639022},{"_id":"public/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSq-j2U0lmluP9RWlSytm3ho.woff2","hash":"4dc6d7174ea6d89f4c45e43e1bfc3e03d8ffebaf","modified":1629304639022},{"_id":"public/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSqaRobkAwv3vxw3jMhVENGA.woff2","hash":"415eee05976ab8b2471602a5ddb78a6c58fc21aa","modified":1629304639022},{"_id":"public/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSugdm0LZdjqr5-oayXSOefg.woff2","hash":"a0b0c389cf46d63c850e61fed572485ff0b68183","modified":1629304639022},{"_id":"public/libs/open-sans/fonts/MTP_ySUJH_bn48VBG8sNSv8zf_FOSsgRmwsS7Aa9k2w.woff2","hash":"c5f29fed6632efe0aa83318369f0d8c4061b775b","modified":1629304639022},{"_id":"public/libs/open-sans/fonts/RjgO7rYTmqiVp7vzi-Q5URJtnKITppOI_IvcXXDNrsc.woff2","hash":"be201d32a9aa5d186723ebb3c538be691aa8c53a","modified":1629304639022},{"_id":"public/libs/open-sans/fonts/cJZKeOuBrn4kERxqtaUH3VtXRa8TVwTICgirnJhmVJw.woff2","hash":"afc44700053c9a28f9ab26f6aec4862ac1d0795d","modified":1629304639022},{"_id":"public/libs/open-sans/fonts/u-WUoqrET9fUeobQW7jkRRJtnKITppOI_IvcXXDNrsc.woff2","hash":"113978181dcac77baecef6115a9121d8f6e4fc3a","modified":1629304639022},{"_id":"public/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBiYE0-AqJ3nfInTTiDXDjU4.woff2","hash":"5067c81462c15422853c94d21a1726865a61634f","modified":1629304639022},{"_id":"public/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBjTOQ_MqJVwkKsUn0wKzc2I.woff2","hash":"b366f2fda2e524eb5ef50058eefff249a3b96e6c","modified":1629304639022},{"_id":"public/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBjUj_cnvWIuuBMVgbX098Mw.woff2","hash":"d22904914469be735490e3c8cb093c7862896dd5","modified":1629304639022},{"_id":"public/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBkbcKLIaa1LC45dFaAfauRA.woff2","hash":"ae80fb3cd16339aa7b5da280ab53975523dcaac2","modified":1629304639022},{"_id":"public/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBmo_sUJ8uO4YLWRInS22T3Y.woff2","hash":"b85efde42fa3a03c32b1d31c6cd74c622fc7916c","modified":1629304639022},{"_id":"public/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBo4P5ICox8Kq3LLUNMylGO4.woff2","hash":"e75607ba1417181397c700775b84303d5a2957b9","modified":1629304639023},{"_id":"public/libs/open-sans/fonts/xjAJXh38I15wypJXxuGMBr6up8jxqWt8HVA3mDhkV_0.woff2","hash":"d0b40a7848703556c6631f24e961a98ca5829255","modified":1629304639023},{"_id":"public/libs/open-sans/fonts/xozscpT2726on7jbcb_pAhJtnKITppOI_IvcXXDNrsc.woff2","hash":"be365eca44760ce3fc9b377c43d4634958479c69","modified":1629304639023},{"_id":"public/libs/source-code-pro/fonts/mrl8jkM18OlOQN8JLgasD9V_2ngZ8dMf8fLgjYEouxg.woff2","hash":"942addaec4d3a60af33947a84a3d85f926015947","modified":1629304639023},{"_id":"public/libs/source-code-pro/fonts/mrl8jkM18OlOQN8JLgasDy2Q8seG17bfDXYR_jUsrzg.woff2","hash":"b0e0bb5ef78db8b15d430d0b9be9d4329289a310","modified":1629304639023},{"_id":"public/libs/fonts/glyphicons-halflings-regular.svg","hash":"de51a8494180a6db074af2dee2383f0a363c5b08","modified":1629304639782},{"_id":"public/libs/font-awesome/fonts/fontawesome-webfont.woff","hash":"6d7e6a5fc802b13694d8820fc0138037c0977d2e","modified":1629304639840},{"_id":"public/libs/font-awesome/fonts/fontawesome-webfont.woff2","hash":"97e438cc545714309882fbceadbf344fcaddcec5","modified":1629304639844},{"_id":"public/libs/font-awesome/fonts/FontAwesome.otf","hash":"1b22f17fdc38070de50e6d1ab3a32da71aa2d819","modified":1629304639844},{"_id":"public/libs/font-awesome/fonts/fontawesome-webfont.eot","hash":"965ce8f688fedbeed504efd498bc9c1622d12362","modified":1629304639844},{"_id":"public/js/insight.js","hash":"c9dfd20ae82a446facad01439b7bb75332e3705b","modified":1629304639866},{"_id":"public/js/main.js","hash":"d1ab55b8f28037dab5512c40d33553fac966dc39","modified":1629304639866},{"_id":"public/libs/justified-gallery/justifiedGallery.min.css","hash":"13fbcba5e97aa88b748d94d3efc4718475279907","modified":1629304639867},{"_id":"public/libs/source-code-pro/styles.css","hash":"93c308012738728f906cd4c5cfdb34189e0c712b","modified":1629304639867},{"_id":"public/libs/open-sans/styles.css","hash":"5ca6e111046232bde112d33201a60532aee7d3c4","modified":1629304639867},{"_id":"public/libs/lightgallery/css/lg-fb-comment-box.css","hash":"844ce27b8488968bccb3e50bb49184ba2aae0625","modified":1629304639867},{"_id":"public/libs/lightgallery/css/lg-fb-comment-box.min.css","hash":"05830fadb8454f39dcc98c8686eb4d5c24b71fc0","modified":1629304639867},{"_id":"public/libs/lightgallery/js/lg-autoplay.js","hash":"426bb78b93acfc39d533ea2bab1cec8dc289cf24","modified":1629304639867},{"_id":"public/libs/lightgallery/js/lg-autoplay.min.js","hash":"d845741bcaf961579622880eb2a445257efad1ac","modified":1629304639868},{"_id":"public/libs/lightgallery/js/lg-fullscreen.js","hash":"65c47ac65362854ba44b00a010bb01e3630209d8","modified":1629304639868},{"_id":"public/libs/lightgallery/js/lg-fullscreen.min.js","hash":"b6b9e4022700b7faf2a5a175ba44a3bd938fdd20","modified":1629304639868},{"_id":"public/libs/lightgallery/js/lg-hash.js","hash":"15d16516c5642d3de1566ff8fc9160136ccaa405","modified":1629304639868},{"_id":"public/libs/lightgallery/js/lg-hash.min.js","hash":"43f1e1e720ab0e241c19b83aa26bd6848eab8edc","modified":1629304639868},{"_id":"public/libs/lightgallery/js/lg-pager.js","hash":"8092c692b244bb26343eb03b91bd97deb9dafc9c","modified":1629304639868},{"_id":"public/libs/lightgallery/js/lg-pager.min.js","hash":"25caa6ff65b1c6dee09941e795ae2633bdbab211","modified":1629304639869},{"_id":"public/libs/lightgallery/js/lg-share.js","hash":"b7fb5f6474911060a351b0a6fe9dbb9ac3fb22aa","modified":1629304639869},{"_id":"public/libs/lightgallery/js/lg-share.min.js","hash":"39c615f07c5d3aaa65a2c3068a30fdd6dd5c372d","modified":1629304639869},{"_id":"public/libs/lightgallery/js/lg-thumbnail.min.js","hash":"18dd7d2909d1bfd6852f031d03e774b4428c512b","modified":1629304639869},{"_id":"public/libs/lightgallery/js/lg-video.js","hash":"4f99b598f6bb18de9eca8c45c5b4373a03962367","modified":1629304639869},{"_id":"public/libs/lightgallery/js/lg-video.min.js","hash":"032c001ab045a69856f9c3ed4a2a3bf12a8e310f","modified":1629304639869},{"_id":"public/libs/lightgallery/js/lg-zoom.min.js","hash":"15b49f9728439819ece15e4295cce254c87a4f45","modified":1629304639869},{"_id":"public/libs/jquery/plugins/cookie/1.4.1/jquery.cookie.js","hash":"31e1bcc4cf805a2c2fee21f48ded1e598f64a2a8","modified":1629304639869},{"_id":"public/css/style.css","hash":"567e5bfb0dbbc816348bd4d32f7b7259e8625b23","modified":1629304639869},{"_id":"public/libs/justified-gallery/jquery.justifiedGallery.min.js","hash":"b2683e7a872bc109b1756a65188a37cef7d0bd5c","modified":1629304639869},{"_id":"public/libs/font-awesome/css/font-awesome.css","hash":"b5020c3860669185ba3f316fa7332cdf5c06f393","modified":1629304639869},{"_id":"public/libs/font-awesome/css/font-awesome.min.css","hash":"7cd5a3384333f95c3d37d9488ad82cd6c4b03761","modified":1629304639869},{"_id":"public/libs/lightgallery/css/lg-transitions.css","hash":"7871c28498d74451d6aa438c8d3a1817810a1e19","modified":1629304639869},{"_id":"public/libs/lightgallery/css/lg-transitions.min.css","hash":"5c22e2073a4c96d6212c72135391b599e8d1359f","modified":1629304639870},{"_id":"public/libs/lightgallery/css/lightgallery.css","hash":"bef55316a32e512d5a8940e5d0bfe8bf7a9c5c61","modified":1629304639870},{"_id":"public/libs/lightgallery/css/lightgallery.min.css","hash":"c9a2e19c932b56f4a2ce30c98910d10b74edb38a","modified":1629304639870},{"_id":"public/libs/lightgallery/js/lg-thumbnail.js","hash":"3a6476b6df1d2bef4a21861a78776282a7a11ef1","modified":1629304639870},{"_id":"public/libs/lightgallery/js/lg-zoom.js","hash":"a758e2c8fcf710f9ff761da0eea0ab9321f3484d","modified":1629304639870},{"_id":"public/libs/lightgallery/js/lightgallery.js","hash":"3cd19b33ba99efd5ba1d167da91720566d274b2c","modified":1629304639870},{"_id":"public/libs/lightgallery/js/lightgallery.min.js","hash":"956ef9b706755318da69ad0b5d7786339d831251","modified":1629304639870},{"_id":"public/libs/jquery/2.1.3/jquery.min.js","hash":"41b4bfbaa96be6d1440db6e78004ade1c134e276","modified":1629304639870},{"_id":"public/uploads/road-to-asset-freedom-mindmap.html","hash":"8ac819fd921e3fde7d5a7896e9e099dffb30cbe5","modified":1629304639870},{"_id":"public/images/SitePreview.png","hash":"c37c32696828492d6a8a4dfb0f84af98f5fb1306","modified":1629304639870},{"_id":"public/libs/font-awesome/fonts/fontawesome-webfont.ttf","hash":"61d8d967807ef12598d81582fa95b9f600c3ee01","modified":1629304639871},{"_id":"public/libs/font-awesome/fonts/fontawesome-webfont.svg","hash":"c0522272bbaef2acb3d341912754d6ea2d0ecfc0","modified":1629304639941},{"_id":"public/uploads/tianya.png","hash":"2d392e6eb508d31f7328d0c21492f3970f0ee213","modified":1629304640068}],"Category":[{"name":"常用文件","_id":"cka1y594t00064huuvvjmyzwy"},{"name":"摘录","_id":"cka1y5953000b4huuyyfu5z4d"},{"name":"文档","_id":"cka1y5959000j4huug5k1h4j7"},{"name":"随笔","_id":"cka1y595b000o4huul85o0vh5"},{"name":"读书笔记","_id":"cka1y596g000v4huufrvfyl7e"},{"name":"IT","_id":"cka1y597u00184huu67j8phqt"},{"name":"Mac","parent":"cka1y597u00184huu67j8phqt","_id":"cka1y5987001q4huu2h0pcxc7"},{"name":"Code","parent":"cka1y597u00184huu67j8phqt","_id":"cka1y598b001w4huu0hxl1aoy"},{"name":"Tools","parent":"cka1y597u00184huu67j8phqt","_id":"cka1y598e00234huu3y8d3uke"},{"name":"Web","parent":"cka1y597u00184huu67j8phqt","_id":"cka1y598z003b4huuyf8flxmz"},{"name":"skill","parent":"cka1y597u00184huu67j8phqt","_id":"cka1y5997003q4huuzp1l2yal"},{"name":"片段","parent":"cka1y5953000b4huuyyfu5z4d","_id":"cka1y599a003w4huuplb2sm25"},{"name":"娱乐","parent":"cka1y5953000b4huuyyfu5z4d","_id":"cka1y599b00404huu2nbcrdvc"},{"name":"Blog","parent":"cka1y597u00184huu67j8phqt","_id":"ckr9qy9qo0002g9sht8n0g8qc"}],"Data":[],"Page":[{"title":"关于本站","date":"2019-07-20T20:03:56.000Z","layout":"page","_content":"自从过上了极简生活,家务变得很少。对于一个巨蟹座的中年大叔,整理笔记成了我主要的挥洒精力的地方。我是笔记App的重度用户,用了两年的印象笔记,然后又五年的为知笔记,乃至尝试了新生人类惊为天人的熊掌记、Notion、等等。仍然感觉各种不爽。自从有了Hexo,终于可以定下心来,专心做笔记了。\n\n\n\n作为不是处女座的强迫症患者,我把自己的这个笔记库部署到了两个不同的站点。内容基本一样,组织方式十分不同。\n\n[完整个人维基](https://maiernte.github.io/wiki)\n\n[心情版的博客](https://maiernte.github.io)","source":"about/index.md","raw":"---\ntitle: 关于本站\ndate: 2019-07-20 22:03:56\nlayout: \"page\"\n---\n自从过上了极简生活,家务变得很少。对于一个巨蟹座的中年大叔,整理笔记成了我主要的挥洒精力的地方。我是笔记App的重度用户,用了两年的印象笔记,然后又五年的为知笔记,乃至尝试了新生人类惊为天人的熊掌记、Notion、等等。仍然感觉各种不爽。自从有了Hexo,终于可以定下心来,专心做笔记了。\n\n\n\n作为不是处女座的强迫症患者,我把自己的这个笔记库部署到了两个不同的站点。内容基本一样,组织方式十分不同。\n\n[完整个人维基](https://maiernte.github.io/wiki)\n\n[心情版的博客](https://maiernte.github.io)","updated":"2019-07-22T17:31:07.000Z","path":"about/index.html","_id":"cka1y592h00014huu243mez1a","comments":1,"content":"自从过上了极简生活,家务变得很少。对于一个巨蟹座的中年大叔,整理笔记成了我主要的挥洒精力的地方。我是笔记App的重度用户,用了两年的印象笔记,然后又五年的为知笔记,乃至尝试了新生人类惊为天人的熊掌记、Notion、等等。仍然感觉各种不爽。自从有了Hexo,终于可以定下心来,专心做笔记了。
\n作为不是处女座的强迫症患者,我把自己的这个笔记库部署到了两个不同的站点。内容基本一样,组织方式十分不同。
\n完整个人维基
\n心情版的博客
\n","site":{"data":{}},"excerpt":"","more":"自从过上了极简生活,家务变得很少。对于一个巨蟹座的中年大叔,整理笔记成了我主要的挥洒精力的地方。我是笔记App的重度用户,用了两年的印象笔记,然后又五年的为知笔记,乃至尝试了新生人类惊为天人的熊掌记、Notion、等等。仍然感觉各种不爽。自从有了Hexo,终于可以定下心来,专心做笔记了。
\n作为不是处女座的强迫症患者,我把自己的这个笔记库部署到了两个不同的站点。内容基本一样,组织方式十分不同。
\n完整个人维基
\n心情版的博客
\n"},{"title":"分类","date":"2019-07-20T19:59:23.000Z","type":"categories","layout":"categories","comments":0,"_content":"","source":"categories/index.md","raw":"---\ntitle: 分类\ndate: 2019-07-20 21:59:23\ntype: \"categories\"\nlayout: \"categories\"\ncomments: false\n---\n","updated":"2019-07-22T03:39:06.000Z","path":"categories/index.html","_id":"cka1y592j00024huuarbix88c","content":"","site":{"data":{}},"excerpt":"","more":""},{"title":"标签","date":"2019-07-20T19:49:33.000Z","type":"tags","layout":"tags","comments":0,"_content":"","source":"tags/index.md","raw":"---\ntitle: 标签\ndate: 2019-07-20 21:49:33\ntype: \"tags\"\nlayout: \"tags\"\ncomments: false\n---\n","updated":"2019-07-22T03:37:51.000Z","path":"tags/index.html","_id":"cka1y593q00034huu0cpu2qd8","content":"","site":{"data":{}},"excerpt":"","more":""}],"Post":[{"title":"典故.md","date":"2019-07-23T04:36:46.000Z","_content":"###### 豫让刺赵简子\n\n晋毕阳之孙豫让,始事范、中行氏而不说,去而就知伯,知伯宠之。及三晋分知氏,赵襄子最恐知伯,而将其头以为饮器。豫让遁逃山中曰:“磋乎!士为知己者死,女为悦己者容。吾其报知氏之仇矣。”\n\n乃变姓名,为刑人,入宫涂厕,欲以刺襄子。 襄子如厕,心动,执问涂者,则豫让也。 刃其曰:“欲为知伯报仇!”左右欲杀之。 赵襄子曰:“彼义士也,吾谨避之耳。且知伯已死,无后,而其臣至为报仇,此天下之贤人也。”卒释之。 豫让又漆身为厉,灭须去眉,自刑以变其容,为乞人而往乞,其妻不识,曰:“状貌不似吾夫,其音何类吾夫之甚也。”又吞炭为哑,变其音。 其友谓之曰:“子之道甚难而无功,谓子有志,则然矣,谓子知,则否。以子之才,而善事襄子,襄子必近幸子;子之得近而行所欲,此甚易而功必成。”豫让乃笑而应之曰:“是为先知报后知,为故君贼新君,大乱君臣之义者无此矣。凡吾所谓为此者,以明君臣之义,非从易也。且夫委质而事人,而求弑之,是怀二心以事君也。吾所为难,亦将以愧天下后世人臣怀二心者。”\n\n居顷之,襄子当出,豫让伏所当过桥下。 襄子至桥而马惊。 襄子曰:“此必豫让也。”使人问之,果豫让。 于是赵襄子面数豫让曰:“子不尝事范中行氏乎?知伯灭范中行氏,而子不为报仇,反委质事知伯。知伯已死,子独何为报仇之深也?”豫让曰:“臣事范中行氏,范中行氏以众人遇臣,臣故众人报之;知伯以国士遇臣,臣故国士报之。”襄子乃喟然叹泣曰:“嗟乎,豫子!豫子之为知伯,名既成矣,寡人舍子,亦以足矣。子自为计,寡人不舍子。”使兵环之。 豫让曰:“臣闻明主不掩人之义,忠臣不爱死以成名。君前已宽舍臣,天下莫不称君之贤。今日之事,臣故伏诛,然愿请君之衣而击之,虽死不恨。非所望也,敢布腹心。”于是襄子义之,乃使使者持衣与豫让。 豫让拔剑三跃,呼天击之曰:“而可以报知伯矣。”遂伏剑而死。 死之日,赵国之士闻之,皆为涕泣。\n\n—— 《战国策》","source":"_drafts/典故-md.md","raw":"title: 典故.md\ndate: 2019-07-23 06:36:46\ntags:\n---\n###### 豫让刺赵简子\n\n晋毕阳之孙豫让,始事范、中行氏而不说,去而就知伯,知伯宠之。及三晋分知氏,赵襄子最恐知伯,而将其头以为饮器。豫让遁逃山中曰:“磋乎!士为知己者死,女为悦己者容。吾其报知氏之仇矣。”\n\n乃变姓名,为刑人,入宫涂厕,欲以刺襄子。 襄子如厕,心动,执问涂者,则豫让也。 刃其曰:“欲为知伯报仇!”左右欲杀之。 赵襄子曰:“彼义士也,吾谨避之耳。且知伯已死,无后,而其臣至为报仇,此天下之贤人也。”卒释之。 豫让又漆身为厉,灭须去眉,自刑以变其容,为乞人而往乞,其妻不识,曰:“状貌不似吾夫,其音何类吾夫之甚也。”又吞炭为哑,变其音。 其友谓之曰:“子之道甚难而无功,谓子有志,则然矣,谓子知,则否。以子之才,而善事襄子,襄子必近幸子;子之得近而行所欲,此甚易而功必成。”豫让乃笑而应之曰:“是为先知报后知,为故君贼新君,大乱君臣之义者无此矣。凡吾所谓为此者,以明君臣之义,非从易也。且夫委质而事人,而求弑之,是怀二心以事君也。吾所为难,亦将以愧天下后世人臣怀二心者。”\n\n居顷之,襄子当出,豫让伏所当过桥下。 襄子至桥而马惊。 襄子曰:“此必豫让也。”使人问之,果豫让。 于是赵襄子面数豫让曰:“子不尝事范中行氏乎?知伯灭范中行氏,而子不为报仇,反委质事知伯。知伯已死,子独何为报仇之深也?”豫让曰:“臣事范中行氏,范中行氏以众人遇臣,臣故众人报之;知伯以国士遇臣,臣故国士报之。”襄子乃喟然叹泣曰:“嗟乎,豫子!豫子之为知伯,名既成矣,寡人舍子,亦以足矣。子自为计,寡人不舍子。”使兵环之。 豫让曰:“臣闻明主不掩人之义,忠臣不爱死以成名。君前已宽舍臣,天下莫不称君之贤。今日之事,臣故伏诛,然愿请君之衣而击之,虽死不恨。非所望也,敢布腹心。”于是襄子义之,乃使使者持衣与豫让。 豫让拔剑三跃,呼天击之曰:“而可以报知伯矣。”遂伏剑而死。 死之日,赵国之士闻之,皆为涕泣。\n\n—— 《战国策》","slug":"典故-md","published":0,"updated":"2019-07-23T04:36:46.000Z","_id":"cka1y592b00004huurtszb8lj","comments":1,"layout":"post","photos":[],"link":"","content":"豫让刺赵简子 \n晋毕阳之孙豫让,始事范、中行氏而不说,去而就知伯,知伯宠之。及三晋分知氏,赵襄子最恐知伯,而将其头以为饮器。豫让遁逃山中曰:“磋乎!士为知己者死,女为悦己者容。吾其报知氏之仇矣。”
\n乃变姓名,为刑人,入宫涂厕,欲以刺襄子。 襄子如厕,心动,执问涂者,则豫让也。 刃其曰:“欲为知伯报仇!”左右欲杀之。 赵襄子曰:“彼义士也,吾谨避之耳。且知伯已死,无后,而其臣至为报仇,此天下之贤人也。”卒释之。 豫让又漆身为厉,灭须去眉,自刑以变其容,为乞人而往乞,其妻不识,曰:“状貌不似吾夫,其音何类吾夫之甚也。”又吞炭为哑,变其音。 其友谓之曰:“子之道甚难而无功,谓子有志,则然矣,谓子知,则否。以子之才,而善事襄子,襄子必近幸子;子之得近而行所欲,此甚易而功必成。”豫让乃笑而应之曰:“是为先知报后知,为故君贼新君,大乱君臣之义者无此矣。凡吾所谓为此者,以明君臣之义,非从易也。且夫委质而事人,而求弑之,是怀二心以事君也。吾所为难,亦将以愧天下后世人臣怀二心者。”
\n居顷之,襄子当出,豫让伏所当过桥下。 襄子至桥而马惊。 襄子曰:“此必豫让也。”使人问之,果豫让。 于是赵襄子面数豫让曰:“子不尝事范中行氏乎?知伯灭范中行氏,而子不为报仇,反委质事知伯。知伯已死,子独何为报仇之深也?”豫让曰:“臣事范中行氏,范中行氏以众人遇臣,臣故众人报之;知伯以国士遇臣,臣故国士报之。”襄子乃喟然叹泣曰:“嗟乎,豫子!豫子之为知伯,名既成矣,寡人舍子,亦以足矣。子自为计,寡人不舍子。”使兵环之。 豫让曰:“臣闻明主不掩人之义,忠臣不爱死以成名。君前已宽舍臣,天下莫不称君之贤。今日之事,臣故伏诛,然愿请君之衣而击之,虽死不恨。非所望也,敢布腹心。”于是襄子义之,乃使使者持衣与豫让。 豫让拔剑三跃,呼天击之曰:“而可以报知伯矣。”遂伏剑而死。 死之日,赵国之士闻之,皆为涕泣。
\n—— 《战国策》
\n","site":{"data":{}},"excerpt":"","more":"豫让刺赵简子 \n晋毕阳之孙豫让,始事范、中行氏而不说,去而就知伯,知伯宠之。及三晋分知氏,赵襄子最恐知伯,而将其头以为饮器。豫让遁逃山中曰:“磋乎!士为知己者死,女为悦己者容。吾其报知氏之仇矣。”
\n乃变姓名,为刑人,入宫涂厕,欲以刺襄子。 襄子如厕,心动,执问涂者,则豫让也。 刃其曰:“欲为知伯报仇!”左右欲杀之。 赵襄子曰:“彼义士也,吾谨避之耳。且知伯已死,无后,而其臣至为报仇,此天下之贤人也。”卒释之。 豫让又漆身为厉,灭须去眉,自刑以变其容,为乞人而往乞,其妻不识,曰:“状貌不似吾夫,其音何类吾夫之甚也。”又吞炭为哑,变其音。 其友谓之曰:“子之道甚难而无功,谓子有志,则然矣,谓子知,则否。以子之才,而善事襄子,襄子必近幸子;子之得近而行所欲,此甚易而功必成。”豫让乃笑而应之曰:“是为先知报后知,为故君贼新君,大乱君臣之义者无此矣。凡吾所谓为此者,以明君臣之义,非从易也。且夫委质而事人,而求弑之,是怀二心以事君也。吾所为难,亦将以愧天下后世人臣怀二心者。”
\n居顷之,襄子当出,豫让伏所当过桥下。 襄子至桥而马惊。 襄子曰:“此必豫让也。”使人问之,果豫让。 于是赵襄子面数豫让曰:“子不尝事范中行氏乎?知伯灭范中行氏,而子不为报仇,反委质事知伯。知伯已死,子独何为报仇之深也?”豫让曰:“臣事范中行氏,范中行氏以众人遇臣,臣故众人报之;知伯以国士遇臣,臣故国士报之。”襄子乃喟然叹泣曰:“嗟乎,豫子!豫子之为知伯,名既成矣,寡人舍子,亦以足矣。子自为计,寡人不舍子。”使兵环之。 豫让曰:“臣闻明主不掩人之义,忠臣不爱死以成名。君前已宽舍臣,天下莫不称君之贤。今日之事,臣故伏诛,然愿请君之衣而击之,虽死不恨。非所望也,敢布腹心。”于是襄子义之,乃使使者持衣与豫让。 豫让拔剑三跃,呼天击之曰:“而可以报知伯矣。”遂伏剑而死。 死之日,赵国之士闻之,皆为涕泣。
\n—— 《战国策》
\n"},{"title":"Hexo日常管理","date":"2019-07-30T15:27:28.000Z","urlname":"hexo-blog-alltag-verwalten","toc":true,"notshow":true,"_content":"\n# 复制MD文件\n\n\n#### 查找最新文件\n\n```sh\nls -t /Users/mai/Projects/hexo/source/_posts/*.md | head -1 | xargs ls -l | awk '{print $6 \"-\" $7 \"-\" $8 }'\n\n# 最旧的文件就应该是\nls -t /Users/mai/Projects/hexo/source/_posts/*.md | tail -1 | xargs ls -l | awk '{print $6 \"-\" $7 \"-\" $8 }'\n```\n\n\n\n# 其它\n\nHexo 代码折叠\n\n```\n{% fold 点击显/隐内容 %}\n需要隐藏的内容。。。\n{% endfold %}\n```\n\n\n\n# 参考文件\n\n[有用的shell命令](helpfull-shell-command.html)\n\n# 会导致编译奔溃的错误\n\n大括号和井号连在一起\n\n```sh\n{#、 #}、{#} 这三种情况都会导致系统奔溃\n{} 和 # 之间如果有别的字符就不会。如 { # }\n或者放在代码段内也不会。行内代码不能避免这种情形。\n```\n\n","source":"_posts/常用文件/Hexo日常管理.md","raw":"---\ntitle: Hexo日常管理\ndate: 2019-07-30 17:27:28\nurlname: hexo-blog-alltag-verwalten\ntoc: true\ntags: [Hexo]\ncategories: [常用文件]\nnotshow: true\n\n---\n\n# 复制MD文件\n\n\n#### 查找最新文件\n\n```sh\nls -t /Users/mai/Projects/hexo/source/_posts/*.md | head -1 | xargs ls -l | awk '{print $6 \"-\" $7 \"-\" $8 }'\n\n# 最旧的文件就应该是\nls -t /Users/mai/Projects/hexo/source/_posts/*.md | tail -1 | xargs ls -l | awk '{print $6 \"-\" $7 \"-\" $8 }'\n```\n\n\n\n# 其它\n\nHexo 代码折叠\n\n```\n{% fold 点击显/隐内容 %}\n需要隐藏的内容。。。\n{% endfold %}\n```\n\n\n\n# 参考文件\n\n[有用的shell命令](helpfull-shell-command.html)\n\n# 会导致编译奔溃的错误\n\n大括号和井号连在一起\n\n```sh\n{#、 #}、{#} 这三种情况都会导致系统奔溃\n{} 和 # 之间如果有别的字符就不会。如 { # }\n或者放在代码段内也不会。行内代码不能避免这种情形。\n```\n\n","slug":"常用文件/Hexo日常管理","published":1,"updated":"2019-08-02T03:54:52.000Z","_id":"cka1y594p00044huusb0xswfi","comments":1,"layout":"post","photos":[],"link":"","content":"复制MD文件 \n\n查找最新文件 \n1 2 3 4 ls -t /Users/mai/Projects/hexo/source /_posts/*.md | head -1 | xargs ls -l | awk '{print $6 \"-\" $7 \"-\" $8 }' ls -t /Users/mai/Projects/hexo/source /_posts/*.md | tail -1 | xargs ls -l | awk '{print $6 \"-\" $7 \"-\" $8 }'
\n其它 \nHexo 代码折叠
\n1 2 3 {% fold 点击显/隐内容 %} 需要隐藏的内容。。。 {% endfold %}
\n参考文件 \n有用的shell命令
\n会导致编译奔溃的错误 \n大括号和井号连在一起
\n1 2 3 { {} 和 或者放在代码段内也不会。行内代码不能避免这种情形。
\n","site":{"data":{}},"excerpt":"","more":"复制MD文件 \n\n查找最新文件 \n\n其它 \nHexo 代码折叠
\n\n参考文件 \n有用的shell命令
\n会导致编译奔溃的错误 \n大括号和井号连在一起
\n\n"},{"title":"《驴得水》——影评","date":"2019-07-28T13:17:19.000Z","urlname":"lvdeshui-film","_content":"\n![](https://github.com/maiernte/img/raw/master/collection/%E9%A9%B4%E5%BE%97%E6%B0%B4%E5%89%A7%E7%85%A7.jpg)\n\n\n\n> 追求自由的人,疯了,死了。\n不愿低头的人,成了听话的牲口。\n宽容大度的人,成了唯利是图的小人。\n淳朴憨厚的人,成了狡诈的恶棍。\n正面积极的人,用谎言掩盖真相。\n\n你觉得这是电影吗?其实,这是现实。我们先来看一下电影故事讲的是什么:\n\n一群怀揣伟大梦想的人,却敌不过山区缺水的现实,养了一头驴拉水。上头却不给养驴费,于是就把驴谎报成老师。上头来检查,不能因为一头驴毁了梦想啊。于是为了捍卫梦想的道路,却失去了梦想的意义。《驴得水》的海报上说,“讲个笑话,你可别哭啊”。 就像另一句笑话讲的那样, “小的时候我想拯救世界,长大后却发现世界都拯救不了我”。\n\n好笑,但却想哭。\n\n谁TM还没点梦想啊。但有时梦想很脆弱,甚至敌不过一碗炸酱面。你想让自己闪闪发光,但总得先养活自己,饿着肚子的人怎么去谈梦想?这也是很多刚毕业不久的人,所要面对的最为矛盾的情况。“我有很多想法,有很多想做的事。但我现在没钱、没人脉、没背景,甚至还没长相。想要出去闯一片天地, 但还要为一日三餐和落脚地打拼。梦想是高潮,现实却是性冷淡。还能怎么办呢?先养活自己再说吧”。于是,你找了一份莫名其妙的工作,你一日三餐是不愁了,你做着日复一日重复的工作,但是你不敢停,你越来越迷茫,越来越看不清生活的方向。\n\n你害怕那种怀揣梦想,但却又碌碌无为的日子,但你却不知道从哪里开始改变。于是你只能在焦虑中慢慢对现实妥协,然后你变成了自己曾经最讨厌的那种人。冷漠、没有激情、不思进取、浑浑噩噩,就像影片中的人物一样。曾经那些他们坚信的东西在面对现实时,都变得不堪一击。铁男说,“我没有办法啊,你知道子弹从脸上呼啸而过的感觉吗”?像不像我们经常说的,“我没办法啊,现实就是这样”。\n\n是啊,现实就是这样!作为芸芸众生,普通屁民,谁TM还没被现实强奸过啊。但想要活得更好,重要的不是治愈,而是带着病痛活下去。而且我们要清醒的认识到一个事实,有时我们之所以像傻逼一样努力,不是为了改变世界,而是为了不让世界改变我们。或许,这才是我们对这个世界最大的善意。\n","source":"_posts/摘录/《驴得水》影评.md","raw":"---\ntitle: 《驴得水》——影评\ndate: 2019-07-28 15:17:19\nurlname: lvdeshui-film\ntags: [影视]\ncategories: 摘录\n\n---\n\n![](https://github.com/maiernte/img/raw/master/collection/%E9%A9%B4%E5%BE%97%E6%B0%B4%E5%89%A7%E7%85%A7.jpg)\n\n\n\n> 追求自由的人,疯了,死了。\n不愿低头的人,成了听话的牲口。\n宽容大度的人,成了唯利是图的小人。\n淳朴憨厚的人,成了狡诈的恶棍。\n正面积极的人,用谎言掩盖真相。\n\n你觉得这是电影吗?其实,这是现实。我们先来看一下电影故事讲的是什么:\n\n一群怀揣伟大梦想的人,却敌不过山区缺水的现实,养了一头驴拉水。上头却不给养驴费,于是就把驴谎报成老师。上头来检查,不能因为一头驴毁了梦想啊。于是为了捍卫梦想的道路,却失去了梦想的意义。《驴得水》的海报上说,“讲个笑话,你可别哭啊”。 就像另一句笑话讲的那样, “小的时候我想拯救世界,长大后却发现世界都拯救不了我”。\n\n好笑,但却想哭。\n\n谁TM还没点梦想啊。但有时梦想很脆弱,甚至敌不过一碗炸酱面。你想让自己闪闪发光,但总得先养活自己,饿着肚子的人怎么去谈梦想?这也是很多刚毕业不久的人,所要面对的最为矛盾的情况。“我有很多想法,有很多想做的事。但我现在没钱、没人脉、没背景,甚至还没长相。想要出去闯一片天地, 但还要为一日三餐和落脚地打拼。梦想是高潮,现实却是性冷淡。还能怎么办呢?先养活自己再说吧”。于是,你找了一份莫名其妙的工作,你一日三餐是不愁了,你做着日复一日重复的工作,但是你不敢停,你越来越迷茫,越来越看不清生活的方向。\n\n你害怕那种怀揣梦想,但却又碌碌无为的日子,但你却不知道从哪里开始改变。于是你只能在焦虑中慢慢对现实妥协,然后你变成了自己曾经最讨厌的那种人。冷漠、没有激情、不思进取、浑浑噩噩,就像影片中的人物一样。曾经那些他们坚信的东西在面对现实时,都变得不堪一击。铁男说,“我没有办法啊,你知道子弹从脸上呼啸而过的感觉吗”?像不像我们经常说的,“我没办法啊,现实就是这样”。\n\n是啊,现实就是这样!作为芸芸众生,普通屁民,谁TM还没被现实强奸过啊。但想要活得更好,重要的不是治愈,而是带着病痛活下去。而且我们要清醒的认识到一个事实,有时我们之所以像傻逼一样努力,不是为了改变世界,而是为了不让世界改变我们。或许,这才是我们对这个世界最大的善意。\n","slug":"摘录/《驴得水》影评","published":1,"updated":"2019-08-15T21:48:56.000Z","_id":"cka1y594r00054huunm0reb46","comments":1,"layout":"post","photos":[],"link":"","content":"\n追求自由的人,疯了,死了。 \n不愿低头的人,成了听话的牲口。 \n宽容大度的人,成了唯利是图的小人。 \n淳朴憨厚的人,成了狡诈的恶棍。 \n正面积极的人,用谎言掩盖真相。
\n \n你觉得这是电影吗?其实,这是现实。我们先来看一下电影故事讲的是什么:
\n一群怀揣伟大梦想的人,却敌不过山区缺水的现实,养了一头驴拉水。上头却不给养驴费,于是就把驴谎报成老师。上头来检查,不能因为一头驴毁了梦想啊。于是为了捍卫梦想的道路,却失去了梦想的意义。《驴得水》的海报上说,“讲个笑话,你可别哭啊”。 就像另一句笑话讲的那样, “小的时候我想拯救世界,长大后却发现世界都拯救不了我”。
\n好笑,但却想哭。
\n谁TM还没点梦想啊。但有时梦想很脆弱,甚至敌不过一碗炸酱面。你想让自己闪闪发光,但总得先养活自己,饿着肚子的人怎么去谈梦想?这也是很多刚毕业不久的人,所要面对的最为矛盾的情况。“我有很多想法,有很多想做的事。但我现在没钱、没人脉、没背景,甚至还没长相。想要出去闯一片天地, 但还要为一日三餐和落脚地打拼。梦想是高潮,现实却是性冷淡。还能怎么办呢?先养活自己再说吧”。于是,你找了一份莫名其妙的工作,你一日三餐是不愁了,你做着日复一日重复的工作,但是你不敢停,你越来越迷茫,越来越看不清生活的方向。
\n你害怕那种怀揣梦想,但却又碌碌无为的日子,但你却不知道从哪里开始改变。于是你只能在焦虑中慢慢对现实妥协,然后你变成了自己曾经最讨厌的那种人。冷漠、没有激情、不思进取、浑浑噩噩,就像影片中的人物一样。曾经那些他们坚信的东西在面对现实时,都变得不堪一击。铁男说,“我没有办法啊,你知道子弹从脸上呼啸而过的感觉吗”?像不像我们经常说的,“我没办法啊,现实就是这样”。
\n是啊,现实就是这样!作为芸芸众生,普通屁民,谁TM还没被现实强奸过啊。但想要活得更好,重要的不是治愈,而是带着病痛活下去。而且我们要清醒的认识到一个事实,有时我们之所以像傻逼一样努力,不是为了改变世界,而是为了不让世界改变我们。或许,这才是我们对这个世界最大的善意。
","site":{"data":{}},"excerpt":"
","more":"\n追求自由的人,疯了,死了。 \n不愿低头的人,成了听话的牲口。 \n宽容大度的人,成了唯利是图的小人。 \n淳朴憨厚的人,成了狡诈的恶棍。 \n正面积极的人,用谎言掩盖真相。
\n \n你觉得这是电影吗?其实,这是现实。我们先来看一下电影故事讲的是什么:
\n一群怀揣伟大梦想的人,却敌不过山区缺水的现实,养了一头驴拉水。上头却不给养驴费,于是就把驴谎报成老师。上头来检查,不能因为一头驴毁了梦想啊。于是为了捍卫梦想的道路,却失去了梦想的意义。《驴得水》的海报上说,“讲个笑话,你可别哭啊”。 就像另一句笑话讲的那样, “小的时候我想拯救世界,长大后却发现世界都拯救不了我”。
\n好笑,但却想哭。
\n谁TM还没点梦想啊。但有时梦想很脆弱,甚至敌不过一碗炸酱面。你想让自己闪闪发光,但总得先养活自己,饿着肚子的人怎么去谈梦想?这也是很多刚毕业不久的人,所要面对的最为矛盾的情况。“我有很多想法,有很多想做的事。但我现在没钱、没人脉、没背景,甚至还没长相。想要出去闯一片天地, 但还要为一日三餐和落脚地打拼。梦想是高潮,现实却是性冷淡。还能怎么办呢?先养活自己再说吧”。于是,你找了一份莫名其妙的工作,你一日三餐是不愁了,你做着日复一日重复的工作,但是你不敢停,你越来越迷茫,越来越看不清生活的方向。
\n你害怕那种怀揣梦想,但却又碌碌无为的日子,但你却不知道从哪里开始改变。于是你只能在焦虑中慢慢对现实妥协,然后你变成了自己曾经最讨厌的那种人。冷漠、没有激情、不思进取、浑浑噩噩,就像影片中的人物一样。曾经那些他们坚信的东西在面对现实时,都变得不堪一击。铁男说,“我没有办法啊,你知道子弹从脸上呼啸而过的感觉吗”?像不像我们经常说的,“我没办法啊,现实就是这样”。
\n是啊,现实就是这样!作为芸芸众生,普通屁民,谁TM还没被现实强奸过啊。但想要活得更好,重要的不是治愈,而是带着病痛活下去。而且我们要清醒的认识到一个事实,有时我们之所以像傻逼一样努力,不是为了改变世界,而是为了不让世界改变我们。或许,这才是我们对这个世界最大的善意。
"},{"title":"典故","date":"2019-07-29T06:45:50.000Z","urlname":"old-stories-collection","toc":true,"notshow":true,"_content":"\n###### 豫让刺赵简子\n\n晋毕阳之孙豫让,始事范、中行氏而不说,去而就知伯,知伯宠之。及三晋分知氏,赵襄子最恐知伯,而将其头以为饮器。豫让遁逃山中曰:“磋乎!士为知己者死,女为悦己者容。吾其报知氏之仇矣。”\n\n\n\n乃变姓名,为刑人,入宫涂厕,欲以刺襄子。 襄子如厕,心动,执问涂者,则豫让也。 刃其曰:“欲为知伯报仇!”左右欲杀之。 赵襄子曰:“彼义士也,吾谨避之耳。且知伯已死,无后,而其臣至为报仇,此天下之贤人也。”卒释之。 豫让又漆身为厉,灭须去眉,自刑以变其容,为乞人而往乞,其妻不识,曰:“状貌不似吾夫,其音何类吾夫之甚也。”又吞炭为哑,变其音。 其友谓之曰:“子之道甚难而无功,谓子有志,则然矣,谓子知,则否。以子之才,而善事襄子,襄子必近幸子;子之得近而行所欲,此甚易而功必成。”豫让乃笑而应之曰:“是为先知报后知,为故君贼新君,大乱君臣之义者无此矣。凡吾所谓为此者,以明君臣之义,非从易也。且夫委质而事人,而求弑之,是怀二心以事君也。吾所为难,亦将以愧天下后世人臣怀二心者。”\n\n居顷之,襄子当出,豫让伏所当过桥下。 襄子至桥而马惊。 襄子曰:“此必豫让也。”使人问之,果豫让。 于是赵襄子面数豫让曰:“子不尝事范中行氏乎?知伯灭范中行氏,而子不为报仇,反委质事知伯。知伯已死,子独何为报仇之深也?”豫让曰:“臣事范中行氏,范中行氏以众人遇臣,臣故众人报之;知伯以国士遇臣,臣故国士报之。”襄子乃喟然叹泣曰:“嗟乎,豫子!豫子之为知伯,名既成矣,寡人舍子,亦以足矣。子自为计,寡人不舍子。”使兵环之。 豫让曰:“臣闻明主不掩人之义,忠臣不爱死以成名。君前已宽舍臣,天下莫不称君之贤。今日之事,臣故伏诛,然愿请君之衣而击之,虽死不恨。非所望也,敢布腹心。”于是襄子义之,乃使使者持衣与豫让。 豫让拔剑三跃,呼天击之曰:“而可以报知伯矣。”遂伏剑而死。 死之日,赵国之士闻之,皆为涕泣。\n\n—— 《战国策》\n","source":"_posts/摘录/典故.md","raw":"---\ntitle: 典故\ndate: 2019-07-29 08:45:50\nurlname: old-stories-collection\ntoc: true\ntags: [历史政治]\ncategories: [摘录]\nnotshow: true\n\n---\n\n###### 豫让刺赵简子\n\n晋毕阳之孙豫让,始事范、中行氏而不说,去而就知伯,知伯宠之。及三晋分知氏,赵襄子最恐知伯,而将其头以为饮器。豫让遁逃山中曰:“磋乎!士为知己者死,女为悦己者容。吾其报知氏之仇矣。”\n\n\n\n乃变姓名,为刑人,入宫涂厕,欲以刺襄子。 襄子如厕,心动,执问涂者,则豫让也。 刃其曰:“欲为知伯报仇!”左右欲杀之。 赵襄子曰:“彼义士也,吾谨避之耳。且知伯已死,无后,而其臣至为报仇,此天下之贤人也。”卒释之。 豫让又漆身为厉,灭须去眉,自刑以变其容,为乞人而往乞,其妻不识,曰:“状貌不似吾夫,其音何类吾夫之甚也。”又吞炭为哑,变其音。 其友谓之曰:“子之道甚难而无功,谓子有志,则然矣,谓子知,则否。以子之才,而善事襄子,襄子必近幸子;子之得近而行所欲,此甚易而功必成。”豫让乃笑而应之曰:“是为先知报后知,为故君贼新君,大乱君臣之义者无此矣。凡吾所谓为此者,以明君臣之义,非从易也。且夫委质而事人,而求弑之,是怀二心以事君也。吾所为难,亦将以愧天下后世人臣怀二心者。”\n\n居顷之,襄子当出,豫让伏所当过桥下。 襄子至桥而马惊。 襄子曰:“此必豫让也。”使人问之,果豫让。 于是赵襄子面数豫让曰:“子不尝事范中行氏乎?知伯灭范中行氏,而子不为报仇,反委质事知伯。知伯已死,子独何为报仇之深也?”豫让曰:“臣事范中行氏,范中行氏以众人遇臣,臣故众人报之;知伯以国士遇臣,臣故国士报之。”襄子乃喟然叹泣曰:“嗟乎,豫子!豫子之为知伯,名既成矣,寡人舍子,亦以足矣。子自为计,寡人不舍子。”使兵环之。 豫让曰:“臣闻明主不掩人之义,忠臣不爱死以成名。君前已宽舍臣,天下莫不称君之贤。今日之事,臣故伏诛,然愿请君之衣而击之,虽死不恨。非所望也,敢布腹心。”于是襄子义之,乃使使者持衣与豫让。 豫让拔剑三跃,呼天击之曰:“而可以报知伯矣。”遂伏剑而死。 死之日,赵国之士闻之,皆为涕泣。\n\n—— 《战国策》\n","slug":"摘录/典故","published":1,"updated":"2019-07-31T03:51:35.000Z","_id":"cka1y594x00084huu6k4ch39z","comments":1,"layout":"post","photos":[],"link":"","content":"豫让刺赵简子 \n晋毕阳之孙豫让,始事范、中行氏而不说,去而就知伯,知伯宠之。及三晋分知氏,赵襄子最恐知伯,而将其头以为饮器。豫让遁逃山中曰:“磋乎!士为知己者死,女为悦己者容。吾其报知氏之仇矣。”
\n \n乃变姓名,为刑人,入宫涂厕,欲以刺襄子。 襄子如厕,心动,执问涂者,则豫让也。 刃其曰:“欲为知伯报仇!”左右欲杀之。 赵襄子曰:“彼义士也,吾谨避之耳。且知伯已死,无后,而其臣至为报仇,此天下之贤人也。”卒释之。 豫让又漆身为厉,灭须去眉,自刑以变其容,为乞人而往乞,其妻不识,曰:“状貌不似吾夫,其音何类吾夫之甚也。”又吞炭为哑,变其音。 其友谓之曰:“子之道甚难而无功,谓子有志,则然矣,谓子知,则否。以子之才,而善事襄子,襄子必近幸子;子之得近而行所欲,此甚易而功必成。”豫让乃笑而应之曰:“是为先知报后知,为故君贼新君,大乱君臣之义者无此矣。凡吾所谓为此者,以明君臣之义,非从易也。且夫委质而事人,而求弑之,是怀二心以事君也。吾所为难,亦将以愧天下后世人臣怀二心者。”
\n居顷之,襄子当出,豫让伏所当过桥下。 襄子至桥而马惊。 襄子曰:“此必豫让也。”使人问之,果豫让。 于是赵襄子面数豫让曰:“子不尝事范中行氏乎?知伯灭范中行氏,而子不为报仇,反委质事知伯。知伯已死,子独何为报仇之深也?”豫让曰:“臣事范中行氏,范中行氏以众人遇臣,臣故众人报之;知伯以国士遇臣,臣故国士报之。”襄子乃喟然叹泣曰:“嗟乎,豫子!豫子之为知伯,名既成矣,寡人舍子,亦以足矣。子自为计,寡人不舍子。”使兵环之。 豫让曰:“臣闻明主不掩人之义,忠臣不爱死以成名。君前已宽舍臣,天下莫不称君之贤。今日之事,臣故伏诛,然愿请君之衣而击之,虽死不恨。非所望也,敢布腹心。”于是襄子义之,乃使使者持衣与豫让。 豫让拔剑三跃,呼天击之曰:“而可以报知伯矣。”遂伏剑而死。 死之日,赵国之士闻之,皆为涕泣。
\n—— 《战国策》
\n","site":{"data":{}},"excerpt":"豫让刺赵简子 \n晋毕阳之孙豫让,始事范、中行氏而不说,去而就知伯,知伯宠之。及三晋分知氏,赵襄子最恐知伯,而将其头以为饮器。豫让遁逃山中曰:“磋乎!士为知己者死,女为悦己者容。吾其报知氏之仇矣。”
","more":"乃变姓名,为刑人,入宫涂厕,欲以刺襄子。 襄子如厕,心动,执问涂者,则豫让也。 刃其曰:“欲为知伯报仇!”左右欲杀之。 赵襄子曰:“彼义士也,吾谨避之耳。且知伯已死,无后,而其臣至为报仇,此天下之贤人也。”卒释之。 豫让又漆身为厉,灭须去眉,自刑以变其容,为乞人而往乞,其妻不识,曰:“状貌不似吾夫,其音何类吾夫之甚也。”又吞炭为哑,变其音。 其友谓之曰:“子之道甚难而无功,谓子有志,则然矣,谓子知,则否。以子之才,而善事襄子,襄子必近幸子;子之得近而行所欲,此甚易而功必成。”豫让乃笑而应之曰:“是为先知报后知,为故君贼新君,大乱君臣之义者无此矣。凡吾所谓为此者,以明君臣之义,非从易也。且夫委质而事人,而求弑之,是怀二心以事君也。吾所为难,亦将以愧天下后世人臣怀二心者。”
\n居顷之,襄子当出,豫让伏所当过桥下。 襄子至桥而马惊。 襄子曰:“此必豫让也。”使人问之,果豫让。 于是赵襄子面数豫让曰:“子不尝事范中行氏乎?知伯灭范中行氏,而子不为报仇,反委质事知伯。知伯已死,子独何为报仇之深也?”豫让曰:“臣事范中行氏,范中行氏以众人遇臣,臣故众人报之;知伯以国士遇臣,臣故国士报之。”襄子乃喟然叹泣曰:“嗟乎,豫子!豫子之为知伯,名既成矣,寡人舍子,亦以足矣。子自为计,寡人不舍子。”使兵环之。 豫让曰:“臣闻明主不掩人之义,忠臣不爱死以成名。君前已宽舍臣,天下莫不称君之贤。今日之事,臣故伏诛,然愿请君之衣而击之,虽死不恨。非所望也,敢布腹心。”于是襄子义之,乃使使者持衣与豫让。 豫让拔剑三跃,呼天击之曰:“而可以报知伯矣。”遂伏剑而死。 死之日,赵国之士闻之,皆为涕泣。
\n—— 《战国策》
"},{"title":"RZF Organisation","urlname":"rzf-organisation","toc":true,"notshow":true,"date":"2019-07-22T18:23:00.000Z","_content":"\n# Kontakt\n\n## Abteilung\n- Verteiler \"**V-Krank**\"\n Für Ihre Krank- bzw. Gesundmeldung sowie alle übrigen Mitteilungen zum Thema Krankheit nutzen Sie bitte den Verteiler V-Krank (V-Krank-5011@fv.nrw.de).\n- Verteiler \"**V-Heimarbeitszeiten**\"\n Für die Meldung der Heimarbeitszeiten nutzen Sie bitte den Verteiler V-Heimarbeitszeiten (V-Heimarbeitszeiten-5011@fv.nrw.de).\n- Verteiler \"**V-Dienstreisezeiten**\"\n Über den Verteiler V-Dienstreisezeiten (V-Dienstreisezeiten-5011@fv.nrw.de) teilen Sie bitte Ihre Dienstreisezeiten, Lehrgangzeiten sowie das Ende des Dienstgeschäftes bei Dienstgängen mit. Zur Berechnung der Reisezeiten nutzen Sie bitte das im OASE-Vordruckschrank hinterlegte Berechnungsblatt (Vordruck H76 Reisezeitenberechnung).\n- Verteiler \"**V-GST**\"\n Den Verteiler V-GST (V-GST-5011@fv.nrw.de) verwenden Sie insbesondere für die nachfolgenden Angelegenheiten:\n Fragen/Mitteilungen zum Thema Urlaub, Sonderurlaub, Dienstbefreiung\n - Mitteilung von Zeiten bei vergessenen oder fehlerhaften GLAZ-Buchungen\n - Mitteilung über die ganztägige Kernzeitinanspruchnahme (GLAZ-Tag)\n - alle Fragen/Mitteilungen zu den übrigen Personalangelegenheiten, die nicht über die vorgenannten Verteiler abgedeckt sind.\n\n## Personal\n### Rohde, Rainer\nTelefon : (0211) 4572 - 2554\nE-Mail: rainer.rohde@fv.nrw.de\n### Uphoff, Christian\nchristian.uphoff@fv.nrw.de\n\n\\Drucker \\C0114237\\DR011226","source":"_posts/文档/RZF-Organisation.md","raw":"---\ntitle: RZF Organisation\nurlname: rzf-organisation\ntoc: true\ntags: [工作]\ncategories: 文档\nnotshow: true\ndate: 2019-07-22 20:23:00\n\n---\n\n# Kontakt\n\n## Abteilung\n- Verteiler \"**V-Krank**\"\n Für Ihre Krank- bzw. Gesundmeldung sowie alle übrigen Mitteilungen zum Thema Krankheit nutzen Sie bitte den Verteiler V-Krank (V-Krank-5011@fv.nrw.de).\n- Verteiler \"**V-Heimarbeitszeiten**\"\n Für die Meldung der Heimarbeitszeiten nutzen Sie bitte den Verteiler V-Heimarbeitszeiten (V-Heimarbeitszeiten-5011@fv.nrw.de).\n- Verteiler \"**V-Dienstreisezeiten**\"\n Über den Verteiler V-Dienstreisezeiten (V-Dienstreisezeiten-5011@fv.nrw.de) teilen Sie bitte Ihre Dienstreisezeiten, Lehrgangzeiten sowie das Ende des Dienstgeschäftes bei Dienstgängen mit. Zur Berechnung der Reisezeiten nutzen Sie bitte das im OASE-Vordruckschrank hinterlegte Berechnungsblatt (Vordruck H76 Reisezeitenberechnung).\n- Verteiler \"**V-GST**\"\n Den Verteiler V-GST (V-GST-5011@fv.nrw.de) verwenden Sie insbesondere für die nachfolgenden Angelegenheiten:\n Fragen/Mitteilungen zum Thema Urlaub, Sonderurlaub, Dienstbefreiung\n - Mitteilung von Zeiten bei vergessenen oder fehlerhaften GLAZ-Buchungen\n - Mitteilung über die ganztägige Kernzeitinanspruchnahme (GLAZ-Tag)\n - alle Fragen/Mitteilungen zu den übrigen Personalangelegenheiten, die nicht über die vorgenannten Verteiler abgedeckt sind.\n\n## Personal\n### Rohde, Rainer\nTelefon : (0211) 4572 - 2554\nE-Mail: rainer.rohde@fv.nrw.de\n### Uphoff, Christian\nchristian.uphoff@fv.nrw.de\n\n\\Drucker \\C0114237\\DR011226","slug":"文档/RZF-Organisation","published":1,"updated":"2019-08-22T08:39:21.000Z","_id":"cka1y595000094huuoh5kztsj","comments":1,"layout":"post","photos":[],"link":"","content":"Kontakt \nAbteilung \n\nVerteiler “V-Krank ” \nFür Ihre Krank- bzw. Gesundmeldung sowie alle übrigen Mitteilungen zum Thema Krankheit nutzen Sie bitte den Verteiler V-Krank (V-Krank-5011@fv.nrw.de ). \nVerteiler “V-Heimarbeitszeiten ” \nFür die Meldung der Heimarbeitszeiten nutzen Sie bitte den Verteiler V-Heimarbeitszeiten (V-Heimarbeitszeiten-5011@fv.nrw.de ). \nVerteiler “V-Dienstreisezeiten ” \nÜber den Verteiler V-Dienstreisezeiten (V-Dienstreisezeiten-5011@fv.nrw.de ) teilen Sie bitte Ihre Dienstreisezeiten, Lehrgangzeiten sowie das Ende des Dienstgeschäftes bei Dienstgängen mit. Zur Berechnung der Reisezeiten nutzen Sie bitte das im OASE-Vordruckschrank hinterlegte Berechnungsblatt (Vordruck H76 Reisezeitenberechnung). \nVerteiler “V-GST ” \nDen Verteiler V-GST (V-GST-5011@fv.nrw.de ) verwenden Sie insbesondere für die nachfolgenden Angelegenheiten: \nFragen/Mitteilungen zum Thema Urlaub, Sonderurlaub, Dienstbefreiung\n\nMitteilung von Zeiten bei vergessenen oder fehlerhaften GLAZ-Buchungen \nMitteilung über die ganztägige Kernzeitinanspruchnahme (GLAZ-Tag) \nalle Fragen/Mitteilungen zu den übrigen Personalangelegenheiten, die nicht über die vorgenannten Verteiler abgedeckt sind. \n \n \n \nPersonal \nRohde, Rainer \nTelefon : (0211) 4572 - 2554 \nE-Mail: rainer.rohde@fv.nrw.de
\nUphoff, Christian \nchristian.uphoff@fv.nrw.de
\n\\Drucker \\C0114237\\DR011226
\n","site":{"data":{}},"excerpt":"","more":"Kontakt \nAbteilung \n\nVerteiler “V-Krank ” \nFür Ihre Krank- bzw. Gesundmeldung sowie alle übrigen Mitteilungen zum Thema Krankheit nutzen Sie bitte den Verteiler V-Krank (V-Krank-5011@fv.nrw.de ). \nVerteiler “V-Heimarbeitszeiten ” \nFür die Meldung der Heimarbeitszeiten nutzen Sie bitte den Verteiler V-Heimarbeitszeiten (V-Heimarbeitszeiten-5011@fv.nrw.de ). \nVerteiler “V-Dienstreisezeiten ” \nÜber den Verteiler V-Dienstreisezeiten (V-Dienstreisezeiten-5011@fv.nrw.de ) teilen Sie bitte Ihre Dienstreisezeiten, Lehrgangzeiten sowie das Ende des Dienstgeschäftes bei Dienstgängen mit. Zur Berechnung der Reisezeiten nutzen Sie bitte das im OASE-Vordruckschrank hinterlegte Berechnungsblatt (Vordruck H76 Reisezeitenberechnung). \nVerteiler “V-GST ” \nDen Verteiler V-GST (V-GST-5011@fv.nrw.de ) verwenden Sie insbesondere für die nachfolgenden Angelegenheiten: \nFragen/Mitteilungen zum Thema Urlaub, Sonderurlaub, Dienstbefreiung\n\nMitteilung von Zeiten bei vergessenen oder fehlerhaften GLAZ-Buchungen \nMitteilung über die ganztägige Kernzeitinanspruchnahme (GLAZ-Tag) \nalle Fragen/Mitteilungen zu den übrigen Personalangelegenheiten, die nicht über die vorgenannten Verteiler abgedeckt sind. \n \n \n \nPersonal \nRohde, Rainer \nTelefon : (0211) 4572 - 2554 \nE-Mail: rainer.rohde@fv.nrw.de
\nUphoff, Christian \nchristian.uphoff@fv.nrw.de
\n\\Drucker \\C0114237\\DR011226
\n"},{"title":"Hello World","urlname":"hellow-world","date":"2019-06-26T15:51:03.000Z","sage":false,"notshow":true,"password":123456,"abstract":"此文章含敏感性描述。","message":"输入通用密码,查看文章。","_content":"Welcome to [Hexo](https://hexo.io/)! This is your very first post. Check [documentation](https://hexo.io/docs/) for more info. If you get any problems when using Hexo, you can find the answer in [troubleshooting](https://hexo.io/docs/troubleshooting.html) or you can ask me on [GitHub](https://github.com/hexojs/hexo/issues).\n\n## Quick Start\n\n### Create a new post\n\n``` bash\n$ hexo new \"My New Post\"\n```\n\nMore info: [Writing](https://hexo.io/docs/writing.html)\n\n### Run server\n\n``` bash\n$ hexo server\n```\n\nMore info: [Server](https://hexo.io/docs/server.html)\n\n### Generate static files\n\n``` bash\n$ hexo generate\n```\n\nMore info: [Generating](https://hexo.io/docs/generating.html)\n\n### Deploy to remote sites\n\n``` bash\n$ hexo deploy\n```\n\nMore info: [Deployment](https://hexo.io/docs/deployment.html)\n","source":"_posts/随笔/hello-world.md","raw":"---\ntitle: Hello World\nurlname: hellow-world\ndate: 2019-06-26 17:51:03\ntags: [Hexo]\ncategories: 随笔\nsage: false\nnotshow: true\npassword: 123456\nabstract: 此文章含敏感性描述。\nmessage: 输入通用密码,查看文章。\n\n---\nWelcome to [Hexo](https://hexo.io/)! This is your very first post. Check [documentation](https://hexo.io/docs/) for more info. If you get any problems when using Hexo, you can find the answer in [troubleshooting](https://hexo.io/docs/troubleshooting.html) or you can ask me on [GitHub](https://github.com/hexojs/hexo/issues).\n\n## Quick Start\n\n### Create a new post\n\n``` bash\n$ hexo new \"My New Post\"\n```\n\nMore info: [Writing](https://hexo.io/docs/writing.html)\n\n### Run server\n\n``` bash\n$ hexo server\n```\n\nMore info: [Server](https://hexo.io/docs/server.html)\n\n### Generate static files\n\n``` bash\n$ hexo generate\n```\n\nMore info: [Generating](https://hexo.io/docs/generating.html)\n\n### Deploy to remote sites\n\n``` bash\n$ hexo deploy\n```\n\nMore info: [Deployment](https://hexo.io/docs/deployment.html)\n","slug":"随笔/hello-world","published":1,"updated":"2019-07-31T03:51:35.000Z","_id":"cka1y5952000a4huuo6qb7h3o","comments":1,"layout":"post","photos":[],"link":"","content":"\n\nIncorrect Password!
\nNo content to display!
\n\nU2FsdGVkX1+7TT9oNPf8Ce6TsmnuE5YQQXxozWhmsuuF8mq1PvXU4mByRPaYweIRznY6oCgPv8PipL/etOooY2bmAe5/3BxQPyniuSdeXJ0C8awHa6up+5gRmhbjHKwIyovE/4OXJCIEADUg4aMBMa9uSdqheJEgFVNyPPHF0SaFQ52G3ucPq54SmB4P4g9x3NQUTCy3LZOw3KP4fN3hEQXaitjd6Cn6Lm9AmvAzXtLiGjHUcV6IuwFqWko+akLURrPiZQDdJ6Wses5F/+F8sPMAcYdJQsn0nRpUhtggnhCysFe8FBNX9eoICJITSymRzNMIymZvJi+1q8pVPEj89QDy91U9gQwoHEy1G7bGNr4dnS+l7KWbill6olGvfwu7rJbMgUnnEiu/7B511/VkDVUSUVlggncrZ/KEU4XT8Gx4OYLgZfS7r9uNDceAq694BMF4m1dVeagck8ls2+DCVvQRe3ciyrHhrkK1ouAwMxYcf1IR8kCyyScnx4X4XIk+5P2KhjZiP+z0pb0GWxX30qVUHsQrCveU0Amhdc2F70VRUghCOo83gRWgs8HlQXaqWmTPJmrFkOuKELGTlW08UKA6RR7Wx21bZcH9k+ZVxatWfUhob3K9hZuROPfo5t/xFby5Jp035iZggzfT3J7Zj22X0WD1+mTIepPLg98r6WFGnIVadH4o1kQOSX6zUrknvBqVVm4toRD25n2RgCw0EpxpAmyyvFe6nDVqrCIpe9W4NkfYXM+yR5oclXdvAdOB9M3FFc1iizhNZzCrWNI2c+m+DGnqeKBHb5AB/cpbv0RdolELqm9KsuoE3GHMBFZp78H1ef+4SNONQVKmaiTrI2WBiGvhGYcQd8xHtq3uCDf99oREjkBDn86xTCk0KgrAg53Ijn5k0+P/PehZStsYZc5ysJxIgaANrW+hyuSwPblwsHUBUEGm/ZB84NvzgIZPYLVWqC+6ujB10CAY0M3XOGo2u8U2VZ5IAD27XMiwZC+pLJBHQFFwsO2T99xuJw1OBWF9BhslpeMtxIRByV1z/6znnolei0ZgDIPCcbEeuqJb7zeoWp70sdEZQGHI5BNOEew2uCpLJjw5uaVGZCY0uZkLYBW5XD0WlOpXbqqPIrRT/naYC3YywZCBOenymdhbRKlCHoopCccLbfgFQJqDvlVQen3fA/eqnmw37wk8j7XKHb4nKIOl1q6P2YFQ+qVNNb1qiIC66SNXqrbyNWHyhDkqFSlzcrJAcSqTVtCsVqhw42BotrpjPiJ/8Zyq4aSfnR6G+eZsznHvoGqM237/Vy/faDFZTA6d/MrkExzhwjllt1svb00ZBFyF2CNv5H9daJ1EvG+HZXhPKOVq/ryYh59UXG3ypmIvKlMXjzzMHKwLfYHeel8s8kjel7u2iGAXML5uSbaCqCmfIxAazPuKhlapElEGH2AgjNRqwLoM3BH+Nq5rgYlVQkmympCoOSgTquAx6hxsiUId+sL5nCAkGb5flhQdChPYAvlhLVVaMUesmJuUF4OqAmY4sfd5BHR2uCmdSYTaborGQtTIEhnwcpUF6qYVrwes4K8nOYXZKGk6ELLHa1IlChe70KxP6qHeQ3Xq+X4teFvbcyZ/3z6SDNhob1WLAfYb2szPGOVtdT3DEsFw7YHGhgcI5X1njL4b4Vkd3Fd98PZQdrgfZlB8QO5/YC75EgdfDFqUgaR86+9Sa6AzFlXvZscPtgPMvG6RIveULyZDflsFgCqJy9W3UiU9H9wiEb+9tPEgRlf0SZ4F0V3lqksOdj6qEv6YM4KtFF1Y+mlSocp0tCIW2PcwUcJPMB54y5NwI7Qji6FbP/SmYkHBOS2HAAKyx3dnxuoIJneAfQOT70PoXt8YVxZyPtg17hcLlORU/KqcGXZhks9VvS/4bbsM5CLH6wJUAeom/NOZZkMQgK/KAiUL4WM6bjLaMYCFx/bt6WAPYeFYFZ3wyQrAhd+EFs68+79klIdtzNYivK+j3GuIRfAF+/rhqZ6ISgQEBqD6AmlRnRsFaW8AKier61VuISlGlJ3WebWf/DViHUI5RrxNJnZDLGT6ENuGvYmzVRWOsoks3tObuimBl4G7ZZVxYNCrm+uSJQ34dh+f0rg7ckoANFDBHnZsDsIF/4doX/umiCMPufqfZIKDaJKnVzd8SdiArq9vprdrDNLYHhz+I6vM8IW3ZILl0rQFx6enT4XvVeuG1fiY30b6wzNqH21Mp6w3nSpVu0tZ82R79xr1iQn9KT+ekQCqwJNGbp9yRurcB3Myv78DEN0329B+eNUXqtc64xivaiIMOHMxOVHu6UGPryNFvA+iKrBM1a5DXyjkJwOIGzIoqf0Y8vDlB92PScUk4pVymupZ5BTBk++ziHDir/CkkALuBsJqe+Z7Ct/tvAsVUbsbJPO+4bY8W0ZK++cUh8Y32x62D2j7M1nQ4wpcxsmIPngGVsuFT41WCSF6d4u56Brz+DVdBpsiMODiXQr74zKFWubjzkSou9f11FLr2dnjhx1DrGNn1mqsx0gRBWBKtdFc849injMomeJrCUhaPwV4f3EjkMrsMi3x0MzV0xBvf2ktwNck+eTY6AQa1UvH63Cka9J7Z8DsciBgkCNkd7exgtboc6bqI7c2Ai4/HMP+hQtdYg0uie7GBbRdOVqhuR++GZL6UBrEois54aUPJxK6Xype6v7qHIf3XSH7NR5qlLIOcPE6rp7lfdhUvB9mkJ5jQ1phkJjkbZ0HcohfzhlledQb5njrA6JndP0+3eKyvwLYuZxCup92FrS6X+u/PVFkuUD/y9PNmU/RsJrRsGWt0qPSvyRIzVKFdP6tdvwkUYHdHlbe0/Y5TXcGUyB0tuNCBNsJXLZvQq+3vZ8MI8ZQW7I7zpbwcIvK/n1HEISPZF974e7CROWpAcUSKFYzoC7QF4kDDbab5mbetaWclUh7qMOt0q5orAGCMTcejIRGivHMODoq6S8eeExpVqSEwn7OTsDk02z6k7kWjANzYSpClR6RGgHJa0aFNoAbFeo83/p21XFcLL/eVCrfku5kEOfyERL/nuycdX/g/rVmgxL8Lskvql8HJAxy4bzQARWazQn9xGqLnVQGjmuTETf7A1I/IcxIdV+7ojCQxb5rLxVcUiQLOMgqb74XJzDtMgBqXkRUVnVwHPosQg8L4eYg9wgUET1jQayMzEeR+e22wvEMDvM2qz7yffFtpI4B3xRIbTsDJA==\n
\n ","site":{"data":{}},"excerpt":"此文章含敏感性描述。","more":"此文章含敏感性描述。","origin":"Welcome to Hexo ! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub .
\nQuick Start \nCreate a new post \n\nMore info: Writing
\nRun server \n\nMore info: Server
\nGenerate static files \n\nMore info: Generating
\nDeploy to remote sites \n\nMore info: Deployment
\n","encrypt":true,"template":"\n\nIncorrect Password!
\nNo content to display!
\n\nU2FsdGVkX1+7TT9oNPf8Ce6TsmnuE5YQQXxozWhmsuuF8mq1PvXU4mByRPaYweIRznY6oCgPv8PipL/etOooY2bmAe5/3BxQPyniuSdeXJ0C8awHa6up+5gRmhbjHKwIyovE/4OXJCIEADUg4aMBMa9uSdqheJEgFVNyPPHF0SaFQ52G3ucPq54SmB4P4g9x3NQUTCy3LZOw3KP4fN3hEQXaitjd6Cn6Lm9AmvAzXtLiGjHUcV6IuwFqWko+akLURrPiZQDdJ6Wses5F/+F8sPMAcYdJQsn0nRpUhtggnhCysFe8FBNX9eoICJITSymRzNMIymZvJi+1q8pVPEj89QDy91U9gQwoHEy1G7bGNr4dnS+l7KWbill6olGvfwu7rJbMgUnnEiu/7B511/VkDVUSUVlggncrZ/KEU4XT8Gx4OYLgZfS7r9uNDceAq694BMF4m1dVeagck8ls2+DCVvQRe3ciyrHhrkK1ouAwMxYcf1IR8kCyyScnx4X4XIk+5P2KhjZiP+z0pb0GWxX30qVUHsQrCveU0Amhdc2F70VRUghCOo83gRWgs8HlQXaqWmTPJmrFkOuKELGTlW08UKA6RR7Wx21bZcH9k+ZVxatWfUhob3K9hZuROPfo5t/xFby5Jp035iZggzfT3J7Zj22X0WD1+mTIepPLg98r6WFGnIVadH4o1kQOSX6zUrknvBqVVm4toRD25n2RgCw0EpxpAmyyvFe6nDVqrCIpe9W4NkfYXM+yR5oclXdvAdOB9M3FFc1iizhNZzCrWNI2c+m+DGnqeKBHb5AB/cpbv0RdolELqm9KsuoE3GHMBFZp78H1ef+4SNONQVKmaiTrI2WBiGvhGYcQd8xHtq3uCDf99oREjkBDn86xTCk0KgrAg53Ijn5k0+P/PehZStsYZc5ysJxIgaANrW+hyuSwPblwsHUBUEGm/ZB84NvzgIZPYLVWqC+6ujB10CAY0M3XOGo2u8U2VZ5IAD27XMiwZC+pLJBHQFFwsO2T99xuJw1OBWF9BhslpeMtxIRByV1z/6znnolei0ZgDIPCcbEeuqJb7zeoWp70sdEZQGHI5BNOEew2uCpLJjw5uaVGZCY0uZkLYBW5XD0WlOpXbqqPIrRT/naYC3YywZCBOenymdhbRKlCHoopCccLbfgFQJqDvlVQen3fA/eqnmw37wk8j7XKHb4nKIOl1q6P2YFQ+qVNNb1qiIC66SNXqrbyNWHyhDkqFSlzcrJAcSqTVtCsVqhw42BotrpjPiJ/8Zyq4aSfnR6G+eZsznHvoGqM237/Vy/faDFZTA6d/MrkExzhwjllt1svb00ZBFyF2CNv5H9daJ1EvG+HZXhPKOVq/ryYh59UXG3ypmIvKlMXjzzMHKwLfYHeel8s8kjel7u2iGAXML5uSbaCqCmfIxAazPuKhlapElEGH2AgjNRqwLoM3BH+Nq5rgYlVQkmympCoOSgTquAx6hxsiUId+sL5nCAkGb5flhQdChPYAvlhLVVaMUesmJuUF4OqAmY4sfd5BHR2uCmdSYTaborGQtTIEhnwcpUF6qYVrwes4K8nOYXZKGk6ELLHa1IlChe70KxP6qHeQ3Xq+X4teFvbcyZ/3z6SDNhob1WLAfYb2szPGOVtdT3DEsFw7YHGhgcI5X1njL4b4Vkd3Fd98PZQdrgfZlB8QO5/YC75EgdfDFqUgaR86+9Sa6AzFlXvZscPtgPMvG6RIveULyZDflsFgCqJy9W3UiU9H9wiEb+9tPEgRlf0SZ4F0V3lqksOdj6qEv6YM4KtFF1Y+mlSocp0tCIW2PcwUcJPMB54y5NwI7Qji6FbP/SmYkHBOS2HAAKyx3dnxuoIJneAfQOT70PoXt8YVxZyPtg17hcLlORU/KqcGXZhks9VvS/4bbsM5CLH6wJUAeom/NOZZkMQgK/KAiUL4WM6bjLaMYCFx/bt6WAPYeFYFZ3wyQrAhd+EFs68+79klIdtzNYivK+j3GuIRfAF+/rhqZ6ISgQEBqD6AmlRnRsFaW8AKier61VuISlGlJ3WebWf/DViHUI5RrxNJnZDLGT6ENuGvYmzVRWOsoks3tObuimBl4G7ZZVxYNCrm+uSJQ34dh+f0rg7ckoANFDBHnZsDsIF/4doX/umiCMPufqfZIKDaJKnVzd8SdiArq9vprdrDNLYHhz+I6vM8IW3ZILl0rQFx6enT4XvVeuG1fiY30b6wzNqH21Mp6w3nSpVu0tZ82R79xr1iQn9KT+ekQCqwJNGbp9yRurcB3Myv78DEN0329B+eNUXqtc64xivaiIMOHMxOVHu6UGPryNFvA+iKrBM1a5DXyjkJwOIGzIoqf0Y8vDlB92PScUk4pVymupZ5BTBk++ziHDir/CkkALuBsJqe+Z7Ct/tvAsVUbsbJPO+4bY8W0ZK++cUh8Y32x62D2j7M1nQ4wpcxsmIPngGVsuFT41WCSF6d4u56Brz+DVdBpsiMODiXQr74zKFWubjzkSou9f11FLr2dnjhx1DrGNn1mqsx0gRBWBKtdFc849injMomeJrCUhaPwV4f3EjkMrsMi3x0MzV0xBvf2ktwNck+eTY6AQa1UvH63Cka9J7Z8DsciBgkCNkd7exgtboc6bqI7c2Ai4/HMP+hQtdYg0uie7GBbRdOVqhuR++GZL6UBrEois54aUPJxK6Xype6v7qHIf3XSH7NR5qlLIOcPE6rp7lfdhUvB9mkJ5jQ1phkJjkbZ0HcohfzhlledQb5njrA6JndP0+3eKyvwLYuZxCup92FrS6X+u/PVFkuUD/y9PNmU/RsJrRsGWt0qPSvyRIzVKFdP6tdvwkUYHdHlbe0/Y5TXcGUyB0tuNCBNsJXLZvQq+3vZ8MI8ZQW7I7zpbwcIvK/n1HEISPZF974e7CROWpAcUSKFYzoC7QF4kDDbab5mbetaWclUh7qMOt0q5orAGCMTcejIRGivHMODoq6S8eeExpVqSEwn7OTsDk02z6k7kWjANzYSpClR6RGgHJa0aFNoAbFeo83/p21XFcLL/eVCrfku5kEOfyERL/nuycdX/g/rVmgxL8Lskvql8HJAxy4bzQARWazQn9xGqLnVQGjmuTETf7A1I/IcxIdV+7ojCQxb5rLxVcUiQLOMgqb74XJzDtMgBqXkRUVnVwHPosQg8L4eYg9wgUET1jQayMzEeR+e22wvEMDvM2qz7yffFtpI4B3xRIbTsDJA==\n
\n","decryptionError":"Incorrect Password!","noContentError":"No content to display!"},{"title":"爱乐之城——影评","date":"2019-07-21T19:17:19.000Z","urlname":"lalaland-film","_content":"\n![ ](https://github.com/maiernte/img/raw/master/collection/lalaland.jpg)\n\n\n\n我在凌晨三点醒来的夜里,想起已失去的你,曾经说着永远一起,现在却不再联系。如果当时的我们能少一些固执,是否会有更好的结局。\n\n洛杉矶,华纳兄弟电影厂旁边的咖啡馆,明星来往不息。一身素雅的米娅是这里的收银员。她的梦想就是成为一个知名演员及编剧。所以她经常请假去试镜,跑遍大大小小的片场。虽然每次她都充满希望,但现实却是四处碰壁。这天,又一次遭受打击的米娅垂头丧气回到家中。洗去一身疲态后,她站在镜子面前暗自神伤哼起歌来 。这时室友火急火燎的出现,邀请她一起去参加派对。本来心情极度郁闷的米娅不想去凑热闹。经不住一帮二货室友的游说,精心打扮一番后她们就出发了。\n\n洛杉矶的月色下,灯红酒绿,觥筹交错。但热闹是属于他们的,安静下来后她却感到愈加落寞。人潮中充斥着过剩的荷尔蒙,但却没有她想要的一双眼睛。世界瞬息万变,她却岿然不动。逃离狂欢派对后,违规停放的车子又被拖走。米娅只能走路回家,在安静的街头上。忽然一阵悠扬的钢琴声传来,如梦似幻,温润缠绵。米娅停下脚步,来到了一个毫不起眼的地下酒吧。一个优雅的男人坐在无人注意的角落里安静的弹奏着。此刻,全世界好像都暗了下来,只有他闪着耀眼的光芒。男人名叫塞巴斯汀,是一个爵士乐钢琴师。他对音乐有着自己独特的追求,不愿弹奏靡靡之音。可一曲弹罢,没有人为他鼓掌,他也被老板炒了鱿鱼。塞巴斯汀愤愤的离开,米娅鼓起勇气迎面走过去,想要认识这个让她着迷的男人。但一句话还没说完,男人就径直的走开了。米娅扑了个空,尴尬的站在那里不知所措。\n\n生活依然按部就班,米娅依然忙着追逐她的梦想。一次派对上,米娅又遇上了塞巴斯汀。他加入了一个爵士乐队,但他们的演奏依旧没人捧场。为了惩罚这个「严肃」的音乐人,也为了报复上次给她造成的尴尬,米娅点了一首非常不严肃的音乐,她甚至随着音乐舞动起来。而塞巴斯汀却站在那里既尴尬又无奈。米娅的行为让塞巴斯汀想起了那晚的无礼。他向米娅道了歉,两人算是相识了。聚会结束后,米娅又找不到车子,于是两人在夜色下散步。洛杉矶的夜色此刻显得如此迷人,在暧昧的氛围中,他们默契地跳着属于他们的舞蹈。\n\n第二天塞巴斯汀来到米娅工作的咖啡店,下班后他们一起在片场附近的街头闲聊,塞巴斯汀鼓励米娅给自己写剧本,而不是去演别人的剧本。自己给自己创造角色,说不定会有意想不到的效果。米娅也向塞巴斯汀坦白说,她讨厌爵士乐。于是固执的塞巴斯汀就带米娅来到一个演奏爵士乐的酒吧,他试图改变米娅对爵士乐的看法,向她解释爵士乐的起源。然而米娅还是不能理解,对音乐有执念的塞巴斯汀表示,他不想让爵士乐就此消亡,他想要创建自己的俱乐部,在那里只有纯粹的爵士乐,那是他一直以来的梦想。\n\n这天又一次试镜失败的米娅心情沮丧,经过电影院门口时,她想起和塞巴斯汀的电影院之约。顿时心情变得愉悦,这时几个月不见一次的男友却来接她一起吃饭。餐桌上米娅心不在焉,男友却把她晾在一边,自顾自的和哥哥聊天。而在电影院门口的塞巴斯汀焦急的等着米娅,此时餐厅传来了熟悉的曲子,那个夜晚塞巴斯汀弹奏的正是这首曲子。米娅随即起身跑了出去,穿过色彩缤纷的霓虹灯,她找到了失落的塞巴斯汀,此时的两个人根本无心观看电影。他们指尖轻触,随后十指紧扣,接着互相靠近……但灯光却忽然打开,两人无奈的相视一笑。之后米娅带着塞巴斯汀来到天文馆,他们在浪漫的氛围中翩翩起舞,魅惑的蓝色星空下,两人仿佛和整个宇宙融为一体。\n\n金风玉露终于相逢,热恋之吻甘之如饴。随后两人一边热恋,一边为各自的梦想努力。他们一起旅行、一起恶作剧,他们走遍大街小巷,他弹琴、她跳舞,在塞巴斯汀的影响下,米娅渐渐喜欢上了爵士乐。这天早上,塞巴斯汀无意中听到了米娅和她母亲的通话。米娅的母亲对她们的未来很担忧,因为塞巴斯汀没有稳定的工作。寥寥几句话,就将塞巴斯汀从梦中拉回现实。他接受了前乐队主唱的邀请,成为了他们的键盘手。但这就意味着塞巴斯汀必须放弃自己的坚持,跟着乐队的风格走。晚上回家的米娅,听到塞巴斯汀的琴声,感受到了他失落的情绪。无需过多的话语,米娅和着琴声唱着歌,这种默契让他们心照不宣。就这样两人互相鼓励,互相安慰,塞巴斯汀的乐队开始走红。米娅也陆陆续续接到了一些大大小小的角色。看着梦想之门慢慢打开,他们也变得越来越忙碌。乐队巡演时,米娅站在台下看着万众瞩目的塞巴斯汀,喧闹的人群,闪烁的灯光,流行的爵士乐,一切看起来都那么美好……台上的男人意气风发、星光闪耀,米娅却觉得和他有了距离。晚上回到家的米娅得到了一个大大的惊喜。忙碌的他们很久都没有见面了,塞巴斯汀明天一早又要离开,他想要让米娅跟他一起,米娅却问他喜不喜欢现在弹奏的音乐?但此时的塞巴斯汀已经尝到了名利带来的甜头,他放弃了曾经的梦想,也放弃了曾经的坚持。他以为这些是米娅想要的:稳定的生活,不菲的收入,以及聚少离多的爱情。他说以前那些梦想太虚无缥缈,现在他需要成熟起来。最后激动的塞巴斯汀对米娅说,你喜欢以前不堪的我,是因为相比而言,那会让你感觉自我良好。这句伤人的话使得他们关系僵化,接着米娅一声不响的离开。第二天在给乐队拍宣传片的时候,摄影师让塞巴斯汀随便弹,于是他弹起了熟悉的曲子,接着他似乎想起了什么……再一次试镜被嘲笑后,米娅心情降至冰点。她准备返回老家,这个城市再没什么值得她留恋,梦想也好,爱人也罢,终究只是一场梦。面对挽留的塞巴斯汀,她再也无法忍受,哭着说她受够了。米娅回到了自己的家,塞巴斯汀也回到了乐队。\n\n一段时间后,塞巴斯汀出现在了米娅家门口。一个知名导演正在选角,试镜电话打给了塞巴斯汀,在塞巴斯汀的鼓励下,米娅鼓起勇气决定再试一次。导演让米娅随便讲一个故事,于是她用歌声讲述了自己的梦想。面试过后,他们来到天文馆门口,一起谈论着对未来的打算。他说你的梦想一定会实现的。秋天的洛杉矶,纯净而理性。他们的感情在这里开始,也在这里结束……\n\n五年后米娅成了知名演员,实现了自己的梦想。她事业有成,结婚生子,生活安稳,家庭美满。晚上米娅和丈夫遭遇堵车,路边散步时发现了一个酒吧。热闹的气氛吸引了米娅的注意,这正是当年塞巴斯汀带她去的酒吧。米娅发现酒吧的名字是她多年前为塞巴斯汀取的。这里只有纯粹的爵士乐,塞巴斯汀的梦想就是拥有这样一个地方。落坐以后,塞巴斯汀看到了台下的米娅,沉默片刻后,他弹起了那首熟悉的音乐。\n***\n*就像最初他们相见时那样,他们忘记了全世界。那个夜晚,那次初见,时间仿佛从未流逝。但这次不等她说完一句话,他就热烈的吻上了她唇。他毫无顾忌,她毫无防备,他们痴迷于彼此的味道。他们翩翩起舞,一路走向梦想,走进热恋,相互陪伴,相互成全,一起成长,一起狂欢。然后携手走进那片星空。他眼神温柔,她身姿婀娜。他们打造着自己的小窝,享受着二人世界。爱的结晶来到他们身边,放佛那些美好是和他一起度过的。直到今天这个夜晚,他们始终如一,此志不渝。*\n\n___\n曲终之后,她被拉回现实,然后和丈夫一起离开。在拐角处她转身,回头,两人遥遥相望,然后互相报以微笑。时隔经年,若我遇见你,我该如何与你致意?以眼泪,以沉默!\n\n我一同学特别喜欢这部电影,我知道那是因为她在电影中看到了自己。她的挚爱,七年长跑,可终究还是没能走到一起。或许这就是所谓的「在别人的故事里,流着自己的眼泪」。你是否也在无人的深夜,想起某个人,然后哭着醒来。看着周围的一切,熟悉又陌生,那个藏在心里的人啊,此时你身在哪里?可知有人还在深爱着你。虽然思念依然刻骨铭心,但你们之间却只剩下曾经。最怕的莫过于,在寂静无声的日子里,莫名其妙的,突然听懂了一首歌,只是你听到的不再是歌曲,而是人生。\n\n**「初识不知曲中意,再听已是曲中人」**……就像是做了一场梦,醒来之时万籁俱寂,物是人非事事休,欲语泪先流……年少时我们总想给最爱的TA更多,却忽略了TA最想要的只是真实的你。后来的我们什么都有了,但却没了我们。我还是我,你还是你,我们却不再是我们。……于是你只能在某个深夜,听着歌,流着泪,然后默默的在心里对那个人说,今夜,我不关心世界,今夜,我只想你。\n\n","source":"_posts/摘录/爱乐之城——影评.md","raw":"---\ntitle: 爱乐之城——影评\ndate: 2019-07-21 21:17:19\nurlname: lalaland-film\ntags: [影视]\ncategories: 摘录\n\n---\n\n![ ](https://github.com/maiernte/img/raw/master/collection/lalaland.jpg)\n\n\n\n我在凌晨三点醒来的夜里,想起已失去的你,曾经说着永远一起,现在却不再联系。如果当时的我们能少一些固执,是否会有更好的结局。\n\n洛杉矶,华纳兄弟电影厂旁边的咖啡馆,明星来往不息。一身素雅的米娅是这里的收银员。她的梦想就是成为一个知名演员及编剧。所以她经常请假去试镜,跑遍大大小小的片场。虽然每次她都充满希望,但现实却是四处碰壁。这天,又一次遭受打击的米娅垂头丧气回到家中。洗去一身疲态后,她站在镜子面前暗自神伤哼起歌来 。这时室友火急火燎的出现,邀请她一起去参加派对。本来心情极度郁闷的米娅不想去凑热闹。经不住一帮二货室友的游说,精心打扮一番后她们就出发了。\n\n洛杉矶的月色下,灯红酒绿,觥筹交错。但热闹是属于他们的,安静下来后她却感到愈加落寞。人潮中充斥着过剩的荷尔蒙,但却没有她想要的一双眼睛。世界瞬息万变,她却岿然不动。逃离狂欢派对后,违规停放的车子又被拖走。米娅只能走路回家,在安静的街头上。忽然一阵悠扬的钢琴声传来,如梦似幻,温润缠绵。米娅停下脚步,来到了一个毫不起眼的地下酒吧。一个优雅的男人坐在无人注意的角落里安静的弹奏着。此刻,全世界好像都暗了下来,只有他闪着耀眼的光芒。男人名叫塞巴斯汀,是一个爵士乐钢琴师。他对音乐有着自己独特的追求,不愿弹奏靡靡之音。可一曲弹罢,没有人为他鼓掌,他也被老板炒了鱿鱼。塞巴斯汀愤愤的离开,米娅鼓起勇气迎面走过去,想要认识这个让她着迷的男人。但一句话还没说完,男人就径直的走开了。米娅扑了个空,尴尬的站在那里不知所措。\n\n生活依然按部就班,米娅依然忙着追逐她的梦想。一次派对上,米娅又遇上了塞巴斯汀。他加入了一个爵士乐队,但他们的演奏依旧没人捧场。为了惩罚这个「严肃」的音乐人,也为了报复上次给她造成的尴尬,米娅点了一首非常不严肃的音乐,她甚至随着音乐舞动起来。而塞巴斯汀却站在那里既尴尬又无奈。米娅的行为让塞巴斯汀想起了那晚的无礼。他向米娅道了歉,两人算是相识了。聚会结束后,米娅又找不到车子,于是两人在夜色下散步。洛杉矶的夜色此刻显得如此迷人,在暧昧的氛围中,他们默契地跳着属于他们的舞蹈。\n\n第二天塞巴斯汀来到米娅工作的咖啡店,下班后他们一起在片场附近的街头闲聊,塞巴斯汀鼓励米娅给自己写剧本,而不是去演别人的剧本。自己给自己创造角色,说不定会有意想不到的效果。米娅也向塞巴斯汀坦白说,她讨厌爵士乐。于是固执的塞巴斯汀就带米娅来到一个演奏爵士乐的酒吧,他试图改变米娅对爵士乐的看法,向她解释爵士乐的起源。然而米娅还是不能理解,对音乐有执念的塞巴斯汀表示,他不想让爵士乐就此消亡,他想要创建自己的俱乐部,在那里只有纯粹的爵士乐,那是他一直以来的梦想。\n\n这天又一次试镜失败的米娅心情沮丧,经过电影院门口时,她想起和塞巴斯汀的电影院之约。顿时心情变得愉悦,这时几个月不见一次的男友却来接她一起吃饭。餐桌上米娅心不在焉,男友却把她晾在一边,自顾自的和哥哥聊天。而在电影院门口的塞巴斯汀焦急的等着米娅,此时餐厅传来了熟悉的曲子,那个夜晚塞巴斯汀弹奏的正是这首曲子。米娅随即起身跑了出去,穿过色彩缤纷的霓虹灯,她找到了失落的塞巴斯汀,此时的两个人根本无心观看电影。他们指尖轻触,随后十指紧扣,接着互相靠近……但灯光却忽然打开,两人无奈的相视一笑。之后米娅带着塞巴斯汀来到天文馆,他们在浪漫的氛围中翩翩起舞,魅惑的蓝色星空下,两人仿佛和整个宇宙融为一体。\n\n金风玉露终于相逢,热恋之吻甘之如饴。随后两人一边热恋,一边为各自的梦想努力。他们一起旅行、一起恶作剧,他们走遍大街小巷,他弹琴、她跳舞,在塞巴斯汀的影响下,米娅渐渐喜欢上了爵士乐。这天早上,塞巴斯汀无意中听到了米娅和她母亲的通话。米娅的母亲对她们的未来很担忧,因为塞巴斯汀没有稳定的工作。寥寥几句话,就将塞巴斯汀从梦中拉回现实。他接受了前乐队主唱的邀请,成为了他们的键盘手。但这就意味着塞巴斯汀必须放弃自己的坚持,跟着乐队的风格走。晚上回家的米娅,听到塞巴斯汀的琴声,感受到了他失落的情绪。无需过多的话语,米娅和着琴声唱着歌,这种默契让他们心照不宣。就这样两人互相鼓励,互相安慰,塞巴斯汀的乐队开始走红。米娅也陆陆续续接到了一些大大小小的角色。看着梦想之门慢慢打开,他们也变得越来越忙碌。乐队巡演时,米娅站在台下看着万众瞩目的塞巴斯汀,喧闹的人群,闪烁的灯光,流行的爵士乐,一切看起来都那么美好……台上的男人意气风发、星光闪耀,米娅却觉得和他有了距离。晚上回到家的米娅得到了一个大大的惊喜。忙碌的他们很久都没有见面了,塞巴斯汀明天一早又要离开,他想要让米娅跟他一起,米娅却问他喜不喜欢现在弹奏的音乐?但此时的塞巴斯汀已经尝到了名利带来的甜头,他放弃了曾经的梦想,也放弃了曾经的坚持。他以为这些是米娅想要的:稳定的生活,不菲的收入,以及聚少离多的爱情。他说以前那些梦想太虚无缥缈,现在他需要成熟起来。最后激动的塞巴斯汀对米娅说,你喜欢以前不堪的我,是因为相比而言,那会让你感觉自我良好。这句伤人的话使得他们关系僵化,接着米娅一声不响的离开。第二天在给乐队拍宣传片的时候,摄影师让塞巴斯汀随便弹,于是他弹起了熟悉的曲子,接着他似乎想起了什么……再一次试镜被嘲笑后,米娅心情降至冰点。她准备返回老家,这个城市再没什么值得她留恋,梦想也好,爱人也罢,终究只是一场梦。面对挽留的塞巴斯汀,她再也无法忍受,哭着说她受够了。米娅回到了自己的家,塞巴斯汀也回到了乐队。\n\n一段时间后,塞巴斯汀出现在了米娅家门口。一个知名导演正在选角,试镜电话打给了塞巴斯汀,在塞巴斯汀的鼓励下,米娅鼓起勇气决定再试一次。导演让米娅随便讲一个故事,于是她用歌声讲述了自己的梦想。面试过后,他们来到天文馆门口,一起谈论着对未来的打算。他说你的梦想一定会实现的。秋天的洛杉矶,纯净而理性。他们的感情在这里开始,也在这里结束……\n\n五年后米娅成了知名演员,实现了自己的梦想。她事业有成,结婚生子,生活安稳,家庭美满。晚上米娅和丈夫遭遇堵车,路边散步时发现了一个酒吧。热闹的气氛吸引了米娅的注意,这正是当年塞巴斯汀带她去的酒吧。米娅发现酒吧的名字是她多年前为塞巴斯汀取的。这里只有纯粹的爵士乐,塞巴斯汀的梦想就是拥有这样一个地方。落坐以后,塞巴斯汀看到了台下的米娅,沉默片刻后,他弹起了那首熟悉的音乐。\n***\n*就像最初他们相见时那样,他们忘记了全世界。那个夜晚,那次初见,时间仿佛从未流逝。但这次不等她说完一句话,他就热烈的吻上了她唇。他毫无顾忌,她毫无防备,他们痴迷于彼此的味道。他们翩翩起舞,一路走向梦想,走进热恋,相互陪伴,相互成全,一起成长,一起狂欢。然后携手走进那片星空。他眼神温柔,她身姿婀娜。他们打造着自己的小窝,享受着二人世界。爱的结晶来到他们身边,放佛那些美好是和他一起度过的。直到今天这个夜晚,他们始终如一,此志不渝。*\n\n___\n曲终之后,她被拉回现实,然后和丈夫一起离开。在拐角处她转身,回头,两人遥遥相望,然后互相报以微笑。时隔经年,若我遇见你,我该如何与你致意?以眼泪,以沉默!\n\n我一同学特别喜欢这部电影,我知道那是因为她在电影中看到了自己。她的挚爱,七年长跑,可终究还是没能走到一起。或许这就是所谓的「在别人的故事里,流着自己的眼泪」。你是否也在无人的深夜,想起某个人,然后哭着醒来。看着周围的一切,熟悉又陌生,那个藏在心里的人啊,此时你身在哪里?可知有人还在深爱着你。虽然思念依然刻骨铭心,但你们之间却只剩下曾经。最怕的莫过于,在寂静无声的日子里,莫名其妙的,突然听懂了一首歌,只是你听到的不再是歌曲,而是人生。\n\n**「初识不知曲中意,再听已是曲中人」**……就像是做了一场梦,醒来之时万籁俱寂,物是人非事事休,欲语泪先流……年少时我们总想给最爱的TA更多,却忽略了TA最想要的只是真实的你。后来的我们什么都有了,但却没了我们。我还是我,你还是你,我们却不再是我们。……于是你只能在某个深夜,听着歌,流着泪,然后默默的在心里对那个人说,今夜,我不关心世界,今夜,我只想你。\n\n","slug":"摘录/爱乐之城——影评","published":1,"updated":"2019-08-14T06:31:50.000Z","_id":"cka1y596d000s4huu6s41uv14","comments":1,"layout":"post","photos":[],"link":"","content":"
\n \n我在凌晨三点醒来的夜里,想起已失去的你,曾经说着永远一起,现在却不再联系。如果当时的我们能少一些固执,是否会有更好的结局。
\n洛杉矶,华纳兄弟电影厂旁边的咖啡馆,明星来往不息。一身素雅的米娅是这里的收银员。她的梦想就是成为一个知名演员及编剧。所以她经常请假去试镜,跑遍大大小小的片场。虽然每次她都充满希望,但现实却是四处碰壁。这天,又一次遭受打击的米娅垂头丧气回到家中。洗去一身疲态后,她站在镜子面前暗自神伤哼起歌来 。这时室友火急火燎的出现,邀请她一起去参加派对。本来心情极度郁闷的米娅不想去凑热闹。经不住一帮二货室友的游说,精心打扮一番后她们就出发了。
\n洛杉矶的月色下,灯红酒绿,觥筹交错。但热闹是属于他们的,安静下来后她却感到愈加落寞。人潮中充斥着过剩的荷尔蒙,但却没有她想要的一双眼睛。世界瞬息万变,她却岿然不动。逃离狂欢派对后,违规停放的车子又被拖走。米娅只能走路回家,在安静的街头上。忽然一阵悠扬的钢琴声传来,如梦似幻,温润缠绵。米娅停下脚步,来到了一个毫不起眼的地下酒吧。一个优雅的男人坐在无人注意的角落里安静的弹奏着。此刻,全世界好像都暗了下来,只有他闪着耀眼的光芒。男人名叫塞巴斯汀,是一个爵士乐钢琴师。他对音乐有着自己独特的追求,不愿弹奏靡靡之音。可一曲弹罢,没有人为他鼓掌,他也被老板炒了鱿鱼。塞巴斯汀愤愤的离开,米娅鼓起勇气迎面走过去,想要认识这个让她着迷的男人。但一句话还没说完,男人就径直的走开了。米娅扑了个空,尴尬的站在那里不知所措。
\n生活依然按部就班,米娅依然忙着追逐她的梦想。一次派对上,米娅又遇上了塞巴斯汀。他加入了一个爵士乐队,但他们的演奏依旧没人捧场。为了惩罚这个「严肃」的音乐人,也为了报复上次给她造成的尴尬,米娅点了一首非常不严肃的音乐,她甚至随着音乐舞动起来。而塞巴斯汀却站在那里既尴尬又无奈。米娅的行为让塞巴斯汀想起了那晚的无礼。他向米娅道了歉,两人算是相识了。聚会结束后,米娅又找不到车子,于是两人在夜色下散步。洛杉矶的夜色此刻显得如此迷人,在暧昧的氛围中,他们默契地跳着属于他们的舞蹈。
\n第二天塞巴斯汀来到米娅工作的咖啡店,下班后他们一起在片场附近的街头闲聊,塞巴斯汀鼓励米娅给自己写剧本,而不是去演别人的剧本。自己给自己创造角色,说不定会有意想不到的效果。米娅也向塞巴斯汀坦白说,她讨厌爵士乐。于是固执的塞巴斯汀就带米娅来到一个演奏爵士乐的酒吧,他试图改变米娅对爵士乐的看法,向她解释爵士乐的起源。然而米娅还是不能理解,对音乐有执念的塞巴斯汀表示,他不想让爵士乐就此消亡,他想要创建自己的俱乐部,在那里只有纯粹的爵士乐,那是他一直以来的梦想。
\n这天又一次试镜失败的米娅心情沮丧,经过电影院门口时,她想起和塞巴斯汀的电影院之约。顿时心情变得愉悦,这时几个月不见一次的男友却来接她一起吃饭。餐桌上米娅心不在焉,男友却把她晾在一边,自顾自的和哥哥聊天。而在电影院门口的塞巴斯汀焦急的等着米娅,此时餐厅传来了熟悉的曲子,那个夜晚塞巴斯汀弹奏的正是这首曲子。米娅随即起身跑了出去,穿过色彩缤纷的霓虹灯,她找到了失落的塞巴斯汀,此时的两个人根本无心观看电影。他们指尖轻触,随后十指紧扣,接着互相靠近……但灯光却忽然打开,两人无奈的相视一笑。之后米娅带着塞巴斯汀来到天文馆,他们在浪漫的氛围中翩翩起舞,魅惑的蓝色星空下,两人仿佛和整个宇宙融为一体。
\n金风玉露终于相逢,热恋之吻甘之如饴。随后两人一边热恋,一边为各自的梦想努力。他们一起旅行、一起恶作剧,他们走遍大街小巷,他弹琴、她跳舞,在塞巴斯汀的影响下,米娅渐渐喜欢上了爵士乐。这天早上,塞巴斯汀无意中听到了米娅和她母亲的通话。米娅的母亲对她们的未来很担忧,因为塞巴斯汀没有稳定的工作。寥寥几句话,就将塞巴斯汀从梦中拉回现实。他接受了前乐队主唱的邀请,成为了他们的键盘手。但这就意味着塞巴斯汀必须放弃自己的坚持,跟着乐队的风格走。晚上回家的米娅,听到塞巴斯汀的琴声,感受到了他失落的情绪。无需过多的话语,米娅和着琴声唱着歌,这种默契让他们心照不宣。就这样两人互相鼓励,互相安慰,塞巴斯汀的乐队开始走红。米娅也陆陆续续接到了一些大大小小的角色。看着梦想之门慢慢打开,他们也变得越来越忙碌。乐队巡演时,米娅站在台下看着万众瞩目的塞巴斯汀,喧闹的人群,闪烁的灯光,流行的爵士乐,一切看起来都那么美好……台上的男人意气风发、星光闪耀,米娅却觉得和他有了距离。晚上回到家的米娅得到了一个大大的惊喜。忙碌的他们很久都没有见面了,塞巴斯汀明天一早又要离开,他想要让米娅跟他一起,米娅却问他喜不喜欢现在弹奏的音乐?但此时的塞巴斯汀已经尝到了名利带来的甜头,他放弃了曾经的梦想,也放弃了曾经的坚持。他以为这些是米娅想要的:稳定的生活,不菲的收入,以及聚少离多的爱情。他说以前那些梦想太虚无缥缈,现在他需要成熟起来。最后激动的塞巴斯汀对米娅说,你喜欢以前不堪的我,是因为相比而言,那会让你感觉自我良好。这句伤人的话使得他们关系僵化,接着米娅一声不响的离开。第二天在给乐队拍宣传片的时候,摄影师让塞巴斯汀随便弹,于是他弹起了熟悉的曲子,接着他似乎想起了什么……再一次试镜被嘲笑后,米娅心情降至冰点。她准备返回老家,这个城市再没什么值得她留恋,梦想也好,爱人也罢,终究只是一场梦。面对挽留的塞巴斯汀,她再也无法忍受,哭着说她受够了。米娅回到了自己的家,塞巴斯汀也回到了乐队。
\n一段时间后,塞巴斯汀出现在了米娅家门口。一个知名导演正在选角,试镜电话打给了塞巴斯汀,在塞巴斯汀的鼓励下,米娅鼓起勇气决定再试一次。导演让米娅随便讲一个故事,于是她用歌声讲述了自己的梦想。面试过后,他们来到天文馆门口,一起谈论着对未来的打算。他说你的梦想一定会实现的。秋天的洛杉矶,纯净而理性。他们的感情在这里开始,也在这里结束……
\n五年后米娅成了知名演员,实现了自己的梦想。她事业有成,结婚生子,生活安稳,家庭美满。晚上米娅和丈夫遭遇堵车,路边散步时发现了一个酒吧。热闹的气氛吸引了米娅的注意,这正是当年塞巴斯汀带她去的酒吧。米娅发现酒吧的名字是她多年前为塞巴斯汀取的。这里只有纯粹的爵士乐,塞巴斯汀的梦想就是拥有这样一个地方。落坐以后,塞巴斯汀看到了台下的米娅,沉默片刻后,他弹起了那首熟悉的音乐。
\n \n就像最初他们相见时那样,他们忘记了全世界。那个夜晚,那次初见,时间仿佛从未流逝。但这次不等她说完一句话,他就热烈的吻上了她唇。他毫无顾忌,她毫无防备,他们痴迷于彼此的味道。他们翩翩起舞,一路走向梦想,走进热恋,相互陪伴,相互成全,一起成长,一起狂欢。然后携手走进那片星空。他眼神温柔,她身姿婀娜。他们打造着自己的小窝,享受着二人世界。爱的结晶来到他们身边,放佛那些美好是和他一起度过的。直到今天这个夜晚,他们始终如一,此志不渝。
\n \n曲终之后,她被拉回现实,然后和丈夫一起离开。在拐角处她转身,回头,两人遥遥相望,然后互相报以微笑。时隔经年,若我遇见你,我该如何与你致意?以眼泪,以沉默!
\n我一同学特别喜欢这部电影,我知道那是因为她在电影中看到了自己。她的挚爱,七年长跑,可终究还是没能走到一起。或许这就是所谓的「在别人的故事里,流着自己的眼泪」。你是否也在无人的深夜,想起某个人,然后哭着醒来。看着周围的一切,熟悉又陌生,那个藏在心里的人啊,此时你身在哪里?可知有人还在深爱着你。虽然思念依然刻骨铭心,但你们之间却只剩下曾经。最怕的莫过于,在寂静无声的日子里,莫名其妙的,突然听懂了一首歌,只是你听到的不再是歌曲,而是人生。
\n「初识不知曲中意,再听已是曲中人」 ……就像是做了一场梦,醒来之时万籁俱寂,物是人非事事休,欲语泪先流……年少时我们总想给最爱的TA更多,却忽略了TA最想要的只是真实的你。后来的我们什么都有了,但却没了我们。我还是我,你还是你,我们却不再是我们。……于是你只能在某个深夜,听着歌,流着泪,然后默默的在心里对那个人说,今夜,我不关心世界,今夜,我只想你。
\n","site":{"data":{}},"excerpt":"
","more":"我在凌晨三点醒来的夜里,想起已失去的你,曾经说着永远一起,现在却不再联系。如果当时的我们能少一些固执,是否会有更好的结局。
\n洛杉矶,华纳兄弟电影厂旁边的咖啡馆,明星来往不息。一身素雅的米娅是这里的收银员。她的梦想就是成为一个知名演员及编剧。所以她经常请假去试镜,跑遍大大小小的片场。虽然每次她都充满希望,但现实却是四处碰壁。这天,又一次遭受打击的米娅垂头丧气回到家中。洗去一身疲态后,她站在镜子面前暗自神伤哼起歌来 。这时室友火急火燎的出现,邀请她一起去参加派对。本来心情极度郁闷的米娅不想去凑热闹。经不住一帮二货室友的游说,精心打扮一番后她们就出发了。
\n洛杉矶的月色下,灯红酒绿,觥筹交错。但热闹是属于他们的,安静下来后她却感到愈加落寞。人潮中充斥着过剩的荷尔蒙,但却没有她想要的一双眼睛。世界瞬息万变,她却岿然不动。逃离狂欢派对后,违规停放的车子又被拖走。米娅只能走路回家,在安静的街头上。忽然一阵悠扬的钢琴声传来,如梦似幻,温润缠绵。米娅停下脚步,来到了一个毫不起眼的地下酒吧。一个优雅的男人坐在无人注意的角落里安静的弹奏着。此刻,全世界好像都暗了下来,只有他闪着耀眼的光芒。男人名叫塞巴斯汀,是一个爵士乐钢琴师。他对音乐有着自己独特的追求,不愿弹奏靡靡之音。可一曲弹罢,没有人为他鼓掌,他也被老板炒了鱿鱼。塞巴斯汀愤愤的离开,米娅鼓起勇气迎面走过去,想要认识这个让她着迷的男人。但一句话还没说完,男人就径直的走开了。米娅扑了个空,尴尬的站在那里不知所措。
\n生活依然按部就班,米娅依然忙着追逐她的梦想。一次派对上,米娅又遇上了塞巴斯汀。他加入了一个爵士乐队,但他们的演奏依旧没人捧场。为了惩罚这个「严肃」的音乐人,也为了报复上次给她造成的尴尬,米娅点了一首非常不严肃的音乐,她甚至随着音乐舞动起来。而塞巴斯汀却站在那里既尴尬又无奈。米娅的行为让塞巴斯汀想起了那晚的无礼。他向米娅道了歉,两人算是相识了。聚会结束后,米娅又找不到车子,于是两人在夜色下散步。洛杉矶的夜色此刻显得如此迷人,在暧昧的氛围中,他们默契地跳着属于他们的舞蹈。
\n第二天塞巴斯汀来到米娅工作的咖啡店,下班后他们一起在片场附近的街头闲聊,塞巴斯汀鼓励米娅给自己写剧本,而不是去演别人的剧本。自己给自己创造角色,说不定会有意想不到的效果。米娅也向塞巴斯汀坦白说,她讨厌爵士乐。于是固执的塞巴斯汀就带米娅来到一个演奏爵士乐的酒吧,他试图改变米娅对爵士乐的看法,向她解释爵士乐的起源。然而米娅还是不能理解,对音乐有执念的塞巴斯汀表示,他不想让爵士乐就此消亡,他想要创建自己的俱乐部,在那里只有纯粹的爵士乐,那是他一直以来的梦想。
\n这天又一次试镜失败的米娅心情沮丧,经过电影院门口时,她想起和塞巴斯汀的电影院之约。顿时心情变得愉悦,这时几个月不见一次的男友却来接她一起吃饭。餐桌上米娅心不在焉,男友却把她晾在一边,自顾自的和哥哥聊天。而在电影院门口的塞巴斯汀焦急的等着米娅,此时餐厅传来了熟悉的曲子,那个夜晚塞巴斯汀弹奏的正是这首曲子。米娅随即起身跑了出去,穿过色彩缤纷的霓虹灯,她找到了失落的塞巴斯汀,此时的两个人根本无心观看电影。他们指尖轻触,随后十指紧扣,接着互相靠近……但灯光却忽然打开,两人无奈的相视一笑。之后米娅带着塞巴斯汀来到天文馆,他们在浪漫的氛围中翩翩起舞,魅惑的蓝色星空下,两人仿佛和整个宇宙融为一体。
\n金风玉露终于相逢,热恋之吻甘之如饴。随后两人一边热恋,一边为各自的梦想努力。他们一起旅行、一起恶作剧,他们走遍大街小巷,他弹琴、她跳舞,在塞巴斯汀的影响下,米娅渐渐喜欢上了爵士乐。这天早上,塞巴斯汀无意中听到了米娅和她母亲的通话。米娅的母亲对她们的未来很担忧,因为塞巴斯汀没有稳定的工作。寥寥几句话,就将塞巴斯汀从梦中拉回现实。他接受了前乐队主唱的邀请,成为了他们的键盘手。但这就意味着塞巴斯汀必须放弃自己的坚持,跟着乐队的风格走。晚上回家的米娅,听到塞巴斯汀的琴声,感受到了他失落的情绪。无需过多的话语,米娅和着琴声唱着歌,这种默契让他们心照不宣。就这样两人互相鼓励,互相安慰,塞巴斯汀的乐队开始走红。米娅也陆陆续续接到了一些大大小小的角色。看着梦想之门慢慢打开,他们也变得越来越忙碌。乐队巡演时,米娅站在台下看着万众瞩目的塞巴斯汀,喧闹的人群,闪烁的灯光,流行的爵士乐,一切看起来都那么美好……台上的男人意气风发、星光闪耀,米娅却觉得和他有了距离。晚上回到家的米娅得到了一个大大的惊喜。忙碌的他们很久都没有见面了,塞巴斯汀明天一早又要离开,他想要让米娅跟他一起,米娅却问他喜不喜欢现在弹奏的音乐?但此时的塞巴斯汀已经尝到了名利带来的甜头,他放弃了曾经的梦想,也放弃了曾经的坚持。他以为这些是米娅想要的:稳定的生活,不菲的收入,以及聚少离多的爱情。他说以前那些梦想太虚无缥缈,现在他需要成熟起来。最后激动的塞巴斯汀对米娅说,你喜欢以前不堪的我,是因为相比而言,那会让你感觉自我良好。这句伤人的话使得他们关系僵化,接着米娅一声不响的离开。第二天在给乐队拍宣传片的时候,摄影师让塞巴斯汀随便弹,于是他弹起了熟悉的曲子,接着他似乎想起了什么……再一次试镜被嘲笑后,米娅心情降至冰点。她准备返回老家,这个城市再没什么值得她留恋,梦想也好,爱人也罢,终究只是一场梦。面对挽留的塞巴斯汀,她再也无法忍受,哭着说她受够了。米娅回到了自己的家,塞巴斯汀也回到了乐队。
\n一段时间后,塞巴斯汀出现在了米娅家门口。一个知名导演正在选角,试镜电话打给了塞巴斯汀,在塞巴斯汀的鼓励下,米娅鼓起勇气决定再试一次。导演让米娅随便讲一个故事,于是她用歌声讲述了自己的梦想。面试过后,他们来到天文馆门口,一起谈论着对未来的打算。他说你的梦想一定会实现的。秋天的洛杉矶,纯净而理性。他们的感情在这里开始,也在这里结束……
\n五年后米娅成了知名演员,实现了自己的梦想。她事业有成,结婚生子,生活安稳,家庭美满。晚上米娅和丈夫遭遇堵车,路边散步时发现了一个酒吧。热闹的气氛吸引了米娅的注意,这正是当年塞巴斯汀带她去的酒吧。米娅发现酒吧的名字是她多年前为塞巴斯汀取的。这里只有纯粹的爵士乐,塞巴斯汀的梦想就是拥有这样一个地方。落坐以后,塞巴斯汀看到了台下的米娅,沉默片刻后,他弹起了那首熟悉的音乐。
\n \n就像最初他们相见时那样,他们忘记了全世界。那个夜晚,那次初见,时间仿佛从未流逝。但这次不等她说完一句话,他就热烈的吻上了她唇。他毫无顾忌,她毫无防备,他们痴迷于彼此的味道。他们翩翩起舞,一路走向梦想,走进热恋,相互陪伴,相互成全,一起成长,一起狂欢。然后携手走进那片星空。他眼神温柔,她身姿婀娜。他们打造着自己的小窝,享受着二人世界。爱的结晶来到他们身边,放佛那些美好是和他一起度过的。直到今天这个夜晚,他们始终如一,此志不渝。
\n \n曲终之后,她被拉回现实,然后和丈夫一起离开。在拐角处她转身,回头,两人遥遥相望,然后互相报以微笑。时隔经年,若我遇见你,我该如何与你致意?以眼泪,以沉默!
\n我一同学特别喜欢这部电影,我知道那是因为她在电影中看到了自己。她的挚爱,七年长跑,可终究还是没能走到一起。或许这就是所谓的「在别人的故事里,流着自己的眼泪」。你是否也在无人的深夜,想起某个人,然后哭着醒来。看着周围的一切,熟悉又陌生,那个藏在心里的人啊,此时你身在哪里?可知有人还在深爱着你。虽然思念依然刻骨铭心,但你们之间却只剩下曾经。最怕的莫过于,在寂静无声的日子里,莫名其妙的,突然听懂了一首歌,只是你听到的不再是歌曲,而是人生。
\n「初识不知曲中意,再听已是曲中人」 ……就像是做了一场梦,醒来之时万籁俱寂,物是人非事事休,欲语泪先流……年少时我们总想给最爱的TA更多,却忽略了TA最想要的只是真实的你。后来的我们什么都有了,但却没了我们。我还是我,你还是你,我们却不再是我们。……于是你只能在某个深夜,听着歌,流着泪,然后默默的在心里对那个人说,今夜,我不关心世界,今夜,我只想你。
"},{"title":"财富自由之路-李笑来","date":"2019-07-21T07:05:22.000Z","urlname":"road-to-asset-freedom","toc":true,"contentpw":123456,"_content":"\n\n![图片来自七牛](https://github.com/maiernte/img/raw/master/collection/photo.jpg)\n\n\n\n\n\n进度:10课\n\n# 哲学层面\n\n## 金钱、时间、注意力\n\n钱不是最重要,它可以再生。时间也不是,它本质上不属于你,你只能试着与它做朋友。注意力是自己可以做主的。**必须把宝贵的注意力全部放在自己身上**。放在自己的哪儿上?答:“**成长**”。不珍惜自己注意力的人最终注定是贫穷的,因为他们终生被收割,不可能有真正有价值的产出,怎么可能最终变得富有?另外,要放在自己的**真爱**上,以及对整个社会真正**有贡献**的事情上。(对于后两者,关注的焦点还是“成长”。)\n\n\n\n注意力才是你人生最宝贵的财富(不是金钱和时间),你的一切价值都是你的注意力的产出。\n\n> 俗三个大坑:1. 莫名其妙的凑热闹。2. 心急火燎的随大流。3. 操碎了别人的心 (*万众创业关你屁事,干好自己的活*)。\n\n\n\n金钱、时间和注意力的比较:$ 注意力 > 时间 > 金钱 $\n\n- 凡是可以用钱买的其实都是便宜的。\n\n- 凡是能用钱买来的时间就是便宜的。\n\n- 凡是能用时间换来的注意力持续就是有价值的。\n\n\n\n:question: 时间和金钱谁更重要。\n\n> 答案是`时间`。因为财富自由的定义就是“*不为生活需要出售时间*”。另外一个角度是,“*花钱买你的时间更划算*”。\n\n\n\n:question: 注意力和时间更重要。\n\n> 注意力是能让你有所产出的唯一资源!而时间不一定是你的,时间不会自动产出。(李笑来: 花大量时间与老婆沟通,陪伴,以便换来自己集中注意力工作的机会。)\n\n\n\n## 合作与信任\n\n追求百分百的***安全感***,肯定会把自己困在了永恒的当下。必须放弃一部分安全感,才能有深入的、长期的观察和思考。打破枷锁的方法:\n\n1. 放弃部分安全感,才能获得进步。\n2. 通过有效社交,补全主动放弃的安全感。\n\n\n\n:bookmark:【**合作**】 的本质是大家各自放弃一小部分安全感,并把那一部分安全感交给合作方来保障。\n\n:bookmark: 【**信任**】就是相信对方不会利用自己主动放弃的那一部分安全感。所谓缺乏安全感,就是不相信别人竟然可以不利用自己放弃的那一部分安全感,所以只能自己去搞定百分之百的安全感,让人心力交瘁。\n\n\n\n- 不要与缺乏安全感的人合作。尤其是婚姻。\n- 最大的勇敢,就是在孑然一身的时候,还勇于放弃部分安全感。“大智若愚”,大智更像是结果。若愚才是原因。\n- 将军赶路不打小鬼。\n\n\n\n## 活在真实中\n\n如果想活在真实的世界,就要勇于面对「真实」。要搞清楚以下几个概念。\n\n\n\n### 什么算落后\n\n1. 20%之后都是落后,因为世界20%的人占了有限资源的80%。在人工智能和新技术时代,可能1%之后都算落后。将来可能是千分之一,万分之一之后都算。\n\n2. 我们每个人都已经可以尽量感知到这个世界的全部。所以要对自己是否处在落后状态有清晰认知。\n\n3. 我们对知识的渴求已经变成害怕落后。这是种危机感和焦虑,但它能帮我们持续进步,摆脱落后。\n\n\n\n**乌比冈湖效应**:Lake Wobegon Effect 每个人都自认高于平均水平。\n\n**邓宁- 克鲁格效应** :Dunning-Kruger Effect 能力欠缺的人有一种虚幻的自我优越感,错误的认为自己比真实情况更加优秀。\n\n **麻烦守恒定律**:以前因为怕麻烦二省去的麻烦,在未来的某一天,或者未来的某一时刻,一定会以另一种形式呈现在你面前。麻烦不会无缘无故的消失,问题也不会无缘无故的解决。\n\n\n\n### 元认知能力\n\n:pencil:**指对自己的思考过程的认知和理解**。\n\n元认知能力起作用的三个步骤:\n\n1. 哦,原来我是这么想的。\n2. 嗯?我这么想难道是不对的吗?\n3. 啊!我应该这么想才对。。。。\n\n认知能力好比是马,而元认知能力是马车夫。所谓可以用来解放自己的“心智”,指的就是具备足够的元认知能力的大脑。人与人之间的技能差异,证据确凿来自于“刻意锻炼”。而一个人能做到“刻意锻炼”,唯一能够仰仗的就是元认知能力。\n\n- 元认知能力是一个人可拥有的最重要的能力。\n- 元认知能力不仅可以习得,还可以通过刻意训练长期持续发展。\n\n\n\n我们知道我们想要改变的,能够改变的,不是“现在的自己”,而是“将来的自己”。通过刻意练习提高元认知能力的三个方法:坐享、兴趣、反思。\n\n- **坐享**:可以增加大脑皮层的沟回。\n\n- **兴趣**:兴趣是最好的教学。\n\n- **反思**:每天花十分钟反思一下自己的思路和思考结果,琢磨一下自己想法有没有逻辑错误。不仅是元认知能力的刻意训练方式,也是调整情绪的根本。\n\n\n\n## 竞争力\n\n### 多维竞争\n\n😂 据说绝大多数人的幸福感是建立在比较之上的。有个玩笑:所谓的幸福就是自己的收入总比妹夫的收入多百分之二十。。。。。\n\n😂 一般人所谓的“成长”,就是不断的把别人比下去的过程。\n\n\n\n维度在生活上有三个体现:\n\n1. 生活是有多个维度的。\n2. 在多个维度打造竞争力。\n3. 至少在一个维度上足够突出。凡事都是有成本。处处平庸是不行的。\n\n\n\n面对维度,要有以下意识:\n\n- 单个维度,大家比的是长度,两个维度上大家比的是面积,三个维度上大家比的是体积。\n- 每次跨界,都是给自己拓展一个新的维度。\n- 对新知识保持开放态度。\n\n\n\n\n\n# 应用层面\n\n## 「活在未来」\n\n如何活在未来\n\n1. 对未来要有个预测\n2. 那个预测需要时间才能得到结果\n3. 笃信你的预测是正确的。\n4. 于是你按照那个预测的结果行动、选择、思考。\n5. 你终将走到那个结果出现的时刻\n6. 最终证明你的预测是正确的。\n7. 那么,由于你提前按未来正确的结果行动、选择、思考,于是,在相当长的时间里,你生活的一部分就是“活在未来”。\n\n## 人际关系的本质\n\n人际关系在本质上还是**交易**。明白这一点,就能更清楚的看清楚关于**贵人**的问题。 \n\n$ 求助别人 != 麻烦别人 $ \n\n求助不是低声下气的行为,而是一种交易。不仅如此,还是一种隐蔽的、`意义巨大的交易`。贵人之所以原因帮助你,是因为他已经看到你的价值。分清楚“求助”、“乞讨”、“添麻烦”、“占便宜”之间的区别。\n\n能够遇到贵人在一定程度上是偶然也是必然,它是自己生活的一面镜子。你是贵人,生活这面镜子就帮你找到更多的贵人。至于是偶然还是必然,其实你是控制不了的。自己首先得是个贵人,才能遇到贵人,甚至更多贵人。最不济,你也已经成为自己的贵人,而且不会轻易离你而去。“遇到贵人”这件事从来不是我们的目的,相反“成为贵人”倒是我们应该努力的方向。在你出手相助的那一瞬间,你已经得到了自然的回报。\n\n\n\n12条遇到贵人的原则:\n\n1. 乐观的人更容易成为他人的贵人\n2. 贵人更容易遇到贵人\n3. 能帮助他人进步,才是真正的贵人\n4. 优秀的、值得尊重的人,更容易获得帮助。\n5. 乐于分享的人容易获得帮助\n6. 不给他人制造负担的人容易获得帮助\n7. 不以求助为耻的人容易获得帮助\n8. 求助的时候不仅仅用金钱作为回报,帮助他人的时候也不应该收取金钱回报。\n9. 贵人不一定是牛人,贵人通常“以和为贵”。\n10. 很多时候,人们的成功,来源于大量的人**希望看到他成功**。反过来,如果大量的人不愿意看到某人成功,那么这个人真的很难获得所谓的“贵人相助”\n11. 正在做“正确”事情,更容易获得贵人相助。也就是所谓的“**得道多助**”。\n12. 活在未来的人更容易遇到贵人,因为别人能在他身上看到**未来**。\n\n\n\n\n\n## 资本的定义\n\n钱和资本不是一样的东西,正如砖头和房子不是一回事。钱要成为资本必须满足三个基本要素:\n\n1. 资金的金额大小\n2. 资金的使用时限\n3. 资金背后的智慧\n\n\n\n残酷的事实,大多数人其实不配站在资本之后。好消息是资本背后的实力是可以习得的。不能被自己心平气和判上无期徒刑的资金,就别假装资本出来混迹江湖。大多数人在股票市场上“投资”的不是资本,而是“装傻充愣的资金”而已。\n\n\n\n\n\n# 暂时不知道往哪里分\n\n- 好的工具应该让人离开它,而不是黏住它。\n- 你创造财富能力取决于你能给别人创造多少真正的价值。(只有你觉得有价值的话,是几乎没有什么意义的)。\n\n\n\n\n\n\n\n财富自由之路 - 思维导图 ([看全景导图请点击链接](uploads/road-to-asset-freedom-mindmap.html))\n\n","source":"_posts/读书笔记/财富自由之路-李笑来.md","raw":"---\ntitle: 财富自由之路-李笑来\ndate: 2019-07-21 09:05:22\nurlname: road-to-asset-freedom\ntoc: true\ncontentpw: 123456\ntags: [成长, 经济]\ncategories: 读书笔记\n\n---\n\n\n![图片来自七牛](https://github.com/maiernte/img/raw/master/collection/photo.jpg)\n\n\n\n\n\n进度:10课\n\n# 哲学层面\n\n## 金钱、时间、注意力\n\n钱不是最重要,它可以再生。时间也不是,它本质上不属于你,你只能试着与它做朋友。注意力是自己可以做主的。**必须把宝贵的注意力全部放在自己身上**。放在自己的哪儿上?答:“**成长**”。不珍惜自己注意力的人最终注定是贫穷的,因为他们终生被收割,不可能有真正有价值的产出,怎么可能最终变得富有?另外,要放在自己的**真爱**上,以及对整个社会真正**有贡献**的事情上。(对于后两者,关注的焦点还是“成长”。)\n\n\n\n注意力才是你人生最宝贵的财富(不是金钱和时间),你的一切价值都是你的注意力的产出。\n\n> 俗三个大坑:1. 莫名其妙的凑热闹。2. 心急火燎的随大流。3. 操碎了别人的心 (*万众创业关你屁事,干好自己的活*)。\n\n\n\n金钱、时间和注意力的比较:$ 注意力 > 时间 > 金钱 $\n\n- 凡是可以用钱买的其实都是便宜的。\n\n- 凡是能用钱买来的时间就是便宜的。\n\n- 凡是能用时间换来的注意力持续就是有价值的。\n\n\n\n:question: 时间和金钱谁更重要。\n\n> 答案是`时间`。因为财富自由的定义就是“*不为生活需要出售时间*”。另外一个角度是,“*花钱买你的时间更划算*”。\n\n\n\n:question: 注意力和时间更重要。\n\n> 注意力是能让你有所产出的唯一资源!而时间不一定是你的,时间不会自动产出。(李笑来: 花大量时间与老婆沟通,陪伴,以便换来自己集中注意力工作的机会。)\n\n\n\n## 合作与信任\n\n追求百分百的***安全感***,肯定会把自己困在了永恒的当下。必须放弃一部分安全感,才能有深入的、长期的观察和思考。打破枷锁的方法:\n\n1. 放弃部分安全感,才能获得进步。\n2. 通过有效社交,补全主动放弃的安全感。\n\n\n\n:bookmark:【**合作**】 的本质是大家各自放弃一小部分安全感,并把那一部分安全感交给合作方来保障。\n\n:bookmark: 【**信任**】就是相信对方不会利用自己主动放弃的那一部分安全感。所谓缺乏安全感,就是不相信别人竟然可以不利用自己放弃的那一部分安全感,所以只能自己去搞定百分之百的安全感,让人心力交瘁。\n\n\n\n- 不要与缺乏安全感的人合作。尤其是婚姻。\n- 最大的勇敢,就是在孑然一身的时候,还勇于放弃部分安全感。“大智若愚”,大智更像是结果。若愚才是原因。\n- 将军赶路不打小鬼。\n\n\n\n## 活在真实中\n\n如果想活在真实的世界,就要勇于面对「真实」。要搞清楚以下几个概念。\n\n\n\n### 什么算落后\n\n1. 20%之后都是落后,因为世界20%的人占了有限资源的80%。在人工智能和新技术时代,可能1%之后都算落后。将来可能是千分之一,万分之一之后都算。\n\n2. 我们每个人都已经可以尽量感知到这个世界的全部。所以要对自己是否处在落后状态有清晰认知。\n\n3. 我们对知识的渴求已经变成害怕落后。这是种危机感和焦虑,但它能帮我们持续进步,摆脱落后。\n\n\n\n**乌比冈湖效应**:Lake Wobegon Effect 每个人都自认高于平均水平。\n\n**邓宁- 克鲁格效应** :Dunning-Kruger Effect 能力欠缺的人有一种虚幻的自我优越感,错误的认为自己比真实情况更加优秀。\n\n **麻烦守恒定律**:以前因为怕麻烦二省去的麻烦,在未来的某一天,或者未来的某一时刻,一定会以另一种形式呈现在你面前。麻烦不会无缘无故的消失,问题也不会无缘无故的解决。\n\n\n\n### 元认知能力\n\n:pencil:**指对自己的思考过程的认知和理解**。\n\n元认知能力起作用的三个步骤:\n\n1. 哦,原来我是这么想的。\n2. 嗯?我这么想难道是不对的吗?\n3. 啊!我应该这么想才对。。。。\n\n认知能力好比是马,而元认知能力是马车夫。所谓可以用来解放自己的“心智”,指的就是具备足够的元认知能力的大脑。人与人之间的技能差异,证据确凿来自于“刻意锻炼”。而一个人能做到“刻意锻炼”,唯一能够仰仗的就是元认知能力。\n\n- 元认知能力是一个人可拥有的最重要的能力。\n- 元认知能力不仅可以习得,还可以通过刻意训练长期持续发展。\n\n\n\n我们知道我们想要改变的,能够改变的,不是“现在的自己”,而是“将来的自己”。通过刻意练习提高元认知能力的三个方法:坐享、兴趣、反思。\n\n- **坐享**:可以增加大脑皮层的沟回。\n\n- **兴趣**:兴趣是最好的教学。\n\n- **反思**:每天花十分钟反思一下自己的思路和思考结果,琢磨一下自己想法有没有逻辑错误。不仅是元认知能力的刻意训练方式,也是调整情绪的根本。\n\n\n\n## 竞争力\n\n### 多维竞争\n\n😂 据说绝大多数人的幸福感是建立在比较之上的。有个玩笑:所谓的幸福就是自己的收入总比妹夫的收入多百分之二十。。。。。\n\n😂 一般人所谓的“成长”,就是不断的把别人比下去的过程。\n\n\n\n维度在生活上有三个体现:\n\n1. 生活是有多个维度的。\n2. 在多个维度打造竞争力。\n3. 至少在一个维度上足够突出。凡事都是有成本。处处平庸是不行的。\n\n\n\n面对维度,要有以下意识:\n\n- 单个维度,大家比的是长度,两个维度上大家比的是面积,三个维度上大家比的是体积。\n- 每次跨界,都是给自己拓展一个新的维度。\n- 对新知识保持开放态度。\n\n\n\n\n\n# 应用层面\n\n## 「活在未来」\n\n如何活在未来\n\n1. 对未来要有个预测\n2. 那个预测需要时间才能得到结果\n3. 笃信你的预测是正确的。\n4. 于是你按照那个预测的结果行动、选择、思考。\n5. 你终将走到那个结果出现的时刻\n6. 最终证明你的预测是正确的。\n7. 那么,由于你提前按未来正确的结果行动、选择、思考,于是,在相当长的时间里,你生活的一部分就是“活在未来”。\n\n## 人际关系的本质\n\n人际关系在本质上还是**交易**。明白这一点,就能更清楚的看清楚关于**贵人**的问题。 \n\n$ 求助别人 != 麻烦别人 $ \n\n求助不是低声下气的行为,而是一种交易。不仅如此,还是一种隐蔽的、`意义巨大的交易`。贵人之所以原因帮助你,是因为他已经看到你的价值。分清楚“求助”、“乞讨”、“添麻烦”、“占便宜”之间的区别。\n\n能够遇到贵人在一定程度上是偶然也是必然,它是自己生活的一面镜子。你是贵人,生活这面镜子就帮你找到更多的贵人。至于是偶然还是必然,其实你是控制不了的。自己首先得是个贵人,才能遇到贵人,甚至更多贵人。最不济,你也已经成为自己的贵人,而且不会轻易离你而去。“遇到贵人”这件事从来不是我们的目的,相反“成为贵人”倒是我们应该努力的方向。在你出手相助的那一瞬间,你已经得到了自然的回报。\n\n\n\n12条遇到贵人的原则:\n\n1. 乐观的人更容易成为他人的贵人\n2. 贵人更容易遇到贵人\n3. 能帮助他人进步,才是真正的贵人\n4. 优秀的、值得尊重的人,更容易获得帮助。\n5. 乐于分享的人容易获得帮助\n6. 不给他人制造负担的人容易获得帮助\n7. 不以求助为耻的人容易获得帮助\n8. 求助的时候不仅仅用金钱作为回报,帮助他人的时候也不应该收取金钱回报。\n9. 贵人不一定是牛人,贵人通常“以和为贵”。\n10. 很多时候,人们的成功,来源于大量的人**希望看到他成功**。反过来,如果大量的人不愿意看到某人成功,那么这个人真的很难获得所谓的“贵人相助”\n11. 正在做“正确”事情,更容易获得贵人相助。也就是所谓的“**得道多助**”。\n12. 活在未来的人更容易遇到贵人,因为别人能在他身上看到**未来**。\n\n\n\n\n\n## 资本的定义\n\n钱和资本不是一样的东西,正如砖头和房子不是一回事。钱要成为资本必须满足三个基本要素:\n\n1. 资金的金额大小\n2. 资金的使用时限\n3. 资金背后的智慧\n\n\n\n残酷的事实,大多数人其实不配站在资本之后。好消息是资本背后的实力是可以习得的。不能被自己心平气和判上无期徒刑的资金,就别假装资本出来混迹江湖。大多数人在股票市场上“投资”的不是资本,而是“装傻充愣的资金”而已。\n\n\n\n\n\n# 暂时不知道往哪里分\n\n- 好的工具应该让人离开它,而不是黏住它。\n- 你创造财富能力取决于你能给别人创造多少真正的价值。(只有你觉得有价值的话,是几乎没有什么意义的)。\n\n\n\n\n\n\n\n财富自由之路 - 思维导图 ([看全景导图请点击链接](uploads/road-to-asset-freedom-mindmap.html))\n\n","slug":"读书笔记/财富自由之路-李笑来","published":1,"updated":"2019-08-14T06:36:09.000Z","_id":"cka1y596e000t4huuu6ed1frz","comments":1,"layout":"post","photos":[],"link":"","content":"进度:10课
\n哲学层面 \n金钱、时间、注意力 \n钱不是最重要,它可以再生。时间也不是,它本质上不属于你,你只能试着与它做朋友。注意力是自己可以做主的。必须把宝贵的注意力全部放在自己身上 。放在自己的哪儿上?答:“成长 ”。不珍惜自己注意力的人最终注定是贫穷的,因为他们终生被收割,不可能有真正有价值的产出,怎么可能最终变得富有?另外,要放在自己的真爱 上,以及对整个社会真正有贡献 的事情上。(对于后两者,关注的焦点还是“成长”。)
\n注意力才是你人生最宝贵的财富(不是金钱和时间),你的一切价值都是你的注意力的产出。
\n\n俗三个大坑:1. 莫名其妙的凑热闹。2. 心急火燎的随大流。3. 操碎了别人的心 (万众创业关你屁事,干好自己的活 )。
\n \n金钱、时间和注意力的比较:$ 注意力 > 时间 > 金钱 $
\n\n\n凡是可以用钱买的其实都是便宜的。
\n \n\n凡是能用钱买来的时间就是便宜的。
\n \n\n凡是能用时间换来的注意力持续就是有价值的。
\n \n \n:question: 时间和金钱谁更重要。
\n\n答案是时间
。因为财富自由的定义就是“不为生活需要出售时间 ”。另外一个角度是,“花钱买你的时间更划算 ”。
\n \n:question: 注意力和时间更重要。
\n\n注意力是能让你有所产出的唯一资源!而时间不一定是你的,时间不会自动产出。(李笑来: 花大量时间与老婆沟通,陪伴,以便换来自己集中注意力工作的机会。)
\n \n合作与信任 \n追求百分百的安全感 ,肯定会把自己困在了永恒的当下。必须放弃一部分安全感,才能有深入的、长期的观察和思考。打破枷锁的方法:
\n\n放弃部分安全感,才能获得进步。 \n通过有效社交,补全主动放弃的安全感。 \n \n:bookmark:【合作 】 的本质是大家各自放弃一小部分安全感,并把那一部分安全感交给合作方来保障。
\n:bookmark: 【信任 】就是相信对方不会利用自己主动放弃的那一部分安全感。所谓缺乏安全感,就是不相信别人竟然可以不利用自己放弃的那一部分安全感,所以只能自己去搞定百分之百的安全感,让人心力交瘁。
\n\n不要与缺乏安全感的人合作。尤其是婚姻。 \n最大的勇敢,就是在孑然一身的时候,还勇于放弃部分安全感。“大智若愚”,大智更像是结果。若愚才是原因。 \n将军赶路不打小鬼。 \n \n活在真实中 \n如果想活在真实的世界,就要勇于面对「真实」。要搞清楚以下几个概念。
\n什么算落后 \n\n\n20%之后都是落后,因为世界20%的人占了有限资源的80%。在人工智能和新技术时代,可能1%之后都算落后。将来可能是千分之一,万分之一之后都算。
\n \n\n我们每个人都已经可以尽量感知到这个世界的全部。所以要对自己是否处在落后状态有清晰认知。
\n \n\n我们对知识的渴求已经变成害怕落后。这是种危机感和焦虑,但它能帮我们持续进步,摆脱落后。
\n \n \n乌比冈湖效应 :Lake Wobegon Effect 每个人都自认高于平均水平。
\n邓宁- 克鲁格效应 :Dunning-Kruger Effect 能力欠缺的人有一种虚幻的自我优越感,错误的认为自己比真实情况更加优秀。
\n麻烦守恒定律 :以前因为怕麻烦二省去的麻烦,在未来的某一天,或者未来的某一时刻,一定会以另一种形式呈现在你面前。麻烦不会无缘无故的消失,问题也不会无缘无故的解决。
\n元认知能力 \n:pencil:指对自己的思考过程的认知和理解 。
\n元认知能力起作用的三个步骤:
\n\n哦,原来我是这么想的。 \n嗯?我这么想难道是不对的吗? \n啊!我应该这么想才对。。。。 \n \n认知能力好比是马,而元认知能力是马车夫。所谓可以用来解放自己的“心智”,指的就是具备足够的元认知能力的大脑。人与人之间的技能差异,证据确凿来自于“刻意锻炼”。而一个人能做到“刻意锻炼”,唯一能够仰仗的就是元认知能力。
\n\n元认知能力是一个人可拥有的最重要的能力。 \n元认知能力不仅可以习得,还可以通过刻意训练长期持续发展。 \n \n我们知道我们想要改变的,能够改变的,不是“现在的自己”,而是“将来的自己”。通过刻意练习提高元认知能力的三个方法:坐享、兴趣、反思。
\n\n竞争力 \n多维竞争 \n😂 据说绝大多数人的幸福感是建立在比较之上的。有个玩笑:所谓的幸福就是自己的收入总比妹夫的收入多百分之二十。。。。。
\n😂 一般人所谓的“成长”,就是不断的把别人比下去的过程。
\n维度在生活上有三个体现:
\n\n生活是有多个维度的。 \n在多个维度打造竞争力。 \n至少在一个维度上足够突出。凡事都是有成本。处处平庸是不行的。 \n \n面对维度,要有以下意识:
\n\n单个维度,大家比的是长度,两个维度上大家比的是面积,三个维度上大家比的是体积。 \n每次跨界,都是给自己拓展一个新的维度。 \n对新知识保持开放态度。 \n \n应用层面 \n「活在未来」 \n如何活在未来
\n\n对未来要有个预测 \n那个预测需要时间才能得到结果 \n笃信你的预测是正确的。 \n于是你按照那个预测的结果行动、选择、思考。 \n你终将走到那个结果出现的时刻 \n最终证明你的预测是正确的。 \n那么,由于你提前按未来正确的结果行动、选择、思考,于是,在相当长的时间里,你生活的一部分就是“活在未来”。 \n \n人际关系的本质 \n人际关系在本质上还是交易 。明白这一点,就能更清楚的看清楚关于贵人 的问题。
\n$ 求助别人 != 麻烦别人 $
\n求助不是低声下气的行为,而是一种交易。不仅如此,还是一种隐蔽的、意义巨大的交易
。贵人之所以原因帮助你,是因为他已经看到你的价值。分清楚“求助”、“乞讨”、“添麻烦”、“占便宜”之间的区别。
\n能够遇到贵人在一定程度上是偶然也是必然,它是自己生活的一面镜子。你是贵人,生活这面镜子就帮你找到更多的贵人。至于是偶然还是必然,其实你是控制不了的。自己首先得是个贵人,才能遇到贵人,甚至更多贵人。最不济,你也已经成为自己的贵人,而且不会轻易离你而去。“遇到贵人”这件事从来不是我们的目的,相反“成为贵人”倒是我们应该努力的方向。在你出手相助的那一瞬间,你已经得到了自然的回报。
\n12条遇到贵人的原则:
\n\n乐观的人更容易成为他人的贵人 \n贵人更容易遇到贵人 \n能帮助他人进步,才是真正的贵人 \n优秀的、值得尊重的人,更容易获得帮助。 \n乐于分享的人容易获得帮助 \n不给他人制造负担的人容易获得帮助 \n不以求助为耻的人容易获得帮助 \n求助的时候不仅仅用金钱作为回报,帮助他人的时候也不应该收取金钱回报。 \n贵人不一定是牛人,贵人通常“以和为贵”。 \n很多时候,人们的成功,来源于大量的人希望看到他成功 。反过来,如果大量的人不愿意看到某人成功,那么这个人真的很难获得所谓的“贵人相助” \n正在做“正确”事情,更容易获得贵人相助。也就是所谓的“得道多助 ”。 \n活在未来的人更容易遇到贵人,因为别人能在他身上看到未来 。 \n \n资本的定义 \n钱和资本不是一样的东西,正如砖头和房子不是一回事。钱要成为资本必须满足三个基本要素:
\n\n资金的金额大小 \n资金的使用时限 \n资金背后的智慧 \n \n残酷的事实,大多数人其实不配站在资本之后。好消息是资本背后的实力是可以习得的。不能被自己心平气和判上无期徒刑的资金,就别假装资本出来混迹江湖。大多数人在股票市场上“投资”的不是资本,而是“装傻充愣的资金”而已。
\n暂时不知道往哪里分 \n\n好的工具应该让人离开它,而不是黏住它。 \n你创造财富能力取决于你能给别人创造多少真正的价值。(只有你觉得有价值的话,是几乎没有什么意义的)。 \n \n财富自由之路 - 思维导图 (看全景导图请点击链接 )
\n","site":{"data":{}},"excerpt":"
","more":"进度:10课
\n哲学层面 \n金钱、时间、注意力 \n钱不是最重要,它可以再生。时间也不是,它本质上不属于你,你只能试着与它做朋友。注意力是自己可以做主的。必须把宝贵的注意力全部放在自己身上 。放在自己的哪儿上?答:“成长 ”。不珍惜自己注意力的人最终注定是贫穷的,因为他们终生被收割,不可能有真正有价值的产出,怎么可能最终变得富有?另外,要放在自己的真爱 上,以及对整个社会真正有贡献 的事情上。(对于后两者,关注的焦点还是“成长”。)
\n注意力才是你人生最宝贵的财富(不是金钱和时间),你的一切价值都是你的注意力的产出。
\n\n俗三个大坑:1. 莫名其妙的凑热闹。2. 心急火燎的随大流。3. 操碎了别人的心 (万众创业关你屁事,干好自己的活 )。
\n \n金钱、时间和注意力的比较:$ 注意力 > 时间 > 金钱 $
\n\n\n凡是可以用钱买的其实都是便宜的。
\n \n\n凡是能用钱买来的时间就是便宜的。
\n \n\n凡是能用时间换来的注意力持续就是有价值的。
\n \n \n:question: 时间和金钱谁更重要。
\n\n答案是时间
。因为财富自由的定义就是“不为生活需要出售时间 ”。另外一个角度是,“花钱买你的时间更划算 ”。
\n \n:question: 注意力和时间更重要。
\n\n注意力是能让你有所产出的唯一资源!而时间不一定是你的,时间不会自动产出。(李笑来: 花大量时间与老婆沟通,陪伴,以便换来自己集中注意力工作的机会。)
\n \n合作与信任 \n追求百分百的安全感 ,肯定会把自己困在了永恒的当下。必须放弃一部分安全感,才能有深入的、长期的观察和思考。打破枷锁的方法:
\n\n放弃部分安全感,才能获得进步。 \n通过有效社交,补全主动放弃的安全感。 \n \n:bookmark:【合作 】 的本质是大家各自放弃一小部分安全感,并把那一部分安全感交给合作方来保障。
\n:bookmark: 【信任 】就是相信对方不会利用自己主动放弃的那一部分安全感。所谓缺乏安全感,就是不相信别人竟然可以不利用自己放弃的那一部分安全感,所以只能自己去搞定百分之百的安全感,让人心力交瘁。
\n\n不要与缺乏安全感的人合作。尤其是婚姻。 \n最大的勇敢,就是在孑然一身的时候,还勇于放弃部分安全感。“大智若愚”,大智更像是结果。若愚才是原因。 \n将军赶路不打小鬼。 \n \n活在真实中 \n如果想活在真实的世界,就要勇于面对「真实」。要搞清楚以下几个概念。
\n什么算落后 \n\n\n20%之后都是落后,因为世界20%的人占了有限资源的80%。在人工智能和新技术时代,可能1%之后都算落后。将来可能是千分之一,万分之一之后都算。
\n \n\n我们每个人都已经可以尽量感知到这个世界的全部。所以要对自己是否处在落后状态有清晰认知。
\n \n\n我们对知识的渴求已经变成害怕落后。这是种危机感和焦虑,但它能帮我们持续进步,摆脱落后。
\n \n \n乌比冈湖效应 :Lake Wobegon Effect 每个人都自认高于平均水平。
\n邓宁- 克鲁格效应 :Dunning-Kruger Effect 能力欠缺的人有一种虚幻的自我优越感,错误的认为自己比真实情况更加优秀。
\n麻烦守恒定律 :以前因为怕麻烦二省去的麻烦,在未来的某一天,或者未来的某一时刻,一定会以另一种形式呈现在你面前。麻烦不会无缘无故的消失,问题也不会无缘无故的解决。
\n元认知能力 \n:pencil:指对自己的思考过程的认知和理解 。
\n元认知能力起作用的三个步骤:
\n\n哦,原来我是这么想的。 \n嗯?我这么想难道是不对的吗? \n啊!我应该这么想才对。。。。 \n \n认知能力好比是马,而元认知能力是马车夫。所谓可以用来解放自己的“心智”,指的就是具备足够的元认知能力的大脑。人与人之间的技能差异,证据确凿来自于“刻意锻炼”。而一个人能做到“刻意锻炼”,唯一能够仰仗的就是元认知能力。
\n\n元认知能力是一个人可拥有的最重要的能力。 \n元认知能力不仅可以习得,还可以通过刻意训练长期持续发展。 \n \n我们知道我们想要改变的,能够改变的,不是“现在的自己”,而是“将来的自己”。通过刻意练习提高元认知能力的三个方法:坐享、兴趣、反思。
\n\n竞争力 \n多维竞争 \n😂 据说绝大多数人的幸福感是建立在比较之上的。有个玩笑:所谓的幸福就是自己的收入总比妹夫的收入多百分之二十。。。。。
\n😂 一般人所谓的“成长”,就是不断的把别人比下去的过程。
\n维度在生活上有三个体现:
\n\n生活是有多个维度的。 \n在多个维度打造竞争力。 \n至少在一个维度上足够突出。凡事都是有成本。处处平庸是不行的。 \n \n面对维度,要有以下意识:
\n\n单个维度,大家比的是长度,两个维度上大家比的是面积,三个维度上大家比的是体积。 \n每次跨界,都是给自己拓展一个新的维度。 \n对新知识保持开放态度。 \n \n应用层面 \n「活在未来」 \n如何活在未来
\n\n对未来要有个预测 \n那个预测需要时间才能得到结果 \n笃信你的预测是正确的。 \n于是你按照那个预测的结果行动、选择、思考。 \n你终将走到那个结果出现的时刻 \n最终证明你的预测是正确的。 \n那么,由于你提前按未来正确的结果行动、选择、思考,于是,在相当长的时间里,你生活的一部分就是“活在未来”。 \n \n人际关系的本质 \n人际关系在本质上还是交易 。明白这一点,就能更清楚的看清楚关于贵人 的问题。
\n$ 求助别人 != 麻烦别人 $
\n求助不是低声下气的行为,而是一种交易。不仅如此,还是一种隐蔽的、意义巨大的交易
。贵人之所以原因帮助你,是因为他已经看到你的价值。分清楚“求助”、“乞讨”、“添麻烦”、“占便宜”之间的区别。
\n能够遇到贵人在一定程度上是偶然也是必然,它是自己生活的一面镜子。你是贵人,生活这面镜子就帮你找到更多的贵人。至于是偶然还是必然,其实你是控制不了的。自己首先得是个贵人,才能遇到贵人,甚至更多贵人。最不济,你也已经成为自己的贵人,而且不会轻易离你而去。“遇到贵人”这件事从来不是我们的目的,相反“成为贵人”倒是我们应该努力的方向。在你出手相助的那一瞬间,你已经得到了自然的回报。
\n12条遇到贵人的原则:
\n\n乐观的人更容易成为他人的贵人 \n贵人更容易遇到贵人 \n能帮助他人进步,才是真正的贵人 \n优秀的、值得尊重的人,更容易获得帮助。 \n乐于分享的人容易获得帮助 \n不给他人制造负担的人容易获得帮助 \n不以求助为耻的人容易获得帮助 \n求助的时候不仅仅用金钱作为回报,帮助他人的时候也不应该收取金钱回报。 \n贵人不一定是牛人,贵人通常“以和为贵”。 \n很多时候,人们的成功,来源于大量的人希望看到他成功 。反过来,如果大量的人不愿意看到某人成功,那么这个人真的很难获得所谓的“贵人相助” \n正在做“正确”事情,更容易获得贵人相助。也就是所谓的“得道多助 ”。 \n活在未来的人更容易遇到贵人,因为别人能在他身上看到未来 。 \n \n资本的定义 \n钱和资本不是一样的东西,正如砖头和房子不是一回事。钱要成为资本必须满足三个基本要素:
\n\n资金的金额大小 \n资金的使用时限 \n资金背后的智慧 \n \n残酷的事实,大多数人其实不配站在资本之后。好消息是资本背后的实力是可以习得的。不能被自己心平气和判上无期徒刑的资金,就别假装资本出来混迹江湖。大多数人在股票市场上“投资”的不是资本,而是“装傻充愣的资金”而已。
\n暂时不知道往哪里分 \n\n好的工具应该让人离开它,而不是黏住它。 \n你创造财富能力取决于你能给别人创造多少真正的价值。(只有你觉得有价值的话,是几乎没有什么意义的)。 \n \n财富自由之路 - 思维导图 (看全景导图请点击链接 )
\n "},{"title":"斯多葛主义手册","date":"2019-08-03T19:16:47.000Z","urlname":"storic-summary","toc":true,"_content":"\n\n\n![](https://github.com/maiernte/img/raw/master/collection/马可奥勒留.jpg)\n\n世间的事,有些可控,有些不可控。可控的有:观点,追求,欲望,和喜恶等。这些都是我们自己可以做出选择的。不可控的是身体,财物,名声,指令等。这些我们都无法选择。\n\n\n\n1. 世间的事,有些可控,有些不可控。可控的有:观点,追求,欲望,和喜恶等。这些都是我们自己可以做出选择的。不可控的是身体,财物,名声,指令等。这些我们都无法选择。\n\n 可控范围之内的东西在本质上是自由的,不被束缚、阻碍的。那些不可控的是虚的,是被奴役的,是我们受控于他人。记住,如果你觉得那些不可控的事物是自由的,那些受控于别人的也是你的,那么你就会被控制,被束缚。你会悲痛,你会受扰,你会指责神以及他人。但如果你只专注于你所能控制的,不被他人所拥有的干扰,那么就没有人能够影响你、束缚你。并且,你不会把过错推在他人身上。你不会去做违背你的意志的事。你不会有敌人。你也不会被伤害。\n\n 把这些当做你的目标,不让自己受那些没有意义的事诱惑,哪怕就一点点也不可以。放弃那些不可控的。如果你既想把握住可控的,又想拥有财富和权力,那么你将会什么都得不到,更不用说幸福和自由-因为幸福和自由是依赖于可控事物。\n\n 尽你最大的努力。这样你就可以对看似艰难的每一件事说:“你只不过是看起来艰难而已。” 然后比照你为自己制定的原则:这件事是否可控。如果在你控制范围之外,那么结果就无关乎于你。\n\n2. 欲望要求你去追求你想要的;厌恶则让你尽量避免你所讨厌的。但是,如果你得不到你想要的,你就会十分失望;如果你无法避免你所讨厌的,那你就会被厌恶扭曲。那么,如果你只讨厌那些在你出自本质所做选择的对立事物(即在你控制范围内你不会选择的事物),那么你就永远不需要去为之伤神。但是,如果你厌恶疾病、死亡、贫穷等你无法选择和改变的,那你就会被厌恶扭曲。不厌恶你所不能控制的,把厌恶限制在和你本性对立的事物。但是,就目前来说,压制你的欲望:因为如果你追求任何可控范围之外的事物,那你就必然会失望。不要轻易追求或者厌恶。\n\n3. 对于给你带来乐趣、有用处以及你十分喜欢的东西,从最不重要的事情开始,记得提醒你自己:他们真正的本质是什么。比如说,你很喜欢某个陶瓷杯,提醒你自己那只是因为你喜欢陶瓷杯而已,而不在于具体是哪个杯子。这样,如果杯子碎了,你也不会太伤心。当你亲吻你的家人时,提醒你自己你只是在亲吻和你亲近的人,这样当他们离世时,你就不会太难过。\n\n4. 当你做事情时,提醒你自己事情的本质是什么,你可能遇到哪些情况。比如说洗澡。在你洗澡之前,先想想洗澡时会发生哪些事情。有的人可能会把水溅得哪都是,有人可能会推娜,有人会诅咒,有人会偷东西。这样你在洗澡之前就可以跟自己说:“我现在要去洗澡了,任何这些事都有可能发生,但是这不是我能控制的,所以我会保持好的心态”。如果你以同样的心态去对待任何其他事情,你内心的平和就不会被打扰。因为你可以对自己说:”我希望的不仅仅是洗澡,还有不被任何意外困扰”。\n\n5. 人内心困扰时,通常不是被事物本身困扰,而是被他们自己的原则和概念所困扰。比如说,死亡本身并不可怕,要不然苏格拉底面临死亡时该有多么惊慌。我们对死亡的恐惧是源于我们对死亡的概念:死亡是可怕的。当我们被困扰、阻碍,伤心难过时,我们不要从事物本身或者他人身上找原因,而应该反省我们自己,还有我们的原则。一个还不通明的人,会把自己的糟糕情况怪罪于他人。一个刚刚开始学习处理这些情况的人,会从自己身上找原因。而一个已经通彻的人,既不会怪罪别人,也不会苛求自己。\n\n6. 不要为任何身外之物骄傲。一匹马可以因为自己的英爽豪气自豪,因为这是它本身拥有的。但是如果你因为拥有这样一匹马儿骄傲,事实上,你所自豪的,不过是马所拥有的好。那么,什么才是属于你的呢?你对事物的反应和态度。如果你对任何事物的形态的处之泰然,那么你就可以为你的理性自豪,因为这是属于你的。\n\n7. 想象以下情况:在一次航海旅行中,你的船抛锚靠岸了,你上岸去找水,途中你还捡了些你喜欢的贝壳,或者买个洋葱。但是,你的所有注意力必须一直集中在那艘船上,注意船长什么时候呼叫大家上船继续航行。当船长呼叫时,你必须立刻放下手中所有的东西,否则你就会被手脚捆绑得像只羊一样抛到船上。生活也是这样。生活给你老婆孩子,而不是洋葱贝壳。如果生活的船长呼叫了,你必须离开他们,立马跑到船上,而不是光顾着他们。如果你年纪大了,那你就不能离开船太远,否则你可能来不及回到船上。\n\n8. 不要苛求生活给予你所有你想要的,该发生的就会发生,随遇而安就好。\n\n9. 疾病影响的只是你的身体,而不是你选择的能力,除非那是你的选择。瘸的是腿,而不是你的脑子。不管发生什么事,只要这么跟自己说,你就会明白困难阻碍的是事物,而不是你。\n\n10. 对于每一件发生的事,检视你自己的能力,问你自己能够用哪些能力从每一件事情中获得什么适当的用处。遇到一个十分有吸引力的人时,你就会发现你的自控就是你的能力。当你痛苦时,你会发现自己的坚强。听到坏话时,你会发现自己的耐心。形成了这样的习惯之后,你就不会被事物的表象所影响。\n\n11. 不要说:“我失去了什么”。而应该说:“我归还了什么”。如果你的孩子或者妻子不幸离世了,你不是失去他们了,而是他们回归了。如果你的房子被夺走了,同样的,你是归还它们了。你可能会说:“可是那些夺走我房子的人是坏人!“。可是,给予你的人让谁来夺走你的房子真的那么重要吗?当你拥有时,照顾好它,但不要把它当做永久财物,就当自己是一个在那暂住的旅行者。\n\n12. 如果你想要提高自己,那就要拒绝以下思考方式:“如果我忽视那些琐事,那我就没有收入;如果我不更正我的仆人,那他们就会变坏”。 如果能够免于悲伤和恐惧,即使死于饥饿,那也比富得流油但备受精神困扰好得多。比起坏仆人,难道你的开心不是更重要吗?\n\n 如果你想要让自己变得更好,那就从小事做起。油洒了,酒被偷了,没关系,告诉你自己:“那只不过是平静生活的一点点代价。任何事情都是有代价的”。当你召集你的仆人时,他们可能不会来,也可能来了但是做的事情不合你意。但是他们并没有重要得以至于你必须打破自己的平静。\n\n13. 如果你想要让自己变得更好,那就不要在乎被人认为你是愚蠢的。不要希望别人认为你无所不知。即使你看上去好像对别人来说很重要,也不要被这种虚名欺骗。因为想要既保持内心平和又拥有外在事物是非常困难的。当你专注于二者之一时,你必然会忽略剩下的那个。\n\n14. 如果你希望你的家人、朋友长生不老,那是很愚蠢的想法。因为生死是在你控制范围之外的,是关乎他人的。同样地,如果你希望你的仆人不犯错,那你和傻瓜无异,因为你希望错误不是错误。但是,如果你希望你的欲望不带来失望,那是在你所能控制的范围之内的。练习控制你所能控制的。一个能够控制自己的喜恶的人,是自己生活的主人。这样的人,是真正自由的,不会成为被自己的欲望控制的奴隶,不会喜欢或者厌恶那些受别人控制的事物。\n\n15. 记住生活就像是一个晚餐聚会一样。如果别人递给你一盘食物,你应该伸出手去接,舀起适当份量给自己。如果盘子从你身边递过,不要试图去截取。如果还没轮到你这,不要起身去拿,而是等着别人递到你面前。用相同的态度对待孩子,配偶,财物,公共职位,这样你最终自然就会成为诸神宴会的搭档。如果你不仅能够做到这些,还能够做到不去拿你面前的食物,甚至是有能力拒绝你自己的欲望,这样你不仅仅能够成为诸神宴会的搭档,你还能进入他们的国度,成为为他们的一员。像Diogenes, Heraclitus这些人就是因为他们的尊贵行为而被视为神一般神圣。\n\n16. 当你看到别人因为孩子出国了,或者离世了,或者因为被琐事困扰而哭泣伤心时,不要让这些情感表象误导你。你必须作出自己的判断,明白他的伤心难过不是因为发生的事情本身,因为其他同样身处其中的人并没有受到同样的影响。他之所以受到那么大的困扰,是因为他自己本身对事情的判断。不要让自己和他一样受影响,不要让自己一样受困扰,不管是外在表现还是内心感受上。\n\n17. 记住你只是一出戏里的一个演员,而戏份角色并不是由你决定的。不管角色故事长短,不管你是一个穷人,瘸子,政府官员,或者是一个很私密的人,把你的角色演好演自然了就行。把分配给你的角色演好,那是你的本分;而到底是哪个角色,那不是由你决定的。\n\n18. 如果一只乌鸦向你预示不幸的事即将发生,不要让你内心的平静被这个表象破坏。要即刻告诉自己,“我不知道会发生什么,我不知道我的身体,财物,名声,或者家人会受什么影响,如果我愿意理性地去想,那么所有的这些恶兆就会变成幸运,因为我可以控制我要用什么态度去对待这些事情。不管发生什么,我都可以从中获得对我有利的。\n\n19. 如果你不去参与在你控制范围之外的任何战斗,那你就不会被打败。当你看到那些声名显赫,社会地位高,或者在任何方面做得很好的人,不要着急认为他们是开心的。因为如果我们清楚明白幸福只在于我们所能够控制的范围内,那我们就不会去羡慕或者攀比。不要向往头衔,而是要向往内心自由和平静。而要做到这一点,唯一的途径是要看轻我们控制范围之外的一切事物。\n\n20. 记住,那些对你出言不逊或者动手的人他本身并不是一种羞辱,而是代表那些言行的原则让你感觉到被羞辱。如果有人激怒你了,那是你对这种行为的观点激怒了你。试着不要被事情的表象牵引你的情感。给予适当的时间和稍作休息,你就能够很好地调整控制自己的情感。\n\n21. 把死亡和流放这些看似可怕的事看作是日常,那你就赢了。不用害怕贫穷,也不要刻意贪求任何东西。\n\n22. 如果你真心希望从哲学中获益,那么就要做好被众人嘲笑的准备:“她这是准备要成为一个哲学家呢”,“瞧她那傲慢的样子”……这个时候,你该做的,不是摆起傲慢的样子,而是要以神圣的态度忠诚于你所认定的,这样总有一天嘲笑你的人会开始尊敬你崇拜你。但是如果你被这些嘲笑打败,那你就成了双重的笑话。\n\n23. 如果你为了取悦他人而把你的注意力转移到那些外在的你无法控制的事物上,那么恭喜你,你已经成功地毁了你自己的生活了。\n\n24. 不要让以下这些思考方式困扰你:“我将会颜面丢尽,而且什么都不是。”耻辱是邪恶的,我们不应该被耻辱感所控制。因为获取权力或着被人嘲笑,这些都在你的控制范围之外。我们不用为任何在我们控制范围之外的事而感到耻辱。在我们可控范围之内,我们是自由的,能够左右我们自己的事情,是自我的主人-从这个角度看,我们永远不会什么都不是。“可是我帮不了我的朋友啊”,你可能会这么说。可是,怎么算是帮助朋友呢?你不能给他们钱,或者帮他们成为罗马市民。这些都是你所能控制范围之内的,是他们自己应该处理的事情。而且,如果这些都是你自己所没有的,那你怎么能够给他们呢?你可能会说:“如果我帮助他们获得这些的话,说不定我也能够得到一份呢“。如果我能够在保存我自己的尊严,忠诚和思想得到这些的话,请你帮我指明道路。可是如果你要我损害自己去得到你的利益,那这样的做法不仅不公平,而且愚蠢至极。\n\n25. 如果别人,而不是你,被邀请去宴会,或者被赞美,或者被别人咨询,不要懊恼。如果这些是好事,你应该为他人高兴。如果是坏事,不要难过。记住:这些都是在你的控制范围之外的,这样的对待一般是有对应的代价的。如果你不愿意付出这样的代价而希望得到同样的对待,那是不公平的。比如说别人用50分买了一棵生菜,但是你不想花这50分,那你就不应该认为拥有生菜的人占了便宜。那个人付出50分得到了生菜,而你口袋里还有那没有花出去的50分。同理,宴会邀请,别人的赞美,这些都是有代价的。如果你觉得这些对你是有价值的,那你就要付出同等的价值去拥有。如果你不付出就想要得到这些,那么你就是个贪得无厌的傻瓜。换个角度想,在决定不和别人交换价值的时候,你真的什么都没有得到吗?不是的:你得到了不赞美你不想赞美的人的自由,而且也不需要容忍你不想容忍的行为。\n\n26. 记住:很多事情不应该分自我或者他人。举个例子,如果邻居家的孩子打破了个杯子或者其他什么东西,我们很容易会说:“没事的,打碎东西是正常的”。可是如果打碎的是你自己的杯子呢?你应该作出相同的反应,而不是心生懊恼。同理,当别人的孩子或者妻子去世了,我们知道死亡的悲剧有时候是不可避免的,但是如果发生在我们自己身上的时候,我们却心如刀割。但是,我们应该清醒的认识到类似的悲剧不是我们能够控制的,我们所能够控制的是自己的情绪和反应,因为即使是发生在自己的身上,死亡本身并没有因为我们和死者的关系而变的更糟糕。\n\n27. 立一个靶子的目的,不是为了射失它(靶子的目的都是为了让人射中它)。那么同样的道理,大道创造出一个“恶”的事物(至少看起来如此),不是为了让人绕开它。\n\n28. 如果别人把你的身体交给一个路上遇到的陌生人,你一定会很生气。可是当别人用恶语打击你的时候,你为什么要心甘情愿地让别人控制你的思想,困惑你呢?\n\n29. 做每件事情都要考虑缘由和后果之后才能开始行动。如果你兴高采烈地开始而没有考虑可能发生的后果,当某些不好的后果开始出现时,你就会停止前进。拿参加奥林匹克赛事为例子。如果你把所有前因后果都考虑周全后认为参加比赛对你时有益的,那就全力以赴。其中,应该考虑的事情包括:你要遵守规则,节制饮食;不管风吹日晒雨淋都要雷打不动地坚持按时锻炼;你不能喝凉水活着酒。你必须全身心地、完全忘我地投入训练。而且,要做思想准备准备,比赛中你有可能会摔入沟里,胳膊脱臼,脚踝受伤,吃入尘土,被鞭打,甚至最后以失败告终。当你评估完所有的可能性之后还是一心想比赛,那就以战争的姿态出发。否则,你就会像孩子过家家一样:一会扮摔跤手,一会扮角斗士,一会吹喇叭,一会又想参加戏剧演出。这样,即使你什么都做过,但是什么都不是。就想大猩猩一样,你模仿你所看到的一切,不停地换把戏可能是一件好玩的事,但是你很快就玩腻了。你从来都没有完全投入过任何事,没有深度地从各个角度考虑和研究所有相关的细节,而只是凭一时的兴趣蜻蜓点水般地接触了各种行业。有些人当他们看到一个人说话的方式和Euphrates十分相像(不过事实上,真的有人能和Euphrates一样犀利善辩吗?),他们认为自己也能够拥有和哲学家一样的思想。但是,如果你细想一下,如果你想要成为一个摔跤手,那么你必须具备有摔跤手的宽阔肩膀,强有力的背部和大腿。但是每一个人的身体构造都是不一样的,你必须具有必备的条件才能称为一个好的摔跤手。同理,要想成为一个哲学家,你不能像你现在这样随心所欲地吃喝,不能让愤怒和不满控制你的情绪,你必须细心观察,劳作,控制自己的欲望,你必须能够忍受孤独,仆人的不敬,和外人的嘲笑,你必须能够接受别人在其他方面做得比你好。如果你已经仔细考虑过这些情况,如果你认为如果做到以上这些可以让你享受自由和宁静,那就尽情去追求哲学家的道路。如果你无法做到这些的话,那么就请不要继续,不要像孩子一样,一会试试做哲学,一会又想当政治家,演讲者,或者凯撒的军官。这些追求是互相矛盾的,你只能成为其中一个,不管做得好坏。你必须培养你自己内在的能够掌控行为的能力,或者外在的技术,二者只能取其一。\n\n30. 一个人的责任是由和别人的关系定义和衡量的。如果一个人拥有父亲的角色,那么他就有以下权利:他的孩子要照顾他,遵从他,耐心听他训话和教导。那如果他不是一个好父亲呢?他也应该受到同等的对待,因为我们无法选择我们的父亲是谁。不管他做了什么,你必须做到让自己心安理得。因为只有你能够让别人的行为伤害到你。当你觉得你被伤害了,那你就会被伤害。如果你以同样的逻辑看待邻居,市民,将军这些不同的角色,你就能够清楚地明白与这些角色相对应的社会责任。","source":"_posts/读书笔记/斯多葛主义手册.md","raw":"---\ntitle: 斯多葛主义手册\ndate: 2019-08-03 21:16:47\nurlname: storic-summary\ntoc: true\ntags: [哲理, 书籍]\ncategories: [读书笔记]\n---\n\n\n\n![](https://github.com/maiernte/img/raw/master/collection/马可奥勒留.jpg)\n\n世间的事,有些可控,有些不可控。可控的有:观点,追求,欲望,和喜恶等。这些都是我们自己可以做出选择的。不可控的是身体,财物,名声,指令等。这些我们都无法选择。\n\n\n\n1. 世间的事,有些可控,有些不可控。可控的有:观点,追求,欲望,和喜恶等。这些都是我们自己可以做出选择的。不可控的是身体,财物,名声,指令等。这些我们都无法选择。\n\n 可控范围之内的东西在本质上是自由的,不被束缚、阻碍的。那些不可控的是虚的,是被奴役的,是我们受控于他人。记住,如果你觉得那些不可控的事物是自由的,那些受控于别人的也是你的,那么你就会被控制,被束缚。你会悲痛,你会受扰,你会指责神以及他人。但如果你只专注于你所能控制的,不被他人所拥有的干扰,那么就没有人能够影响你、束缚你。并且,你不会把过错推在他人身上。你不会去做违背你的意志的事。你不会有敌人。你也不会被伤害。\n\n 把这些当做你的目标,不让自己受那些没有意义的事诱惑,哪怕就一点点也不可以。放弃那些不可控的。如果你既想把握住可控的,又想拥有财富和权力,那么你将会什么都得不到,更不用说幸福和自由-因为幸福和自由是依赖于可控事物。\n\n 尽你最大的努力。这样你就可以对看似艰难的每一件事说:“你只不过是看起来艰难而已。” 然后比照你为自己制定的原则:这件事是否可控。如果在你控制范围之外,那么结果就无关乎于你。\n\n2. 欲望要求你去追求你想要的;厌恶则让你尽量避免你所讨厌的。但是,如果你得不到你想要的,你就会十分失望;如果你无法避免你所讨厌的,那你就会被厌恶扭曲。那么,如果你只讨厌那些在你出自本质所做选择的对立事物(即在你控制范围内你不会选择的事物),那么你就永远不需要去为之伤神。但是,如果你厌恶疾病、死亡、贫穷等你无法选择和改变的,那你就会被厌恶扭曲。不厌恶你所不能控制的,把厌恶限制在和你本性对立的事物。但是,就目前来说,压制你的欲望:因为如果你追求任何可控范围之外的事物,那你就必然会失望。不要轻易追求或者厌恶。\n\n3. 对于给你带来乐趣、有用处以及你十分喜欢的东西,从最不重要的事情开始,记得提醒你自己:他们真正的本质是什么。比如说,你很喜欢某个陶瓷杯,提醒你自己那只是因为你喜欢陶瓷杯而已,而不在于具体是哪个杯子。这样,如果杯子碎了,你也不会太伤心。当你亲吻你的家人时,提醒你自己你只是在亲吻和你亲近的人,这样当他们离世时,你就不会太难过。\n\n4. 当你做事情时,提醒你自己事情的本质是什么,你可能遇到哪些情况。比如说洗澡。在你洗澡之前,先想想洗澡时会发生哪些事情。有的人可能会把水溅得哪都是,有人可能会推娜,有人会诅咒,有人会偷东西。这样你在洗澡之前就可以跟自己说:“我现在要去洗澡了,任何这些事都有可能发生,但是这不是我能控制的,所以我会保持好的心态”。如果你以同样的心态去对待任何其他事情,你内心的平和就不会被打扰。因为你可以对自己说:”我希望的不仅仅是洗澡,还有不被任何意外困扰”。\n\n5. 人内心困扰时,通常不是被事物本身困扰,而是被他们自己的原则和概念所困扰。比如说,死亡本身并不可怕,要不然苏格拉底面临死亡时该有多么惊慌。我们对死亡的恐惧是源于我们对死亡的概念:死亡是可怕的。当我们被困扰、阻碍,伤心难过时,我们不要从事物本身或者他人身上找原因,而应该反省我们自己,还有我们的原则。一个还不通明的人,会把自己的糟糕情况怪罪于他人。一个刚刚开始学习处理这些情况的人,会从自己身上找原因。而一个已经通彻的人,既不会怪罪别人,也不会苛求自己。\n\n6. 不要为任何身外之物骄傲。一匹马可以因为自己的英爽豪气自豪,因为这是它本身拥有的。但是如果你因为拥有这样一匹马儿骄傲,事实上,你所自豪的,不过是马所拥有的好。那么,什么才是属于你的呢?你对事物的反应和态度。如果你对任何事物的形态的处之泰然,那么你就可以为你的理性自豪,因为这是属于你的。\n\n7. 想象以下情况:在一次航海旅行中,你的船抛锚靠岸了,你上岸去找水,途中你还捡了些你喜欢的贝壳,或者买个洋葱。但是,你的所有注意力必须一直集中在那艘船上,注意船长什么时候呼叫大家上船继续航行。当船长呼叫时,你必须立刻放下手中所有的东西,否则你就会被手脚捆绑得像只羊一样抛到船上。生活也是这样。生活给你老婆孩子,而不是洋葱贝壳。如果生活的船长呼叫了,你必须离开他们,立马跑到船上,而不是光顾着他们。如果你年纪大了,那你就不能离开船太远,否则你可能来不及回到船上。\n\n8. 不要苛求生活给予你所有你想要的,该发生的就会发生,随遇而安就好。\n\n9. 疾病影响的只是你的身体,而不是你选择的能力,除非那是你的选择。瘸的是腿,而不是你的脑子。不管发生什么事,只要这么跟自己说,你就会明白困难阻碍的是事物,而不是你。\n\n10. 对于每一件发生的事,检视你自己的能力,问你自己能够用哪些能力从每一件事情中获得什么适当的用处。遇到一个十分有吸引力的人时,你就会发现你的自控就是你的能力。当你痛苦时,你会发现自己的坚强。听到坏话时,你会发现自己的耐心。形成了这样的习惯之后,你就不会被事物的表象所影响。\n\n11. 不要说:“我失去了什么”。而应该说:“我归还了什么”。如果你的孩子或者妻子不幸离世了,你不是失去他们了,而是他们回归了。如果你的房子被夺走了,同样的,你是归还它们了。你可能会说:“可是那些夺走我房子的人是坏人!“。可是,给予你的人让谁来夺走你的房子真的那么重要吗?当你拥有时,照顾好它,但不要把它当做永久财物,就当自己是一个在那暂住的旅行者。\n\n12. 如果你想要提高自己,那就要拒绝以下思考方式:“如果我忽视那些琐事,那我就没有收入;如果我不更正我的仆人,那他们就会变坏”。 如果能够免于悲伤和恐惧,即使死于饥饿,那也比富得流油但备受精神困扰好得多。比起坏仆人,难道你的开心不是更重要吗?\n\n 如果你想要让自己变得更好,那就从小事做起。油洒了,酒被偷了,没关系,告诉你自己:“那只不过是平静生活的一点点代价。任何事情都是有代价的”。当你召集你的仆人时,他们可能不会来,也可能来了但是做的事情不合你意。但是他们并没有重要得以至于你必须打破自己的平静。\n\n13. 如果你想要让自己变得更好,那就不要在乎被人认为你是愚蠢的。不要希望别人认为你无所不知。即使你看上去好像对别人来说很重要,也不要被这种虚名欺骗。因为想要既保持内心平和又拥有外在事物是非常困难的。当你专注于二者之一时,你必然会忽略剩下的那个。\n\n14. 如果你希望你的家人、朋友长生不老,那是很愚蠢的想法。因为生死是在你控制范围之外的,是关乎他人的。同样地,如果你希望你的仆人不犯错,那你和傻瓜无异,因为你希望错误不是错误。但是,如果你希望你的欲望不带来失望,那是在你所能控制的范围之内的。练习控制你所能控制的。一个能够控制自己的喜恶的人,是自己生活的主人。这样的人,是真正自由的,不会成为被自己的欲望控制的奴隶,不会喜欢或者厌恶那些受别人控制的事物。\n\n15. 记住生活就像是一个晚餐聚会一样。如果别人递给你一盘食物,你应该伸出手去接,舀起适当份量给自己。如果盘子从你身边递过,不要试图去截取。如果还没轮到你这,不要起身去拿,而是等着别人递到你面前。用相同的态度对待孩子,配偶,财物,公共职位,这样你最终自然就会成为诸神宴会的搭档。如果你不仅能够做到这些,还能够做到不去拿你面前的食物,甚至是有能力拒绝你自己的欲望,这样你不仅仅能够成为诸神宴会的搭档,你还能进入他们的国度,成为为他们的一员。像Diogenes, Heraclitus这些人就是因为他们的尊贵行为而被视为神一般神圣。\n\n16. 当你看到别人因为孩子出国了,或者离世了,或者因为被琐事困扰而哭泣伤心时,不要让这些情感表象误导你。你必须作出自己的判断,明白他的伤心难过不是因为发生的事情本身,因为其他同样身处其中的人并没有受到同样的影响。他之所以受到那么大的困扰,是因为他自己本身对事情的判断。不要让自己和他一样受影响,不要让自己一样受困扰,不管是外在表现还是内心感受上。\n\n17. 记住你只是一出戏里的一个演员,而戏份角色并不是由你决定的。不管角色故事长短,不管你是一个穷人,瘸子,政府官员,或者是一个很私密的人,把你的角色演好演自然了就行。把分配给你的角色演好,那是你的本分;而到底是哪个角色,那不是由你决定的。\n\n18. 如果一只乌鸦向你预示不幸的事即将发生,不要让你内心的平静被这个表象破坏。要即刻告诉自己,“我不知道会发生什么,我不知道我的身体,财物,名声,或者家人会受什么影响,如果我愿意理性地去想,那么所有的这些恶兆就会变成幸运,因为我可以控制我要用什么态度去对待这些事情。不管发生什么,我都可以从中获得对我有利的。\n\n19. 如果你不去参与在你控制范围之外的任何战斗,那你就不会被打败。当你看到那些声名显赫,社会地位高,或者在任何方面做得很好的人,不要着急认为他们是开心的。因为如果我们清楚明白幸福只在于我们所能够控制的范围内,那我们就不会去羡慕或者攀比。不要向往头衔,而是要向往内心自由和平静。而要做到这一点,唯一的途径是要看轻我们控制范围之外的一切事物。\n\n20. 记住,那些对你出言不逊或者动手的人他本身并不是一种羞辱,而是代表那些言行的原则让你感觉到被羞辱。如果有人激怒你了,那是你对这种行为的观点激怒了你。试着不要被事情的表象牵引你的情感。给予适当的时间和稍作休息,你就能够很好地调整控制自己的情感。\n\n21. 把死亡和流放这些看似可怕的事看作是日常,那你就赢了。不用害怕贫穷,也不要刻意贪求任何东西。\n\n22. 如果你真心希望从哲学中获益,那么就要做好被众人嘲笑的准备:“她这是准备要成为一个哲学家呢”,“瞧她那傲慢的样子”……这个时候,你该做的,不是摆起傲慢的样子,而是要以神圣的态度忠诚于你所认定的,这样总有一天嘲笑你的人会开始尊敬你崇拜你。但是如果你被这些嘲笑打败,那你就成了双重的笑话。\n\n23. 如果你为了取悦他人而把你的注意力转移到那些外在的你无法控制的事物上,那么恭喜你,你已经成功地毁了你自己的生活了。\n\n24. 不要让以下这些思考方式困扰你:“我将会颜面丢尽,而且什么都不是。”耻辱是邪恶的,我们不应该被耻辱感所控制。因为获取权力或着被人嘲笑,这些都在你的控制范围之外。我们不用为任何在我们控制范围之外的事而感到耻辱。在我们可控范围之内,我们是自由的,能够左右我们自己的事情,是自我的主人-从这个角度看,我们永远不会什么都不是。“可是我帮不了我的朋友啊”,你可能会这么说。可是,怎么算是帮助朋友呢?你不能给他们钱,或者帮他们成为罗马市民。这些都是你所能控制范围之内的,是他们自己应该处理的事情。而且,如果这些都是你自己所没有的,那你怎么能够给他们呢?你可能会说:“如果我帮助他们获得这些的话,说不定我也能够得到一份呢“。如果我能够在保存我自己的尊严,忠诚和思想得到这些的话,请你帮我指明道路。可是如果你要我损害自己去得到你的利益,那这样的做法不仅不公平,而且愚蠢至极。\n\n25. 如果别人,而不是你,被邀请去宴会,或者被赞美,或者被别人咨询,不要懊恼。如果这些是好事,你应该为他人高兴。如果是坏事,不要难过。记住:这些都是在你的控制范围之外的,这样的对待一般是有对应的代价的。如果你不愿意付出这样的代价而希望得到同样的对待,那是不公平的。比如说别人用50分买了一棵生菜,但是你不想花这50分,那你就不应该认为拥有生菜的人占了便宜。那个人付出50分得到了生菜,而你口袋里还有那没有花出去的50分。同理,宴会邀请,别人的赞美,这些都是有代价的。如果你觉得这些对你是有价值的,那你就要付出同等的价值去拥有。如果你不付出就想要得到这些,那么你就是个贪得无厌的傻瓜。换个角度想,在决定不和别人交换价值的时候,你真的什么都没有得到吗?不是的:你得到了不赞美你不想赞美的人的自由,而且也不需要容忍你不想容忍的行为。\n\n26. 记住:很多事情不应该分自我或者他人。举个例子,如果邻居家的孩子打破了个杯子或者其他什么东西,我们很容易会说:“没事的,打碎东西是正常的”。可是如果打碎的是你自己的杯子呢?你应该作出相同的反应,而不是心生懊恼。同理,当别人的孩子或者妻子去世了,我们知道死亡的悲剧有时候是不可避免的,但是如果发生在我们自己身上的时候,我们却心如刀割。但是,我们应该清醒的认识到类似的悲剧不是我们能够控制的,我们所能够控制的是自己的情绪和反应,因为即使是发生在自己的身上,死亡本身并没有因为我们和死者的关系而变的更糟糕。\n\n27. 立一个靶子的目的,不是为了射失它(靶子的目的都是为了让人射中它)。那么同样的道理,大道创造出一个“恶”的事物(至少看起来如此),不是为了让人绕开它。\n\n28. 如果别人把你的身体交给一个路上遇到的陌生人,你一定会很生气。可是当别人用恶语打击你的时候,你为什么要心甘情愿地让别人控制你的思想,困惑你呢?\n\n29. 做每件事情都要考虑缘由和后果之后才能开始行动。如果你兴高采烈地开始而没有考虑可能发生的后果,当某些不好的后果开始出现时,你就会停止前进。拿参加奥林匹克赛事为例子。如果你把所有前因后果都考虑周全后认为参加比赛对你时有益的,那就全力以赴。其中,应该考虑的事情包括:你要遵守规则,节制饮食;不管风吹日晒雨淋都要雷打不动地坚持按时锻炼;你不能喝凉水活着酒。你必须全身心地、完全忘我地投入训练。而且,要做思想准备准备,比赛中你有可能会摔入沟里,胳膊脱臼,脚踝受伤,吃入尘土,被鞭打,甚至最后以失败告终。当你评估完所有的可能性之后还是一心想比赛,那就以战争的姿态出发。否则,你就会像孩子过家家一样:一会扮摔跤手,一会扮角斗士,一会吹喇叭,一会又想参加戏剧演出。这样,即使你什么都做过,但是什么都不是。就想大猩猩一样,你模仿你所看到的一切,不停地换把戏可能是一件好玩的事,但是你很快就玩腻了。你从来都没有完全投入过任何事,没有深度地从各个角度考虑和研究所有相关的细节,而只是凭一时的兴趣蜻蜓点水般地接触了各种行业。有些人当他们看到一个人说话的方式和Euphrates十分相像(不过事实上,真的有人能和Euphrates一样犀利善辩吗?),他们认为自己也能够拥有和哲学家一样的思想。但是,如果你细想一下,如果你想要成为一个摔跤手,那么你必须具备有摔跤手的宽阔肩膀,强有力的背部和大腿。但是每一个人的身体构造都是不一样的,你必须具有必备的条件才能称为一个好的摔跤手。同理,要想成为一个哲学家,你不能像你现在这样随心所欲地吃喝,不能让愤怒和不满控制你的情绪,你必须细心观察,劳作,控制自己的欲望,你必须能够忍受孤独,仆人的不敬,和外人的嘲笑,你必须能够接受别人在其他方面做得比你好。如果你已经仔细考虑过这些情况,如果你认为如果做到以上这些可以让你享受自由和宁静,那就尽情去追求哲学家的道路。如果你无法做到这些的话,那么就请不要继续,不要像孩子一样,一会试试做哲学,一会又想当政治家,演讲者,或者凯撒的军官。这些追求是互相矛盾的,你只能成为其中一个,不管做得好坏。你必须培养你自己内在的能够掌控行为的能力,或者外在的技术,二者只能取其一。\n\n30. 一个人的责任是由和别人的关系定义和衡量的。如果一个人拥有父亲的角色,那么他就有以下权利:他的孩子要照顾他,遵从他,耐心听他训话和教导。那如果他不是一个好父亲呢?他也应该受到同等的对待,因为我们无法选择我们的父亲是谁。不管他做了什么,你必须做到让自己心安理得。因为只有你能够让别人的行为伤害到你。当你觉得你被伤害了,那你就会被伤害。如果你以同样的逻辑看待邻居,市民,将军这些不同的角色,你就能够清楚地明白与这些角色相对应的社会责任。","slug":"读书笔记/斯多葛主义手册","published":1,"updated":"2019-08-14T06:31:28.000Z","_id":"cka1y597o00124huu1wtf5iy9","comments":1,"layout":"post","photos":[],"link":"","content":"\n\n世间的事,有些可控,有些不可控。可控的有:观点,追求,欲望,和喜恶等。这些都是我们自己可以做出选择的。不可控的是身体,财物,名声,指令等。这些我们都无法选择。
\n可控范围之内的东西在本质上是自由的,不被束缚、阻碍的。那些不可控的是虚的,是被奴役的,是我们受控于他人。记住,如果你觉得那些不可控的事物是自由的,那些受控于别人的也是你的,那么你就会被控制,被束缚。你会悲痛,你会受扰,你会指责神以及他人。但如果你只专注于你所能控制的,不被他人所拥有的干扰,那么就没有人能够影响你、束缚你。并且,你不会把过错推在他人身上。你不会去做违背你的意志的事。你不会有敌人。你也不会被伤害。
\n把这些当做你的目标,不让自己受那些没有意义的事诱惑,哪怕就一点点也不可以。放弃那些不可控的。如果你既想把握住可控的,又想拥有财富和权力,那么你将会什么都得不到,更不用说幸福和自由-因为幸福和自由是依赖于可控事物。
\n尽你最大的努力。这样你就可以对看似艰难的每一件事说:“你只不过是看起来艰难而已。” 然后比照你为自己制定的原则:这件事是否可控。如果在你控制范围之外,那么结果就无关乎于你。
\n \n\n欲望要求你去追求你想要的;厌恶则让你尽量避免你所讨厌的。但是,如果你得不到你想要的,你就会十分失望;如果你无法避免你所讨厌的,那你就会被厌恶扭曲。那么,如果你只讨厌那些在你出自本质所做选择的对立事物(即在你控制范围内你不会选择的事物),那么你就永远不需要去为之伤神。但是,如果你厌恶疾病、死亡、贫穷等你无法选择和改变的,那你就会被厌恶扭曲。不厌恶你所不能控制的,把厌恶限制在和你本性对立的事物。但是,就目前来说,压制你的欲望:因为如果你追求任何可控范围之外的事物,那你就必然会失望。不要轻易追求或者厌恶。
\n \n\n对于给你带来乐趣、有用处以及你十分喜欢的东西,从最不重要的事情开始,记得提醒你自己:他们真正的本质是什么。比如说,你很喜欢某个陶瓷杯,提醒你自己那只是因为你喜欢陶瓷杯而已,而不在于具体是哪个杯子。这样,如果杯子碎了,你也不会太伤心。当你亲吻你的家人时,提醒你自己你只是在亲吻和你亲近的人,这样当他们离世时,你就不会太难过。
\n \n\n当你做事情时,提醒你自己事情的本质是什么,你可能遇到哪些情况。比如说洗澡。在你洗澡之前,先想想洗澡时会发生哪些事情。有的人可能会把水溅得哪都是,有人可能会推娜,有人会诅咒,有人会偷东西。这样你在洗澡之前就可以跟自己说:“我现在要去洗澡了,任何这些事都有可能发生,但是这不是我能控制的,所以我会保持好的心态”。如果你以同样的心态去对待任何其他事情,你内心的平和就不会被打扰。因为你可以对自己说:”我希望的不仅仅是洗澡,还有不被任何意外困扰”。
\n \n\n人内心困扰时,通常不是被事物本身困扰,而是被他们自己的原则和概念所困扰。比如说,死亡本身并不可怕,要不然苏格拉底面临死亡时该有多么惊慌。我们对死亡的恐惧是源于我们对死亡的概念:死亡是可怕的。当我们被困扰、阻碍,伤心难过时,我们不要从事物本身或者他人身上找原因,而应该反省我们自己,还有我们的原则。一个还不通明的人,会把自己的糟糕情况怪罪于他人。一个刚刚开始学习处理这些情况的人,会从自己身上找原因。而一个已经通彻的人,既不会怪罪别人,也不会苛求自己。
\n \n\n不要为任何身外之物骄傲。一匹马可以因为自己的英爽豪气自豪,因为这是它本身拥有的。但是如果你因为拥有这样一匹马儿骄傲,事实上,你所自豪的,不过是马所拥有的好。那么,什么才是属于你的呢?你对事物的反应和态度。如果你对任何事物的形态的处之泰然,那么你就可以为你的理性自豪,因为这是属于你的。
\n \n\n想象以下情况:在一次航海旅行中,你的船抛锚靠岸了,你上岸去找水,途中你还捡了些你喜欢的贝壳,或者买个洋葱。但是,你的所有注意力必须一直集中在那艘船上,注意船长什么时候呼叫大家上船继续航行。当船长呼叫时,你必须立刻放下手中所有的东西,否则你就会被手脚捆绑得像只羊一样抛到船上。生活也是这样。生活给你老婆孩子,而不是洋葱贝壳。如果生活的船长呼叫了,你必须离开他们,立马跑到船上,而不是光顾着他们。如果你年纪大了,那你就不能离开船太远,否则你可能来不及回到船上。
\n \n\n不要苛求生活给予你所有你想要的,该发生的就会发生,随遇而安就好。
\n \n\n疾病影响的只是你的身体,而不是你选择的能力,除非那是你的选择。瘸的是腿,而不是你的脑子。不管发生什么事,只要这么跟自己说,你就会明白困难阻碍的是事物,而不是你。
\n \n\n对于每一件发生的事,检视你自己的能力,问你自己能够用哪些能力从每一件事情中获得什么适当的用处。遇到一个十分有吸引力的人时,你就会发现你的自控就是你的能力。当你痛苦时,你会发现自己的坚强。听到坏话时,你会发现自己的耐心。形成了这样的习惯之后,你就不会被事物的表象所影响。
\n \n\n不要说:“我失去了什么”。而应该说:“我归还了什么”。如果你的孩子或者妻子不幸离世了,你不是失去他们了,而是他们回归了。如果你的房子被夺走了,同样的,你是归还它们了。你可能会说:“可是那些夺走我房子的人是坏人!“。可是,给予你的人让谁来夺走你的房子真的那么重要吗?当你拥有时,照顾好它,但不要把它当做永久财物,就当自己是一个在那暂住的旅行者。
\n \n\n如果你想要提高自己,那就要拒绝以下思考方式:“如果我忽视那些琐事,那我就没有收入;如果我不更正我的仆人,那他们就会变坏”。 如果能够免于悲伤和恐惧,即使死于饥饿,那也比富得流油但备受精神困扰好得多。比起坏仆人,难道你的开心不是更重要吗?
\n如果你想要让自己变得更好,那就从小事做起。油洒了,酒被偷了,没关系,告诉你自己:“那只不过是平静生活的一点点代价。任何事情都是有代价的”。当你召集你的仆人时,他们可能不会来,也可能来了但是做的事情不合你意。但是他们并没有重要得以至于你必须打破自己的平静。
\n \n\n如果你想要让自己变得更好,那就不要在乎被人认为你是愚蠢的。不要希望别人认为你无所不知。即使你看上去好像对别人来说很重要,也不要被这种虚名欺骗。因为想要既保持内心平和又拥有外在事物是非常困难的。当你专注于二者之一时,你必然会忽略剩下的那个。
\n \n\n如果你希望你的家人、朋友长生不老,那是很愚蠢的想法。因为生死是在你控制范围之外的,是关乎他人的。同样地,如果你希望你的仆人不犯错,那你和傻瓜无异,因为你希望错误不是错误。但是,如果你希望你的欲望不带来失望,那是在你所能控制的范围之内的。练习控制你所能控制的。一个能够控制自己的喜恶的人,是自己生活的主人。这样的人,是真正自由的,不会成为被自己的欲望控制的奴隶,不会喜欢或者厌恶那些受别人控制的事物。
\n \n\n记住生活就像是一个晚餐聚会一样。如果别人递给你一盘食物,你应该伸出手去接,舀起适当份量给自己。如果盘子从你身边递过,不要试图去截取。如果还没轮到你这,不要起身去拿,而是等着别人递到你面前。用相同的态度对待孩子,配偶,财物,公共职位,这样你最终自然就会成为诸神宴会的搭档。如果你不仅能够做到这些,还能够做到不去拿你面前的食物,甚至是有能力拒绝你自己的欲望,这样你不仅仅能够成为诸神宴会的搭档,你还能进入他们的国度,成为为他们的一员。像Diogenes, Heraclitus这些人就是因为他们的尊贵行为而被视为神一般神圣。
\n \n\n当你看到别人因为孩子出国了,或者离世了,或者因为被琐事困扰而哭泣伤心时,不要让这些情感表象误导你。你必须作出自己的判断,明白他的伤心难过不是因为发生的事情本身,因为其他同样身处其中的人并没有受到同样的影响。他之所以受到那么大的困扰,是因为他自己本身对事情的判断。不要让自己和他一样受影响,不要让自己一样受困扰,不管是外在表现还是内心感受上。
\n \n\n记住你只是一出戏里的一个演员,而戏份角色并不是由你决定的。不管角色故事长短,不管你是一个穷人,瘸子,政府官员,或者是一个很私密的人,把你的角色演好演自然了就行。把分配给你的角色演好,那是你的本分;而到底是哪个角色,那不是由你决定的。
\n \n\n如果一只乌鸦向你预示不幸的事即将发生,不要让你内心的平静被这个表象破坏。要即刻告诉自己,“我不知道会发生什么,我不知道我的身体,财物,名声,或者家人会受什么影响,如果我愿意理性地去想,那么所有的这些恶兆就会变成幸运,因为我可以控制我要用什么态度去对待这些事情。不管发生什么,我都可以从中获得对我有利的。
\n \n\n如果你不去参与在你控制范围之外的任何战斗,那你就不会被打败。当你看到那些声名显赫,社会地位高,或者在任何方面做得很好的人,不要着急认为他们是开心的。因为如果我们清楚明白幸福只在于我们所能够控制的范围内,那我们就不会去羡慕或者攀比。不要向往头衔,而是要向往内心自由和平静。而要做到这一点,唯一的途径是要看轻我们控制范围之外的一切事物。
\n \n\n记住,那些对你出言不逊或者动手的人他本身并不是一种羞辱,而是代表那些言行的原则让你感觉到被羞辱。如果有人激怒你了,那是你对这种行为的观点激怒了你。试着不要被事情的表象牵引你的情感。给予适当的时间和稍作休息,你就能够很好地调整控制自己的情感。
\n \n\n把死亡和流放这些看似可怕的事看作是日常,那你就赢了。不用害怕贫穷,也不要刻意贪求任何东西。
\n \n\n如果你真心希望从哲学中获益,那么就要做好被众人嘲笑的准备:“她这是准备要成为一个哲学家呢”,“瞧她那傲慢的样子”……这个时候,你该做的,不是摆起傲慢的样子,而是要以神圣的态度忠诚于你所认定的,这样总有一天嘲笑你的人会开始尊敬你崇拜你。但是如果你被这些嘲笑打败,那你就成了双重的笑话。
\n \n\n如果你为了取悦他人而把你的注意力转移到那些外在的你无法控制的事物上,那么恭喜你,你已经成功地毁了你自己的生活了。
\n \n\n不要让以下这些思考方式困扰你:“我将会颜面丢尽,而且什么都不是。”耻辱是邪恶的,我们不应该被耻辱感所控制。因为获取权力或着被人嘲笑,这些都在你的控制范围之外。我们不用为任何在我们控制范围之外的事而感到耻辱。在我们可控范围之内,我们是自由的,能够左右我们自己的事情,是自我的主人-从这个角度看,我们永远不会什么都不是。“可是我帮不了我的朋友啊”,你可能会这么说。可是,怎么算是帮助朋友呢?你不能给他们钱,或者帮他们成为罗马市民。这些都是你所能控制范围之内的,是他们自己应该处理的事情。而且,如果这些都是你自己所没有的,那你怎么能够给他们呢?你可能会说:“如果我帮助他们获得这些的话,说不定我也能够得到一份呢“。如果我能够在保存我自己的尊严,忠诚和思想得到这些的话,请你帮我指明道路。可是如果你要我损害自己去得到你的利益,那这样的做法不仅不公平,而且愚蠢至极。
\n \n\n如果别人,而不是你,被邀请去宴会,或者被赞美,或者被别人咨询,不要懊恼。如果这些是好事,你应该为他人高兴。如果是坏事,不要难过。记住:这些都是在你的控制范围之外的,这样的对待一般是有对应的代价的。如果你不愿意付出这样的代价而希望得到同样的对待,那是不公平的。比如说别人用50分买了一棵生菜,但是你不想花这50分,那你就不应该认为拥有生菜的人占了便宜。那个人付出50分得到了生菜,而你口袋里还有那没有花出去的50分。同理,宴会邀请,别人的赞美,这些都是有代价的。如果你觉得这些对你是有价值的,那你就要付出同等的价值去拥有。如果你不付出就想要得到这些,那么你就是个贪得无厌的傻瓜。换个角度想,在决定不和别人交换价值的时候,你真的什么都没有得到吗?不是的:你得到了不赞美你不想赞美的人的自由,而且也不需要容忍你不想容忍的行为。
\n \n\n记住:很多事情不应该分自我或者他人。举个例子,如果邻居家的孩子打破了个杯子或者其他什么东西,我们很容易会说:“没事的,打碎东西是正常的”。可是如果打碎的是你自己的杯子呢?你应该作出相同的反应,而不是心生懊恼。同理,当别人的孩子或者妻子去世了,我们知道死亡的悲剧有时候是不可避免的,但是如果发生在我们自己身上的时候,我们却心如刀割。但是,我们应该清醒的认识到类似的悲剧不是我们能够控制的,我们所能够控制的是自己的情绪和反应,因为即使是发生在自己的身上,死亡本身并没有因为我们和死者的关系而变的更糟糕。
\n \n\n立一个靶子的目的,不是为了射失它(靶子的目的都是为了让人射中它)。那么同样的道理,大道创造出一个“恶”的事物(至少看起来如此),不是为了让人绕开它。
\n \n\n如果别人把你的身体交给一个路上遇到的陌生人,你一定会很生气。可是当别人用恶语打击你的时候,你为什么要心甘情愿地让别人控制你的思想,困惑你呢?
\n \n\n做每件事情都要考虑缘由和后果之后才能开始行动。如果你兴高采烈地开始而没有考虑可能发生的后果,当某些不好的后果开始出现时,你就会停止前进。拿参加奥林匹克赛事为例子。如果你把所有前因后果都考虑周全后认为参加比赛对你时有益的,那就全力以赴。其中,应该考虑的事情包括:你要遵守规则,节制饮食;不管风吹日晒雨淋都要雷打不动地坚持按时锻炼;你不能喝凉水活着酒。你必须全身心地、完全忘我地投入训练。而且,要做思想准备准备,比赛中你有可能会摔入沟里,胳膊脱臼,脚踝受伤,吃入尘土,被鞭打,甚至最后以失败告终。当你评估完所有的可能性之后还是一心想比赛,那就以战争的姿态出发。否则,你就会像孩子过家家一样:一会扮摔跤手,一会扮角斗士,一会吹喇叭,一会又想参加戏剧演出。这样,即使你什么都做过,但是什么都不是。就想大猩猩一样,你模仿你所看到的一切,不停地换把戏可能是一件好玩的事,但是你很快就玩腻了。你从来都没有完全投入过任何事,没有深度地从各个角度考虑和研究所有相关的细节,而只是凭一时的兴趣蜻蜓点水般地接触了各种行业。有些人当他们看到一个人说话的方式和Euphrates十分相像(不过事实上,真的有人能和Euphrates一样犀利善辩吗?),他们认为自己也能够拥有和哲学家一样的思想。但是,如果你细想一下,如果你想要成为一个摔跤手,那么你必须具备有摔跤手的宽阔肩膀,强有力的背部和大腿。但是每一个人的身体构造都是不一样的,你必须具有必备的条件才能称为一个好的摔跤手。同理,要想成为一个哲学家,你不能像你现在这样随心所欲地吃喝,不能让愤怒和不满控制你的情绪,你必须细心观察,劳作,控制自己的欲望,你必须能够忍受孤独,仆人的不敬,和外人的嘲笑,你必须能够接受别人在其他方面做得比你好。如果你已经仔细考虑过这些情况,如果你认为如果做到以上这些可以让你享受自由和宁静,那就尽情去追求哲学家的道路。如果你无法做到这些的话,那么就请不要继续,不要像孩子一样,一会试试做哲学,一会又想当政治家,演讲者,或者凯撒的军官。这些追求是互相矛盾的,你只能成为其中一个,不管做得好坏。你必须培养你自己内在的能够掌控行为的能力,或者外在的技术,二者只能取其一。
\n \n\n一个人的责任是由和别人的关系定义和衡量的。如果一个人拥有父亲的角色,那么他就有以下权利:他的孩子要照顾他,遵从他,耐心听他训话和教导。那如果他不是一个好父亲呢?他也应该受到同等的对待,因为我们无法选择我们的父亲是谁。不管他做了什么,你必须做到让自己心安理得。因为只有你能够让别人的行为伤害到你。当你觉得你被伤害了,那你就会被伤害。如果你以同样的逻辑看待邻居,市民,将军这些不同的角色,你就能够清楚地明白与这些角色相对应的社会责任。
\n \n ","site":{"data":{}},"excerpt":"
\n世间的事,有些可控,有些不可控。可控的有:观点,追求,欲望,和喜恶等。这些都是我们自己可以做出选择的。不可控的是身体,财物,名声,指令等。这些我们都无法选择。
","more":"\n\n世间的事,有些可控,有些不可控。可控的有:观点,追求,欲望,和喜恶等。这些都是我们自己可以做出选择的。不可控的是身体,财物,名声,指令等。这些我们都无法选择。
\n可控范围之内的东西在本质上是自由的,不被束缚、阻碍的。那些不可控的是虚的,是被奴役的,是我们受控于他人。记住,如果你觉得那些不可控的事物是自由的,那些受控于别人的也是你的,那么你就会被控制,被束缚。你会悲痛,你会受扰,你会指责神以及他人。但如果你只专注于你所能控制的,不被他人所拥有的干扰,那么就没有人能够影响你、束缚你。并且,你不会把过错推在他人身上。你不会去做违背你的意志的事。你不会有敌人。你也不会被伤害。
\n把这些当做你的目标,不让自己受那些没有意义的事诱惑,哪怕就一点点也不可以。放弃那些不可控的。如果你既想把握住可控的,又想拥有财富和权力,那么你将会什么都得不到,更不用说幸福和自由-因为幸福和自由是依赖于可控事物。
\n尽你最大的努力。这样你就可以对看似艰难的每一件事说:“你只不过是看起来艰难而已。” 然后比照你为自己制定的原则:这件事是否可控。如果在你控制范围之外,那么结果就无关乎于你。
\n \n\n欲望要求你去追求你想要的;厌恶则让你尽量避免你所讨厌的。但是,如果你得不到你想要的,你就会十分失望;如果你无法避免你所讨厌的,那你就会被厌恶扭曲。那么,如果你只讨厌那些在你出自本质所做选择的对立事物(即在你控制范围内你不会选择的事物),那么你就永远不需要去为之伤神。但是,如果你厌恶疾病、死亡、贫穷等你无法选择和改变的,那你就会被厌恶扭曲。不厌恶你所不能控制的,把厌恶限制在和你本性对立的事物。但是,就目前来说,压制你的欲望:因为如果你追求任何可控范围之外的事物,那你就必然会失望。不要轻易追求或者厌恶。
\n \n\n对于给你带来乐趣、有用处以及你十分喜欢的东西,从最不重要的事情开始,记得提醒你自己:他们真正的本质是什么。比如说,你很喜欢某个陶瓷杯,提醒你自己那只是因为你喜欢陶瓷杯而已,而不在于具体是哪个杯子。这样,如果杯子碎了,你也不会太伤心。当你亲吻你的家人时,提醒你自己你只是在亲吻和你亲近的人,这样当他们离世时,你就不会太难过。
\n \n\n当你做事情时,提醒你自己事情的本质是什么,你可能遇到哪些情况。比如说洗澡。在你洗澡之前,先想想洗澡时会发生哪些事情。有的人可能会把水溅得哪都是,有人可能会推娜,有人会诅咒,有人会偷东西。这样你在洗澡之前就可以跟自己说:“我现在要去洗澡了,任何这些事都有可能发生,但是这不是我能控制的,所以我会保持好的心态”。如果你以同样的心态去对待任何其他事情,你内心的平和就不会被打扰。因为你可以对自己说:”我希望的不仅仅是洗澡,还有不被任何意外困扰”。
\n \n\n人内心困扰时,通常不是被事物本身困扰,而是被他们自己的原则和概念所困扰。比如说,死亡本身并不可怕,要不然苏格拉底面临死亡时该有多么惊慌。我们对死亡的恐惧是源于我们对死亡的概念:死亡是可怕的。当我们被困扰、阻碍,伤心难过时,我们不要从事物本身或者他人身上找原因,而应该反省我们自己,还有我们的原则。一个还不通明的人,会把自己的糟糕情况怪罪于他人。一个刚刚开始学习处理这些情况的人,会从自己身上找原因。而一个已经通彻的人,既不会怪罪别人,也不会苛求自己。
\n \n\n不要为任何身外之物骄傲。一匹马可以因为自己的英爽豪气自豪,因为这是它本身拥有的。但是如果你因为拥有这样一匹马儿骄傲,事实上,你所自豪的,不过是马所拥有的好。那么,什么才是属于你的呢?你对事物的反应和态度。如果你对任何事物的形态的处之泰然,那么你就可以为你的理性自豪,因为这是属于你的。
\n \n\n想象以下情况:在一次航海旅行中,你的船抛锚靠岸了,你上岸去找水,途中你还捡了些你喜欢的贝壳,或者买个洋葱。但是,你的所有注意力必须一直集中在那艘船上,注意船长什么时候呼叫大家上船继续航行。当船长呼叫时,你必须立刻放下手中所有的东西,否则你就会被手脚捆绑得像只羊一样抛到船上。生活也是这样。生活给你老婆孩子,而不是洋葱贝壳。如果生活的船长呼叫了,你必须离开他们,立马跑到船上,而不是光顾着他们。如果你年纪大了,那你就不能离开船太远,否则你可能来不及回到船上。
\n \n\n不要苛求生活给予你所有你想要的,该发生的就会发生,随遇而安就好。
\n \n\n疾病影响的只是你的身体,而不是你选择的能力,除非那是你的选择。瘸的是腿,而不是你的脑子。不管发生什么事,只要这么跟自己说,你就会明白困难阻碍的是事物,而不是你。
\n \n\n对于每一件发生的事,检视你自己的能力,问你自己能够用哪些能力从每一件事情中获得什么适当的用处。遇到一个十分有吸引力的人时,你就会发现你的自控就是你的能力。当你痛苦时,你会发现自己的坚强。听到坏话时,你会发现自己的耐心。形成了这样的习惯之后,你就不会被事物的表象所影响。
\n \n\n不要说:“我失去了什么”。而应该说:“我归还了什么”。如果你的孩子或者妻子不幸离世了,你不是失去他们了,而是他们回归了。如果你的房子被夺走了,同样的,你是归还它们了。你可能会说:“可是那些夺走我房子的人是坏人!“。可是,给予你的人让谁来夺走你的房子真的那么重要吗?当你拥有时,照顾好它,但不要把它当做永久财物,就当自己是一个在那暂住的旅行者。
\n \n\n如果你想要提高自己,那就要拒绝以下思考方式:“如果我忽视那些琐事,那我就没有收入;如果我不更正我的仆人,那他们就会变坏”。 如果能够免于悲伤和恐惧,即使死于饥饿,那也比富得流油但备受精神困扰好得多。比起坏仆人,难道你的开心不是更重要吗?
\n如果你想要让自己变得更好,那就从小事做起。油洒了,酒被偷了,没关系,告诉你自己:“那只不过是平静生活的一点点代价。任何事情都是有代价的”。当你召集你的仆人时,他们可能不会来,也可能来了但是做的事情不合你意。但是他们并没有重要得以至于你必须打破自己的平静。
\n \n\n如果你想要让自己变得更好,那就不要在乎被人认为你是愚蠢的。不要希望别人认为你无所不知。即使你看上去好像对别人来说很重要,也不要被这种虚名欺骗。因为想要既保持内心平和又拥有外在事物是非常困难的。当你专注于二者之一时,你必然会忽略剩下的那个。
\n \n\n如果你希望你的家人、朋友长生不老,那是很愚蠢的想法。因为生死是在你控制范围之外的,是关乎他人的。同样地,如果你希望你的仆人不犯错,那你和傻瓜无异,因为你希望错误不是错误。但是,如果你希望你的欲望不带来失望,那是在你所能控制的范围之内的。练习控制你所能控制的。一个能够控制自己的喜恶的人,是自己生活的主人。这样的人,是真正自由的,不会成为被自己的欲望控制的奴隶,不会喜欢或者厌恶那些受别人控制的事物。
\n \n\n记住生活就像是一个晚餐聚会一样。如果别人递给你一盘食物,你应该伸出手去接,舀起适当份量给自己。如果盘子从你身边递过,不要试图去截取。如果还没轮到你这,不要起身去拿,而是等着别人递到你面前。用相同的态度对待孩子,配偶,财物,公共职位,这样你最终自然就会成为诸神宴会的搭档。如果你不仅能够做到这些,还能够做到不去拿你面前的食物,甚至是有能力拒绝你自己的欲望,这样你不仅仅能够成为诸神宴会的搭档,你还能进入他们的国度,成为为他们的一员。像Diogenes, Heraclitus这些人就是因为他们的尊贵行为而被视为神一般神圣。
\n \n\n当你看到别人因为孩子出国了,或者离世了,或者因为被琐事困扰而哭泣伤心时,不要让这些情感表象误导你。你必须作出自己的判断,明白他的伤心难过不是因为发生的事情本身,因为其他同样身处其中的人并没有受到同样的影响。他之所以受到那么大的困扰,是因为他自己本身对事情的判断。不要让自己和他一样受影响,不要让自己一样受困扰,不管是外在表现还是内心感受上。
\n \n\n记住你只是一出戏里的一个演员,而戏份角色并不是由你决定的。不管角色故事长短,不管你是一个穷人,瘸子,政府官员,或者是一个很私密的人,把你的角色演好演自然了就行。把分配给你的角色演好,那是你的本分;而到底是哪个角色,那不是由你决定的。
\n \n\n如果一只乌鸦向你预示不幸的事即将发生,不要让你内心的平静被这个表象破坏。要即刻告诉自己,“我不知道会发生什么,我不知道我的身体,财物,名声,或者家人会受什么影响,如果我愿意理性地去想,那么所有的这些恶兆就会变成幸运,因为我可以控制我要用什么态度去对待这些事情。不管发生什么,我都可以从中获得对我有利的。
\n \n\n如果你不去参与在你控制范围之外的任何战斗,那你就不会被打败。当你看到那些声名显赫,社会地位高,或者在任何方面做得很好的人,不要着急认为他们是开心的。因为如果我们清楚明白幸福只在于我们所能够控制的范围内,那我们就不会去羡慕或者攀比。不要向往头衔,而是要向往内心自由和平静。而要做到这一点,唯一的途径是要看轻我们控制范围之外的一切事物。
\n \n\n记住,那些对你出言不逊或者动手的人他本身并不是一种羞辱,而是代表那些言行的原则让你感觉到被羞辱。如果有人激怒你了,那是你对这种行为的观点激怒了你。试着不要被事情的表象牵引你的情感。给予适当的时间和稍作休息,你就能够很好地调整控制自己的情感。
\n \n\n把死亡和流放这些看似可怕的事看作是日常,那你就赢了。不用害怕贫穷,也不要刻意贪求任何东西。
\n \n\n如果你真心希望从哲学中获益,那么就要做好被众人嘲笑的准备:“她这是准备要成为一个哲学家呢”,“瞧她那傲慢的样子”……这个时候,你该做的,不是摆起傲慢的样子,而是要以神圣的态度忠诚于你所认定的,这样总有一天嘲笑你的人会开始尊敬你崇拜你。但是如果你被这些嘲笑打败,那你就成了双重的笑话。
\n \n\n如果你为了取悦他人而把你的注意力转移到那些外在的你无法控制的事物上,那么恭喜你,你已经成功地毁了你自己的生活了。
\n \n\n不要让以下这些思考方式困扰你:“我将会颜面丢尽,而且什么都不是。”耻辱是邪恶的,我们不应该被耻辱感所控制。因为获取权力或着被人嘲笑,这些都在你的控制范围之外。我们不用为任何在我们控制范围之外的事而感到耻辱。在我们可控范围之内,我们是自由的,能够左右我们自己的事情,是自我的主人-从这个角度看,我们永远不会什么都不是。“可是我帮不了我的朋友啊”,你可能会这么说。可是,怎么算是帮助朋友呢?你不能给他们钱,或者帮他们成为罗马市民。这些都是你所能控制范围之内的,是他们自己应该处理的事情。而且,如果这些都是你自己所没有的,那你怎么能够给他们呢?你可能会说:“如果我帮助他们获得这些的话,说不定我也能够得到一份呢“。如果我能够在保存我自己的尊严,忠诚和思想得到这些的话,请你帮我指明道路。可是如果你要我损害自己去得到你的利益,那这样的做法不仅不公平,而且愚蠢至极。
\n \n\n如果别人,而不是你,被邀请去宴会,或者被赞美,或者被别人咨询,不要懊恼。如果这些是好事,你应该为他人高兴。如果是坏事,不要难过。记住:这些都是在你的控制范围之外的,这样的对待一般是有对应的代价的。如果你不愿意付出这样的代价而希望得到同样的对待,那是不公平的。比如说别人用50分买了一棵生菜,但是你不想花这50分,那你就不应该认为拥有生菜的人占了便宜。那个人付出50分得到了生菜,而你口袋里还有那没有花出去的50分。同理,宴会邀请,别人的赞美,这些都是有代价的。如果你觉得这些对你是有价值的,那你就要付出同等的价值去拥有。如果你不付出就想要得到这些,那么你就是个贪得无厌的傻瓜。换个角度想,在决定不和别人交换价值的时候,你真的什么都没有得到吗?不是的:你得到了不赞美你不想赞美的人的自由,而且也不需要容忍你不想容忍的行为。
\n \n\n记住:很多事情不应该分自我或者他人。举个例子,如果邻居家的孩子打破了个杯子或者其他什么东西,我们很容易会说:“没事的,打碎东西是正常的”。可是如果打碎的是你自己的杯子呢?你应该作出相同的反应,而不是心生懊恼。同理,当别人的孩子或者妻子去世了,我们知道死亡的悲剧有时候是不可避免的,但是如果发生在我们自己身上的时候,我们却心如刀割。但是,我们应该清醒的认识到类似的悲剧不是我们能够控制的,我们所能够控制的是自己的情绪和反应,因为即使是发生在自己的身上,死亡本身并没有因为我们和死者的关系而变的更糟糕。
\n \n\n立一个靶子的目的,不是为了射失它(靶子的目的都是为了让人射中它)。那么同样的道理,大道创造出一个“恶”的事物(至少看起来如此),不是为了让人绕开它。
\n \n\n如果别人把你的身体交给一个路上遇到的陌生人,你一定会很生气。可是当别人用恶语打击你的时候,你为什么要心甘情愿地让别人控制你的思想,困惑你呢?
\n \n\n做每件事情都要考虑缘由和后果之后才能开始行动。如果你兴高采烈地开始而没有考虑可能发生的后果,当某些不好的后果开始出现时,你就会停止前进。拿参加奥林匹克赛事为例子。如果你把所有前因后果都考虑周全后认为参加比赛对你时有益的,那就全力以赴。其中,应该考虑的事情包括:你要遵守规则,节制饮食;不管风吹日晒雨淋都要雷打不动地坚持按时锻炼;你不能喝凉水活着酒。你必须全身心地、完全忘我地投入训练。而且,要做思想准备准备,比赛中你有可能会摔入沟里,胳膊脱臼,脚踝受伤,吃入尘土,被鞭打,甚至最后以失败告终。当你评估完所有的可能性之后还是一心想比赛,那就以战争的姿态出发。否则,你就会像孩子过家家一样:一会扮摔跤手,一会扮角斗士,一会吹喇叭,一会又想参加戏剧演出。这样,即使你什么都做过,但是什么都不是。就想大猩猩一样,你模仿你所看到的一切,不停地换把戏可能是一件好玩的事,但是你很快就玩腻了。你从来都没有完全投入过任何事,没有深度地从各个角度考虑和研究所有相关的细节,而只是凭一时的兴趣蜻蜓点水般地接触了各种行业。有些人当他们看到一个人说话的方式和Euphrates十分相像(不过事实上,真的有人能和Euphrates一样犀利善辩吗?),他们认为自己也能够拥有和哲学家一样的思想。但是,如果你细想一下,如果你想要成为一个摔跤手,那么你必须具备有摔跤手的宽阔肩膀,强有力的背部和大腿。但是每一个人的身体构造都是不一样的,你必须具有必备的条件才能称为一个好的摔跤手。同理,要想成为一个哲学家,你不能像你现在这样随心所欲地吃喝,不能让愤怒和不满控制你的情绪,你必须细心观察,劳作,控制自己的欲望,你必须能够忍受孤独,仆人的不敬,和外人的嘲笑,你必须能够接受别人在其他方面做得比你好。如果你已经仔细考虑过这些情况,如果你认为如果做到以上这些可以让你享受自由和宁静,那就尽情去追求哲学家的道路。如果你无法做到这些的话,那么就请不要继续,不要像孩子一样,一会试试做哲学,一会又想当政治家,演讲者,或者凯撒的军官。这些追求是互相矛盾的,你只能成为其中一个,不管做得好坏。你必须培养你自己内在的能够掌控行为的能力,或者外在的技术,二者只能取其一。
\n \n\n一个人的责任是由和别人的关系定义和衡量的。如果一个人拥有父亲的角色,那么他就有以下权利:他的孩子要照顾他,遵从他,耐心听他训话和教导。那如果他不是一个好父亲呢?他也应该受到同等的对待,因为我们无法选择我们的父亲是谁。不管他做了什么,你必须做到让自己心安理得。因为只有你能够让别人的行为伤害到你。当你觉得你被伤害了,那你就会被伤害。如果你以同样的逻辑看待邻居,市民,将军这些不同的角色,你就能够清楚地明白与这些角色相对应的社会责任。
\n \n "},{"title":"《少有人走的路》笔记","date":"2019-07-20T22:14:37.000Z","urlname":"road-less-traveled-summary","toc":true,"_content":"\n **成熟 = [自律](#id_zilv) + [爱](#id_ai)**[](def_成熟)\n\n\n\n### 自律\n\n**【自律】**[](def_自律) : 主动要求自己以积极的态度去承受痛苦,解决问题。\n\n自律的四个`原则`:延迟满足感、承担责任、忠于事实、保持平衡。:smile:\n\n#### 1 延迟满足感\n\n\n \n人生当中总是绕着困难走。一个揍孩子和对孩子大喊大叫的父母就是不懂得延迟满足感的父母。 应该陪着孩子一起经历困难和痛苦。而父母试图通过家庭暴力的方式,试图将父母本身的责任区隔开。父母没有学会延迟满足感,这个孩子将来长大了也不会。很多人延迟满足感的能力非常糟糕,来自于父母的不自律。当父母不自律的时候,孩子就没法获得足够的爱和照顾。—— 所以这个孩子会忽略自我的价值。有的人喜欢浪费时间,而浪费时间的意思就是,_「我这个人的时间没什么价值」_。\n不会延迟满足感的人,在长大后看到问题会假装没看到,以为等着问题慢慢就会过去,期待问题自行消失。\n \n\n> - 训斥孩子 ~\\> 是为了迅速达成目的,而不是耐心陪孩子面对问题。\n> - 父母不自律 => 孩子不自律\n> - 不会延迟满足感 => 有意忽略问题\n\n#### 2 承担责任\n\n1. **神经官能症**[](def_神经官能症): 把一切东西都认为是自己的问题。\n> _我如果怎么样就好了。我要是不怎么样就好了。总是充满后悔和内疚。祥林嫂_\n2. **人格失调症**[](def_人格失调症):他认为这一切都不是我的问题。他能找到任何一个理由,是因为外在的东西,他就不会责怪自己,他认为都是你们的问题。[](flag_心理学_病症)\n> 「神经官能症」自己活得很痛苦,「人格失调症」让别人活得很痛苦。\n\n\n \n作者提供在冲绳岛上的一个案例,一个军官的妻子,宁愿自杀也不愿意去学自动挡开车的事。\n从某种意义上说,所有的孩子都患有人格失调症,都会本能的逃避责罚。 同时又患有某种神经官能症,把自己承受的痛苦看成是罪有应得。缺少关心的孩子会自惭形秽,认为自己不够可爱,缺点大于优点等等。\n \n\n如果你不能解决问题,那么你自己就会成为问题。`我们需要合理的承担责任,既不把责任全部推卸到外部,也不把责任全部揽到自己身上。保持一个合理的平衡。`\n> 如果你不能让自己成为人格更加健全,更加成熟的人。你就会把问题带给你的孩子,带给你的家庭。\n\n#### 3 忠于事实\n\n大量的人是生活在自己的幻想当中的。这叫**人生地图**。他给自己绘制一张人生地图,他认为人生就这样,他已经认定了。这就叫做“不忠于事实”,他只 _忠于自己的幻想_。\n\n \n案例:有个人小时候被父母欺骗过,就是父母说话经常不算数。导致他潜意识积累了一个信念:“父母是不可信”的。当他的人生地图绘制出来这么一个坐标,认为父母不可信了自后,他几乎就推论到“人人都不可信”。所以在他一生的成长过程当中,他跟警察发生矛盾,跟领导发生矛盾,跟顾客发生矛盾,跟妻子发生矛盾。案例中最后他唯一信任的是他的两个孩子。妻子把两个孩子带走,所以他人生也崩溃了。他跟作者约定时间不来,然后他说能不能星期六,作者说我的时间是跟别人约过的,不能随便调整。他说:“你不是心理医生吗?为什么不能多关心我一点呢”?他认为作者(心理医生)也是不可信任的人,直接拉黑。\n \n这种人你很难跟他解释,很难让他面对真正的世界。因为在他心目当中完全是用自己的一套逻辑在解决问题。\n\n所以所谓的「心理治疗」,就是鼓励「说真话」的游戏。鼓励大家能够面对事实,能够把自己看到的真相,感受到的真实的感觉,说出来的一个过程。所以没有经过这样的调试,有大量的人是天天活在「幻觉」当中的,就是沉浸在自己的人生地图当中。根本不去看一看,别人的地图是什么样。也根本不去看一看实际的生活当中,事实是什么样的。\n\n **移情**:人们会把对一个人的感情和经验移植在别人身上。会认为别人也这样。\n\n> 应该说移情、或者忽略史实,也是一种懒惰的表现。因为去更新地图是件很费力的事情。\n\n#### 4 保持平衡\n 既要承担责任,也要拒绝承担不该承担的责任。差不多又回到了「中庸」之道。「延迟满足」也不能延迟到无限, 从来不过好日子。既要延迟满足,也要过好当下的生活。要有一个富于弹性的约束机制。好像骑自行车下坡一样,既要享受速度,也要注意刹车。为了待会安全的拐弯,也要捏一捏车闸。\n ```生活就是一个不断放弃的过程。必须能够学会放弃一件又一件的事情。包括接受心理治疗就是「放弃」—— 放弃了一个「自己是正常人」 的想法。```\n\n\n埃里克 埃里克森列举的人一生当中不断放弃的事情 \n\n1. 首先要放弃「无需对外界要求作出回应」的婴儿状态。\n2. 三四岁的时候有「无所不能的幻觉」,这个要放弃掉。(为何小孩子特别喜欢绿巨人、钢铁侠、金刚狼这样的超级英雄?因为每个人在三四岁的时候都曾经幻想过自己是无所不能的超人。所以这种童话永远有市场。)\n3. 放弃完全占有父亲或者母亲的欲望。放弃童年的依赖感。\n4. 放弃心中被扭曲了的父母形象。(我们曾经以为父母是完美的)放弃。\n5. 青春期的自以为拥有「无穷潜力」的感觉。放弃! I am the King of the World!\n6. 无拘无束的自由\n7. 青年时期的灵巧与活力\n8. 青春时期的性吸引力;长生不老的空想。\n9. 对子女的权威(在子女面前总是说了算的)\n10. 各种各样「暂时性」的权力——退休了,社会给你的权力也没有了。\n11. 身体永远健康——放弃\n12. 最后,自我以及生命本身也要放弃。\n \n\n### 爱\n\n**【爱】**[](def_爱) :为了促进自己和他人心智成熟,而不断拓展自我界限,实现自我完善的一种意愿。\n> 核心观点就是「要看重心智成熟这件事」。心智成熟是发生在你和被爱的那个人之间的,两个人都需要达成心智成熟。\n> _不要以为一昧的付出就是爱。爱的要求很高。要达成两个的`共同成熟`_\n\n一个人懂得什么是真正的爱,才能够是一个真正成熟的人。否则你会看到很多人以「爱」的名义在伤害、控制、占有对方。「爱」有以下四个误区:过度关注、坠入情网、精神灌注、自我牺牲。\n\n#### 过度关注\n* 实际上是一种「依赖」\n例子,一个妈妈,孩子都上高中了,还每天开车接送孩子上学。说孩子一个上学走太让人担心了。「过度关注」实际上是一种「依赖」。(`妈妈在“依赖”这个孩子`)这种类型的人经常说的话是“没有你我活不下去”。这个小孩之所以出现在书中,是因为孩子长大后来做了心理咨询。他在人生当中做任何事情都不成功。他的能力非常的欠缺。为什么?因为他从小到大完全被母爱这样束缚着。他妈妈根本不去管孩子能否「成熟」。他妈妈根本不去管这样做对孩子的心智健康、发展有没有好处。唯一的就是「你别出事,我必须盯着你」!`她不是为对方在做这样的事,她是在为自己做这样的事情。如果发展到极致,变得很严重的话,会变成一种疾病,叫「**消极性依赖人格失调症**」。—— 他必须依赖某一个外在的东西,他才能够觉得自己是存在的。如果有这么一个人,就是死死的缠住他,就是不离开他。有一个人作为对象,他才能找到自己的位置。如果找不到这样的人,就很可能会沉迷于毒品和酒精。\n\n* 对「爱」无度的索求\n对别人的爱根本与对方无关,他只是希望找到一个人,能够投射自己在上面,能够找到自己——「因为有人爱我,我就存在」。(例子,有个人离婚了,生活很痛苦,用酒精麻醉自己。咨询的第二天来跟医生说,我好了,我现在很幸福。因为昨晚在酒吧认识一个女人,她说她爱我。我现在很好。)总是苦思如何获得别人的爱,却没有精力去爱别人。就像饥肠辘辘的人,总想着向别人讨要食物,却拿不出食物来帮助别人。`他们永远孤独寂寞,永远无法体会到满足感。`尤其可怕的是,他们不知道自己患上了「消极性依赖人格失调症」。其造成原因多是童年缺乏爱,然后总觉的自己「没资格被爱」。人要感觉自己是被爱的,才有资格跟别人平起平坐,独立地生活和对话。患有这种心理疾病的人,他根本没有感觉到自己的资格,永远都在怀疑别人不爱他。所以只要别人拒绝他,就会感到无比的痛苦和伤心。而他永远需要找到一个紧紧拉住的,依赖的对象。这不是爱,这是占有。\n\n#### 坠入情网\n**坠入情网是欲望**。是你体内的激素分泌。因为我们的基因要求我们要生殖,见到异性感觉自己爱上他了。实际上是自己的一种欲望。一段时间后当你的欲望被释放掉了,体内的激素的大潮开始退去的时候,会发现这个人看起啦那么讨厌。坠入情网实际上是``「自我界限的短暂崩溃」``。除了自我界限的理论,还有以下几个点:\n* 不是出于主管意愿,它不是一个有计划有意识的选择。(很多人只把它看成一个感觉,而不是一个「动作」,爱是一个动词,不是感觉)\n* 不是自我界限的扩展,而是自我界限的部分的暂时性的崩溃。扩展自我界限需要付出足够的努力,坠入情网却无需努力。\n* 坠入情网唯一的作用是消除寂寞。而不是有目的的促进心灵的成长。\n* 简单来说贪恋爱可能是「爱」的发端,可能能培养出来爱,但它不是「爱」本身。\n\n#### 精神贯注\n`爱宠物、爱好这些也不是爱`,而是「精神贯注」。就是当你把自己的精神贯注在一个事物上的时候,你以为这只狗“懂你”,其实上是“你投射在了它身上”,你在猜想它的想法。跟真正的爱不一样。为什么呢:\n* 首先,我们跟宠物的沟通非常有限。我们不知道他们每天在想什么,却一厢情愿的把自己的想法和感受投射在它们身上。实际上这只是我们的主观愿望罢了。\n* 其次,我们喜欢宠物的原因是因为它们表现乖巧,任凭摆弄。如果宠物不听话,破坏家具,随意大小便,甚至咬上我们几口。我们就可能把它赶出家门。如果要改变宠物的心智,我们只能把它送到宠物学校。如果与某个人相处,局面就完全不同了。\n\n有一种精神贯注叫「婴儿之爱」。 很多妈妈只喜欢婴儿期的孩子。等孩子三四岁以后妈妈开始烦了。赶紧推给爷爷奶奶带。反过来呢,母爱很充沛,喜欢别人家的孩子,刚生的小婴儿。 这种不是爱,而是``「唯命是从的追求」``。 比如二战后美国的「战争新娘」。一开始新娘对丈夫唯命是从,当她们懂得英语,开始融入美国社会以后,矛盾就渐渐开始产生,离婚率开始上升。\n\n以上几种感情我们误以为是爱,其实不是。它们都有共同的特征,就是以「爱」作为幌子,``只想满足自己的需要``。却从来不把对方的心智成熟当一回事。\n\n\n#### 自我牺牲\n甚至还有人人会发展出来「**自我牺牲式的爱**」。有个妻子,她老公总是欺骗她,总是有外遇。每次闹完,老公回来道歉,她又开始接受他。五六次以后,妻子去找心理医生谈。心理医生告诉她要想清楚,不能老是这样接受他。有一次这个妻子说,我又原谅他了,这次他是真的改好了。他特别怎么怎么样。结果医生发现这个妻子有“受虐倾向”。有受虐倾向的人,会把「自我牺牲」当作是「爱」。他们觉得只要我能够牺牲、奉献就好。\n\n这些东西也是来自童年的经历,就是他童年当中如果有一个这样的“楷模”,总是以自我牺牲为标榜,总是以为我为别人牺牲了那么多,所以 “你看我多好,多高尚”,他在潜意识当中就会慢慢接受“自我牺牲就是爱”这种想法。\n\n\n **自我界限**: \n小孩子刚出生的时候是没有自我界限的。他在挥动胳膊的时候,觉得整个房间都在动,他与这个世界没有是分割的。到了两三岁发现自己挥动胳膊的时候,房间没有动,甚至他发现自己哭的时候,别人并不饿。 才能慢慢感受到原来自己跟他人是不一样的。到青春期这个人的自我界限已经开始完全封闭起来了。原来这个世界只有我自己,连我的父母都不了解我,我的喜怒哀乐他们根本不知道。所以人们开始陷入深深的孤独。青春期的孩子觉得自己最“孤独”,他觉得没人理解他,我是一个完全独一无二的个体,谁跟我都不一样,他的自我界限完全封闭起来。\n到了谈恋爱。谈恋爱是需要冒风险的,你是需要有勇气打开自我的界限,和另外一个人融为一体的。所以初恋的时候,很多人会有「**圣洁**」的感觉。就是“我打开了”,有一个人竟然“完全懂我”。有一个人可以跟我融为一体,那种水乳交融的感觉,他以为自己找到了「真爱」。因为他的边界在短期的崩溃。当他的自我边界崩溃以后,他感受到了生命的狂喜,那个就是短暂的获得了「爱」的感觉。但是那是假象。`因为那个并不建立在令我和对方人格不断成熟的一个过程当中。他并不是希望达成心智的成熟,他只是自我边界的短暂崩溃`。所以过了一两个月以后,这个自我界限慢慢弥合起来,他发现说“这个人怎么跟我也不一样”?“这个人的想法跟我也不同”。 现在的孩子谈恋爱特别快,有感觉就谈,没感觉了就分。把「感觉」当成了「爱」,事实上感觉只是欲望,是性欲。\n 但不要觉得欲望不是一件好事,无论是欲望,还是依赖,或者过度关注这样的东西,都是`培养爱的基础`。\n正是因为两个人打破了边界,走到一起,双方有可能为对方作出了承诺。接下来为了完成自己的承诺,需要不断的努力,需要有自律性。当你的自律性跟承诺相结合在起来的时候,你的这个短暂的恋爱的感觉爱,会慢慢滋生出真正的爱。 能够带来对方和自己心智共同的成熟。\n \n \n\n``真正的「爱」`` :爱是实际行动,是真正的付出。\n\n爱的感觉与精神贯注密不可分。后者是把情感与兴趣贯注在对外的对象上,将其当作属于自己的一部分。精神贯注虽然跟真正的爱容易混淆,但是依然有显著的区别。首先,精神贯注的对象不一定是有生命的事物。因此就不见得会有心灵的感受。其次,对某种事物产生精神贯注的人,未必会重视其心智的成熟。(比如无原则溺爱孩子的父母)第三,精神贯注可能与智慧和责任无关。(酒吧认识一个人,立刻就情有所钟。但没有任何计划性,没有后续责任)。最后,精神贯注随时都有可能消失。今晚还很开心,明天不开心就分手啰。\n\n 真正的爱需要投入和奉献,需要付出全部的智慧与力量。要使爱的对象得到成长,就必须付出足够多的努力,不然爱的愿望就会落空。 唯有真正的投入与奉献,才是实现爱的有效方式。真正的爱是自主的选择,无论「爱」的「感觉」是否存在, 都要奉献出情感和智慧。\n\n \n\n**「爱」的表现**\n\n1. 倾听。我们真的能够拿出时间来,认真倾听对方的说话。最起码的尊重是通过倾听来展开的,我们要做一个良好的「倾听者」。\n2. 要有心里准备,接受爱的时候,就要准备承担风险。(有人经历过丧失亲人,之后就特别怕建立亲密关系。因为怕失去,「失去」的痛苦吓坏了他。)(爱还要面临冲突的风险。)\n3. 需要尊重对方的独立性。否则就是占有,就是依赖。\n\n### 信仰\n\n#### 科学也是信仰\n科学也是一种信仰。这个世界上上信科学的人比信宗教的人多。人不是生活在一个真实的世界当中的,人是生活在思想家为我们所设定的思想通道当中的。科学家在不断的拓宽我们人类的视线,建立了科学的信仰。 作者认为宗教的信仰在某种程度上可能会导致人的某些情况下的精神分裂。但是在某些情况下也会带来信念,帮助人们解决心理的问题。比喻:倒洗澡水的时候,千万不要把婴儿也倒出去。对待信仰的时候,不能过于简单化。\n\n#### 原罪\n作者认为人类的`「原罪」`就是`「懒惰」`。\n\n自律需要用力,爱需要用力,这个世界天然的方向是「熵增」,屋子一定会变乱。我花力气把屋子整理干净十个「逆熵」的过程,逆熵是需要话费气力的。 人天生喜欢熵增,喜欢懒惰。在伊甸园,其实上帝经常在园子里散步。这两孩子如果能去问一下,这玩意儿能吃吗?人类的命运就改变了。这两个人为什么不去问 一下上帝呢?因为这两孩子「懒惰」,而「懒惰」的背后是「恐惧」。他们担心问了上帝以后受到上帝的责罚。\n>(天涯:我认为这个解释不对。那个时候的亚当和夏娃没有罪恶感,也从来没有受过责罚,怎么会有这个恐惧呢?而恐惧则是被赶出伊甸园以后人类才有的心智。)\n\n有人不好好学习,是因为就算好好学习了也未必学得好啊。如果好好学了而没有学好,就会面对失去「我不是没能力,只是不愿学而已」这块遮羞布的恐惧。\n\n尽量要做到潜意识和意识「合一」。因为潜意识里面有很多的能量,而我们由于“懒惰”以及“恐惧”不愿意去开发的,不愿意去面对的。\n\n这本书为什么叫【少有人走的路】呢?因为人人都喜欢熵增的方向,都喜欢轻松的方向,人人都喜欢懒惰的方向。喜欢部分什么劲,就得到一切的这种感觉。如果你想要变得成熟,就要费力去做一些逆熵的行为,自律的事,延迟满足的事,用行动表达「爱」的 过程。\n\n#### 两种力量\n这个世界始终是由两种力量来统治的,分别是「政治的力量」和「心灵的力量」。\n\n【政治的力量】[](def_政治的力量):以公开或者隐秘的方式,去强迫别人遵循自己的意愿。这种力量既存在于权力之中,也存在于金钱之中。然而他并不属于拥有权力或者金钱的人。归根到底,政治的力量和德行以及智慧无关,最愚蠢最邪恶的人也可能成为地球的统治者。\n【心灵的力量】[](def_心灵的力量):则完全存在于人类的心中,它和强迫、控制别人的力量没有关系。它是在意识基础上作出决定的力量。也就是「意识的力量」。\n\n如果我们的心理能够得到力量,我们就会感到舒适和愉快,在人生的旅途上稳扎稳打,循序渐进。 进步带给我们的愉悦感难以言喻。没有什么比成为人生的专家,熟知自己所做的事情,更让人感觉到幸福。我们的心灵越是成熟,就越有可能成为人生的专家。当我们的心智成熟到一定的阶段,我们就会更加谦逊而快乐。\n\n---\n\n","source":"_posts/读书笔记/《少有人走的路》笔记.md","raw":"---\ntitle: 《少有人走的路》笔记\ndate: 2019-07-21 00:14:37\nurlname: road-less-traveled-summary\ntoc: true\ntags: [心理, 成长]\ncategories: [读书笔记]\n\n---\n\n **成熟 = [自律](#id_zilv) + [爱](#id_ai)**[](def_成熟)\n\n\n\n### 自律\n\n**【自律】**[](def_自律) : 主动要求自己以积极的态度去承受痛苦,解决问题。\n\n自律的四个`原则`:延迟满足感、承担责任、忠于事实、保持平衡。:smile:\n\n#### 1 延迟满足感\n\n\n \n人生当中总是绕着困难走。一个揍孩子和对孩子大喊大叫的父母就是不懂得延迟满足感的父母。 应该陪着孩子一起经历困难和痛苦。而父母试图通过家庭暴力的方式,试图将父母本身的责任区隔开。父母没有学会延迟满足感,这个孩子将来长大了也不会。很多人延迟满足感的能力非常糟糕,来自于父母的不自律。当父母不自律的时候,孩子就没法获得足够的爱和照顾。—— 所以这个孩子会忽略自我的价值。有的人喜欢浪费时间,而浪费时间的意思就是,_「我这个人的时间没什么价值」_。\n不会延迟满足感的人,在长大后看到问题会假装没看到,以为等着问题慢慢就会过去,期待问题自行消失。\n \n\n> - 训斥孩子 ~\\> 是为了迅速达成目的,而不是耐心陪孩子面对问题。\n> - 父母不自律 => 孩子不自律\n> - 不会延迟满足感 => 有意忽略问题\n\n#### 2 承担责任\n\n1. **神经官能症**[](def_神经官能症): 把一切东西都认为是自己的问题。\n> _我如果怎么样就好了。我要是不怎么样就好了。总是充满后悔和内疚。祥林嫂_\n2. **人格失调症**[](def_人格失调症):他认为这一切都不是我的问题。他能找到任何一个理由,是因为外在的东西,他就不会责怪自己,他认为都是你们的问题。[](flag_心理学_病症)\n> 「神经官能症」自己活得很痛苦,「人格失调症」让别人活得很痛苦。\n\n\n \n作者提供在冲绳岛上的一个案例,一个军官的妻子,宁愿自杀也不愿意去学自动挡开车的事。\n从某种意义上说,所有的孩子都患有人格失调症,都会本能的逃避责罚。 同时又患有某种神经官能症,把自己承受的痛苦看成是罪有应得。缺少关心的孩子会自惭形秽,认为自己不够可爱,缺点大于优点等等。\n \n\n如果你不能解决问题,那么你自己就会成为问题。`我们需要合理的承担责任,既不把责任全部推卸到外部,也不把责任全部揽到自己身上。保持一个合理的平衡。`\n> 如果你不能让自己成为人格更加健全,更加成熟的人。你就会把问题带给你的孩子,带给你的家庭。\n\n#### 3 忠于事实\n\n大量的人是生活在自己的幻想当中的。这叫**人生地图**。他给自己绘制一张人生地图,他认为人生就这样,他已经认定了。这就叫做“不忠于事实”,他只 _忠于自己的幻想_。\n\n \n案例:有个人小时候被父母欺骗过,就是父母说话经常不算数。导致他潜意识积累了一个信念:“父母是不可信”的。当他的人生地图绘制出来这么一个坐标,认为父母不可信了自后,他几乎就推论到“人人都不可信”。所以在他一生的成长过程当中,他跟警察发生矛盾,跟领导发生矛盾,跟顾客发生矛盾,跟妻子发生矛盾。案例中最后他唯一信任的是他的两个孩子。妻子把两个孩子带走,所以他人生也崩溃了。他跟作者约定时间不来,然后他说能不能星期六,作者说我的时间是跟别人约过的,不能随便调整。他说:“你不是心理医生吗?为什么不能多关心我一点呢”?他认为作者(心理医生)也是不可信任的人,直接拉黑。\n \n这种人你很难跟他解释,很难让他面对真正的世界。因为在他心目当中完全是用自己的一套逻辑在解决问题。\n\n所以所谓的「心理治疗」,就是鼓励「说真话」的游戏。鼓励大家能够面对事实,能够把自己看到的真相,感受到的真实的感觉,说出来的一个过程。所以没有经过这样的调试,有大量的人是天天活在「幻觉」当中的,就是沉浸在自己的人生地图当中。根本不去看一看,别人的地图是什么样。也根本不去看一看实际的生活当中,事实是什么样的。\n\n **移情**:人们会把对一个人的感情和经验移植在别人身上。会认为别人也这样。\n\n> 应该说移情、或者忽略史实,也是一种懒惰的表现。因为去更新地图是件很费力的事情。\n\n#### 4 保持平衡\n 既要承担责任,也要拒绝承担不该承担的责任。差不多又回到了「中庸」之道。「延迟满足」也不能延迟到无限, 从来不过好日子。既要延迟满足,也要过好当下的生活。要有一个富于弹性的约束机制。好像骑自行车下坡一样,既要享受速度,也要注意刹车。为了待会安全的拐弯,也要捏一捏车闸。\n ```生活就是一个不断放弃的过程。必须能够学会放弃一件又一件的事情。包括接受心理治疗就是「放弃」—— 放弃了一个「自己是正常人」 的想法。```\n\n\n埃里克 埃里克森列举的人一生当中不断放弃的事情 \n\n1. 首先要放弃「无需对外界要求作出回应」的婴儿状态。\n2. 三四岁的时候有「无所不能的幻觉」,这个要放弃掉。(为何小孩子特别喜欢绿巨人、钢铁侠、金刚狼这样的超级英雄?因为每个人在三四岁的时候都曾经幻想过自己是无所不能的超人。所以这种童话永远有市场。)\n3. 放弃完全占有父亲或者母亲的欲望。放弃童年的依赖感。\n4. 放弃心中被扭曲了的父母形象。(我们曾经以为父母是完美的)放弃。\n5. 青春期的自以为拥有「无穷潜力」的感觉。放弃! I am the King of the World!\n6. 无拘无束的自由\n7. 青年时期的灵巧与活力\n8. 青春时期的性吸引力;长生不老的空想。\n9. 对子女的权威(在子女面前总是说了算的)\n10. 各种各样「暂时性」的权力——退休了,社会给你的权力也没有了。\n11. 身体永远健康——放弃\n12. 最后,自我以及生命本身也要放弃。\n \n\n### 爱\n\n**【爱】**[](def_爱) :为了促进自己和他人心智成熟,而不断拓展自我界限,实现自我完善的一种意愿。\n> 核心观点就是「要看重心智成熟这件事」。心智成熟是发生在你和被爱的那个人之间的,两个人都需要达成心智成熟。\n> _不要以为一昧的付出就是爱。爱的要求很高。要达成两个的`共同成熟`_\n\n一个人懂得什么是真正的爱,才能够是一个真正成熟的人。否则你会看到很多人以「爱」的名义在伤害、控制、占有对方。「爱」有以下四个误区:过度关注、坠入情网、精神灌注、自我牺牲。\n\n#### 过度关注\n* 实际上是一种「依赖」\n例子,一个妈妈,孩子都上高中了,还每天开车接送孩子上学。说孩子一个上学走太让人担心了。「过度关注」实际上是一种「依赖」。(`妈妈在“依赖”这个孩子`)这种类型的人经常说的话是“没有你我活不下去”。这个小孩之所以出现在书中,是因为孩子长大后来做了心理咨询。他在人生当中做任何事情都不成功。他的能力非常的欠缺。为什么?因为他从小到大完全被母爱这样束缚着。他妈妈根本不去管孩子能否「成熟」。他妈妈根本不去管这样做对孩子的心智健康、发展有没有好处。唯一的就是「你别出事,我必须盯着你」!`她不是为对方在做这样的事,她是在为自己做这样的事情。如果发展到极致,变得很严重的话,会变成一种疾病,叫「**消极性依赖人格失调症**」。—— 他必须依赖某一个外在的东西,他才能够觉得自己是存在的。如果有这么一个人,就是死死的缠住他,就是不离开他。有一个人作为对象,他才能找到自己的位置。如果找不到这样的人,就很可能会沉迷于毒品和酒精。\n\n* 对「爱」无度的索求\n对别人的爱根本与对方无关,他只是希望找到一个人,能够投射自己在上面,能够找到自己——「因为有人爱我,我就存在」。(例子,有个人离婚了,生活很痛苦,用酒精麻醉自己。咨询的第二天来跟医生说,我好了,我现在很幸福。因为昨晚在酒吧认识一个女人,她说她爱我。我现在很好。)总是苦思如何获得别人的爱,却没有精力去爱别人。就像饥肠辘辘的人,总想着向别人讨要食物,却拿不出食物来帮助别人。`他们永远孤独寂寞,永远无法体会到满足感。`尤其可怕的是,他们不知道自己患上了「消极性依赖人格失调症」。其造成原因多是童年缺乏爱,然后总觉的自己「没资格被爱」。人要感觉自己是被爱的,才有资格跟别人平起平坐,独立地生活和对话。患有这种心理疾病的人,他根本没有感觉到自己的资格,永远都在怀疑别人不爱他。所以只要别人拒绝他,就会感到无比的痛苦和伤心。而他永远需要找到一个紧紧拉住的,依赖的对象。这不是爱,这是占有。\n\n#### 坠入情网\n**坠入情网是欲望**。是你体内的激素分泌。因为我们的基因要求我们要生殖,见到异性感觉自己爱上他了。实际上是自己的一种欲望。一段时间后当你的欲望被释放掉了,体内的激素的大潮开始退去的时候,会发现这个人看起啦那么讨厌。坠入情网实际上是``「自我界限的短暂崩溃」``。除了自我界限的理论,还有以下几个点:\n* 不是出于主管意愿,它不是一个有计划有意识的选择。(很多人只把它看成一个感觉,而不是一个「动作」,爱是一个动词,不是感觉)\n* 不是自我界限的扩展,而是自我界限的部分的暂时性的崩溃。扩展自我界限需要付出足够的努力,坠入情网却无需努力。\n* 坠入情网唯一的作用是消除寂寞。而不是有目的的促进心灵的成长。\n* 简单来说贪恋爱可能是「爱」的发端,可能能培养出来爱,但它不是「爱」本身。\n\n#### 精神贯注\n`爱宠物、爱好这些也不是爱`,而是「精神贯注」。就是当你把自己的精神贯注在一个事物上的时候,你以为这只狗“懂你”,其实上是“你投射在了它身上”,你在猜想它的想法。跟真正的爱不一样。为什么呢:\n* 首先,我们跟宠物的沟通非常有限。我们不知道他们每天在想什么,却一厢情愿的把自己的想法和感受投射在它们身上。实际上这只是我们的主观愿望罢了。\n* 其次,我们喜欢宠物的原因是因为它们表现乖巧,任凭摆弄。如果宠物不听话,破坏家具,随意大小便,甚至咬上我们几口。我们就可能把它赶出家门。如果要改变宠物的心智,我们只能把它送到宠物学校。如果与某个人相处,局面就完全不同了。\n\n有一种精神贯注叫「婴儿之爱」。 很多妈妈只喜欢婴儿期的孩子。等孩子三四岁以后妈妈开始烦了。赶紧推给爷爷奶奶带。反过来呢,母爱很充沛,喜欢别人家的孩子,刚生的小婴儿。 这种不是爱,而是``「唯命是从的追求」``。 比如二战后美国的「战争新娘」。一开始新娘对丈夫唯命是从,当她们懂得英语,开始融入美国社会以后,矛盾就渐渐开始产生,离婚率开始上升。\n\n以上几种感情我们误以为是爱,其实不是。它们都有共同的特征,就是以「爱」作为幌子,``只想满足自己的需要``。却从来不把对方的心智成熟当一回事。\n\n\n#### 自我牺牲\n甚至还有人人会发展出来「**自我牺牲式的爱**」。有个妻子,她老公总是欺骗她,总是有外遇。每次闹完,老公回来道歉,她又开始接受他。五六次以后,妻子去找心理医生谈。心理医生告诉她要想清楚,不能老是这样接受他。有一次这个妻子说,我又原谅他了,这次他是真的改好了。他特别怎么怎么样。结果医生发现这个妻子有“受虐倾向”。有受虐倾向的人,会把「自我牺牲」当作是「爱」。他们觉得只要我能够牺牲、奉献就好。\n\n这些东西也是来自童年的经历,就是他童年当中如果有一个这样的“楷模”,总是以自我牺牲为标榜,总是以为我为别人牺牲了那么多,所以 “你看我多好,多高尚”,他在潜意识当中就会慢慢接受“自我牺牲就是爱”这种想法。\n\n\n **自我界限**: \n小孩子刚出生的时候是没有自我界限的。他在挥动胳膊的时候,觉得整个房间都在动,他与这个世界没有是分割的。到了两三岁发现自己挥动胳膊的时候,房间没有动,甚至他发现自己哭的时候,别人并不饿。 才能慢慢感受到原来自己跟他人是不一样的。到青春期这个人的自我界限已经开始完全封闭起来了。原来这个世界只有我自己,连我的父母都不了解我,我的喜怒哀乐他们根本不知道。所以人们开始陷入深深的孤独。青春期的孩子觉得自己最“孤独”,他觉得没人理解他,我是一个完全独一无二的个体,谁跟我都不一样,他的自我界限完全封闭起来。\n到了谈恋爱。谈恋爱是需要冒风险的,你是需要有勇气打开自我的界限,和另外一个人融为一体的。所以初恋的时候,很多人会有「**圣洁**」的感觉。就是“我打开了”,有一个人竟然“完全懂我”。有一个人可以跟我融为一体,那种水乳交融的感觉,他以为自己找到了「真爱」。因为他的边界在短期的崩溃。当他的自我边界崩溃以后,他感受到了生命的狂喜,那个就是短暂的获得了「爱」的感觉。但是那是假象。`因为那个并不建立在令我和对方人格不断成熟的一个过程当中。他并不是希望达成心智的成熟,他只是自我边界的短暂崩溃`。所以过了一两个月以后,这个自我界限慢慢弥合起来,他发现说“这个人怎么跟我也不一样”?“这个人的想法跟我也不同”。 现在的孩子谈恋爱特别快,有感觉就谈,没感觉了就分。把「感觉」当成了「爱」,事实上感觉只是欲望,是性欲。\n 但不要觉得欲望不是一件好事,无论是欲望,还是依赖,或者过度关注这样的东西,都是`培养爱的基础`。\n正是因为两个人打破了边界,走到一起,双方有可能为对方作出了承诺。接下来为了完成自己的承诺,需要不断的努力,需要有自律性。当你的自律性跟承诺相结合在起来的时候,你的这个短暂的恋爱的感觉爱,会慢慢滋生出真正的爱。 能够带来对方和自己心智共同的成熟。\n \n \n\n``真正的「爱」`` :爱是实际行动,是真正的付出。\n\n爱的感觉与精神贯注密不可分。后者是把情感与兴趣贯注在对外的对象上,将其当作属于自己的一部分。精神贯注虽然跟真正的爱容易混淆,但是依然有显著的区别。首先,精神贯注的对象不一定是有生命的事物。因此就不见得会有心灵的感受。其次,对某种事物产生精神贯注的人,未必会重视其心智的成熟。(比如无原则溺爱孩子的父母)第三,精神贯注可能与智慧和责任无关。(酒吧认识一个人,立刻就情有所钟。但没有任何计划性,没有后续责任)。最后,精神贯注随时都有可能消失。今晚还很开心,明天不开心就分手啰。\n\n 真正的爱需要投入和奉献,需要付出全部的智慧与力量。要使爱的对象得到成长,就必须付出足够多的努力,不然爱的愿望就会落空。 唯有真正的投入与奉献,才是实现爱的有效方式。真正的爱是自主的选择,无论「爱」的「感觉」是否存在, 都要奉献出情感和智慧。\n\n \n\n**「爱」的表现**\n\n1. 倾听。我们真的能够拿出时间来,认真倾听对方的说话。最起码的尊重是通过倾听来展开的,我们要做一个良好的「倾听者」。\n2. 要有心里准备,接受爱的时候,就要准备承担风险。(有人经历过丧失亲人,之后就特别怕建立亲密关系。因为怕失去,「失去」的痛苦吓坏了他。)(爱还要面临冲突的风险。)\n3. 需要尊重对方的独立性。否则就是占有,就是依赖。\n\n### 信仰\n\n#### 科学也是信仰\n科学也是一种信仰。这个世界上上信科学的人比信宗教的人多。人不是生活在一个真实的世界当中的,人是生活在思想家为我们所设定的思想通道当中的。科学家在不断的拓宽我们人类的视线,建立了科学的信仰。 作者认为宗教的信仰在某种程度上可能会导致人的某些情况下的精神分裂。但是在某些情况下也会带来信念,帮助人们解决心理的问题。比喻:倒洗澡水的时候,千万不要把婴儿也倒出去。对待信仰的时候,不能过于简单化。\n\n#### 原罪\n作者认为人类的`「原罪」`就是`「懒惰」`。\n\n自律需要用力,爱需要用力,这个世界天然的方向是「熵增」,屋子一定会变乱。我花力气把屋子整理干净十个「逆熵」的过程,逆熵是需要话费气力的。 人天生喜欢熵增,喜欢懒惰。在伊甸园,其实上帝经常在园子里散步。这两孩子如果能去问一下,这玩意儿能吃吗?人类的命运就改变了。这两个人为什么不去问 一下上帝呢?因为这两孩子「懒惰」,而「懒惰」的背后是「恐惧」。他们担心问了上帝以后受到上帝的责罚。\n>(天涯:我认为这个解释不对。那个时候的亚当和夏娃没有罪恶感,也从来没有受过责罚,怎么会有这个恐惧呢?而恐惧则是被赶出伊甸园以后人类才有的心智。)\n\n有人不好好学习,是因为就算好好学习了也未必学得好啊。如果好好学了而没有学好,就会面对失去「我不是没能力,只是不愿学而已」这块遮羞布的恐惧。\n\n尽量要做到潜意识和意识「合一」。因为潜意识里面有很多的能量,而我们由于“懒惰”以及“恐惧”不愿意去开发的,不愿意去面对的。\n\n这本书为什么叫【少有人走的路】呢?因为人人都喜欢熵增的方向,都喜欢轻松的方向,人人都喜欢懒惰的方向。喜欢部分什么劲,就得到一切的这种感觉。如果你想要变得成熟,就要费力去做一些逆熵的行为,自律的事,延迟满足的事,用行动表达「爱」的 过程。\n\n#### 两种力量\n这个世界始终是由两种力量来统治的,分别是「政治的力量」和「心灵的力量」。\n\n【政治的力量】[](def_政治的力量):以公开或者隐秘的方式,去强迫别人遵循自己的意愿。这种力量既存在于权力之中,也存在于金钱之中。然而他并不属于拥有权力或者金钱的人。归根到底,政治的力量和德行以及智慧无关,最愚蠢最邪恶的人也可能成为地球的统治者。\n【心灵的力量】[](def_心灵的力量):则完全存在于人类的心中,它和强迫、控制别人的力量没有关系。它是在意识基础上作出决定的力量。也就是「意识的力量」。\n\n如果我们的心理能够得到力量,我们就会感到舒适和愉快,在人生的旅途上稳扎稳打,循序渐进。 进步带给我们的愉悦感难以言喻。没有什么比成为人生的专家,熟知自己所做的事情,更让人感觉到幸福。我们的心灵越是成熟,就越有可能成为人生的专家。当我们的心智成熟到一定的阶段,我们就会更加谦逊而快乐。\n\n---\n\n","slug":"读书笔记/《少有人走的路》笔记","published":1,"updated":"2019-08-01T04:04:18.000Z","_id":"cka1y597q00134huu98tdadd8","comments":1,"layout":"post","photos":[],"link":"","content":"成熟 = 自律 + 爱
\n \n自律 \n【自律】 : 主动要求自己以积极的态度去承受痛苦,解决问题。
\n自律的四个原则
:延迟满足感、承担责任、忠于事实、保持平衡。:smile:
\n1 延迟满足感 \n\n \n人生当中总是绕着困难走。一个揍孩子和对孩子大喊大叫的父母就是不懂得延迟满足感的父母。 应该陪着孩子一起经历困难和痛苦。而父母试图通过家庭暴力的方式,试图将父母本身的责任区隔开。父母没有学会延迟满足感,这个孩子将来长大了也不会。很多人延迟满足感的能力非常糟糕,来自于父母的不自律。当父母不自律的时候,孩子就没法获得足够的爱和照顾。—— 所以这个孩子会忽略自我的价值。有的人喜欢浪费时间,而浪费时间的意思就是,_「我这个人的时间没什么价值」_。\n不会延迟满足感的人,在长大后看到问题会假装没看到,以为等着问题慢慢就会过去,期待问题自行消失。\n \n\n\n训斥孩子 ~> 是为了迅速达成目的,而不是耐心陪孩子面对问题。 \n父母不自律 => 孩子不自律 \n不会延迟满足感 => 有意忽略问题 \n \n \n2 承担责任 \n\n神经官能症 : 把一切东西都认为是自己的问题。 \n \n\n我如果怎么样就好了。我要是不怎么样就好了。总是充满后悔和内疚。祥林嫂
\n \n\n人格失调症 :他认为这一切都不是我的问题。他能找到任何一个理由,是因为外在的东西,他就不会责怪自己,他认为都是你们的问题。 \n \n\n「神经官能症」自己活得很痛苦,「人格失调症」让别人活得很痛苦。
\n \n\n \n作者提供在冲绳岛上的一个案例,一个军官的妻子,宁愿自杀也不愿意去学自动挡开车的事。\n从某种意义上说,所有的孩子都患有人格失调症,都会本能的逃避责罚。 同时又患有某种神经官能症,把自己承受的痛苦看成是罪有应得。缺少关心的孩子会自惭形秽,认为自己不够可爱,缺点大于优点等等。\n \n如果你不能解决问题,那么你自己就会成为问题。我们需要合理的承担责任,既不把责任全部推卸到外部,也不把责任全部揽到自己身上。保持一个合理的平衡。
\n\n 如果你不能让自己成为人格更加健全,更加成熟的人。你就会把问题带给你的孩子,带给你的家庭。
\n \n3 忠于事实 \n大量的人是生活在自己的幻想当中的。这叫人生地图 。他给自己绘制一张人生地图,他认为人生就这样,他已经认定了。这就叫做“不忠于事实”,他只 忠于自己的幻想 。
\n\n \n案例:有个人小时候被父母欺骗过,就是父母说话经常不算数。导致他潜意识积累了一个信念:“父母是不可信”的。当他的人生地图绘制出来这么一个坐标,认为父母不可信了自后,他几乎就推论到“人人都不可信”。所以在他一生的成长过程当中,他跟警察发生矛盾,跟领导发生矛盾,跟顾客发生矛盾,跟妻子发生矛盾。案例中最后他唯一信任的是他的两个孩子。妻子把两个孩子带走,所以他人生也崩溃了。他跟作者约定时间不来,然后他说能不能星期六,作者说我的时间是跟别人约过的,不能随便调整。他说:“你不是心理医生吗?为什么不能多关心我一点呢”?他认为作者(心理医生)也是不可信任的人,直接拉黑。\n \n这种人你很难跟他解释,很难让他面对真正的世界。因为在他心目当中完全是用自己的一套逻辑在解决问题。\n所以所谓的「心理治疗」,就是鼓励「说真话」的游戏。鼓励大家能够面对事实,能够把自己看到的真相,感受到的真实的感觉,说出来的一个过程。所以没有经过这样的调试,有大量的人是天天活在「幻觉」当中的,就是沉浸在自己的人生地图当中。根本不去看一看,别人的地图是什么样。也根本不去看一看实际的生活当中,事实是什么样的。
\n 移情 :人们会把对一个人的感情和经验移植在别人身上。会认为别人也这样。
\n\n 应该说移情、或者忽略史实,也是一种懒惰的表现。因为去更新地图是件很费力的事情。
\n \n4 保持平衡 \n既要承担责任,也要拒绝承担不该承担的责任。差不多又回到了「中庸」之道。「延迟满足」也不能延迟到无限, 从来不过好日子。既要延迟满足,也要过好当下的生活。要有一个富于弹性的约束机制。好像骑自行车下坡一样,既要享受速度,也要注意刹车。为了待会安全的拐弯,也要捏一捏车闸。 \n生活就是一个不断放弃的过程。必须能够学会放弃一件又一件的事情。包括接受心理治疗就是「放弃」—— 放弃了一个「自己是正常人」 的想法。
\n\n埃里克 埃里克森列举的人一生当中不断放弃的事情 \n\n首先要放弃「无需对外界要求作出回应」的婴儿状态。 \n三四岁的时候有「无所不能的幻觉」,这个要放弃掉。(为何小孩子特别喜欢绿巨人、钢铁侠、金刚狼这样的超级英雄?因为每个人在三四岁的时候都曾经幻想过自己是无所不能的超人。所以这种童话永远有市场。) \n放弃完全占有父亲或者母亲的欲望。放弃童年的依赖感。 \n放弃心中被扭曲了的父母形象。(我们曾经以为父母是完美的)放弃。 \n青春期的自以为拥有「无穷潜力」的感觉。放弃! I am the King of the World! \n无拘无束的自由 \n青年时期的灵巧与活力 \n青春时期的性吸引力;长生不老的空想。 \n对子女的权威(在子女面前总是说了算的) \n各种各样「暂时性」的权力——退休了,社会给你的权力也没有了。 \n身体永远健康——放弃 \n最后,自我以及生命本身也要放弃。 \n \n \n爱 \n【爱】 :为了促进自己和他人心智成熟,而不断拓展自我界限,实现自我完善的一种意愿。
\n\n核心观点就是「要看重心智成熟这件事」。心智成熟是发生在你和被爱的那个人之间的,两个人都需要达成心智成熟。 \n不要以为一昧的付出就是爱。爱的要求很高。要达成两个的共同成熟
\n \n一个人懂得什么是真正的爱,才能够是一个真正成熟的人。否则你会看到很多人以「爱」的名义在伤害、控制、占有对方。「爱」有以下四个误区:过度关注、坠入情网、精神灌注、自我牺牲。
\n过度关注 \n\n\n实际上是一种「依赖」 \n例子,一个妈妈,孩子都上高中了,还每天开车接送孩子上学。说孩子一个上学走太让人担心了。「过度关注」实际上是一种「依赖」。(妈妈在“依赖”这个孩子
)这种类型的人经常说的话是“没有你我活不下去”。这个小孩之所以出现在书中,是因为孩子长大后来做了心理咨询。他在人生当中做任何事情都不成功。他的能力非常的欠缺。为什么?因为他从小到大完全被母爱这样束缚着。他妈妈根本不去管孩子能否「成熟」。他妈妈根本不去管这样做对孩子的心智健康、发展有没有好处。唯一的就是「你别出事,我必须盯着你」!`她不是为对方在做这样的事,她是在为自己做这样的事情。如果发展到极致,变得很严重的话,会变成一种疾病,叫「消极性依赖人格失调症 」。—— 他必须依赖某一个外在的东西,他才能够觉得自己是存在的。如果有这么一个人,就是死死的缠住他,就是不离开他。有一个人作为对象,他才能找到自己的位置。如果找不到这样的人,就很可能会沉迷于毒品和酒精。
\n \n\n对「爱」无度的索求 \n对别人的爱根本与对方无关,他只是希望找到一个人,能够投射自己在上面,能够找到自己——「因为有人爱我,我就存在」。(例子,有个人离婚了,生活很痛苦,用酒精麻醉自己。咨询的第二天来跟医生说,我好了,我现在很幸福。因为昨晚在酒吧认识一个女人,她说她爱我。我现在很好。)总是苦思如何获得别人的爱,却没有精力去爱别人。就像饥肠辘辘的人,总想着向别人讨要食物,却拿不出食物来帮助别人。他们永远孤独寂寞,永远无法体会到满足感。
尤其可怕的是,他们不知道自己患上了「消极性依赖人格失调症」。其造成原因多是童年缺乏爱,然后总觉的自己「没资格被爱」。人要感觉自己是被爱的,才有资格跟别人平起平坐,独立地生活和对话。患有这种心理疾病的人,他根本没有感觉到自己的资格,永远都在怀疑别人不爱他。所以只要别人拒绝他,就会感到无比的痛苦和伤心。而他永远需要找到一个紧紧拉住的,依赖的对象。这不是爱,这是占有。
\n \n \n坠入情网 \n坠入情网是欲望 。是你体内的激素分泌。因为我们的基因要求我们要生殖,见到异性感觉自己爱上他了。实际上是自己的一种欲望。一段时间后当你的欲望被释放掉了,体内的激素的大潮开始退去的时候,会发现这个人看起啦那么讨厌。坠入情网实际上是「自我界限的短暂崩溃」
。除了自我界限的理论,还有以下几个点:
\n\n不是出于主管意愿,它不是一个有计划有意识的选择。(很多人只把它看成一个感觉,而不是一个「动作」,爱是一个动词,不是感觉) \n不是自我界限的扩展,而是自我界限的部分的暂时性的崩溃。扩展自我界限需要付出足够的努力,坠入情网却无需努力。 \n坠入情网唯一的作用是消除寂寞。而不是有目的的促进心灵的成长。 \n简单来说贪恋爱可能是「爱」的发端,可能能培养出来爱,但它不是「爱」本身。 \n \n精神贯注 \n爱宠物、爱好这些也不是爱
,而是「精神贯注」。就是当你把自己的精神贯注在一个事物上的时候,你以为这只狗“懂你”,其实上是“你投射在了它身上”,你在猜想它的想法。跟真正的爱不一样。为什么呢:
\n\n首先,我们跟宠物的沟通非常有限。我们不知道他们每天在想什么,却一厢情愿的把自己的想法和感受投射在它们身上。实际上这只是我们的主观愿望罢了。 \n其次,我们喜欢宠物的原因是因为它们表现乖巧,任凭摆弄。如果宠物不听话,破坏家具,随意大小便,甚至咬上我们几口。我们就可能把它赶出家门。如果要改变宠物的心智,我们只能把它送到宠物学校。如果与某个人相处,局面就完全不同了。 \n \n有一种精神贯注叫「婴儿之爱」。 很多妈妈只喜欢婴儿期的孩子。等孩子三四岁以后妈妈开始烦了。赶紧推给爷爷奶奶带。反过来呢,母爱很充沛,喜欢别人家的孩子,刚生的小婴儿。 这种不是爱,而是「唯命是从的追求」
。 比如二战后美国的「战争新娘」。一开始新娘对丈夫唯命是从,当她们懂得英语,开始融入美国社会以后,矛盾就渐渐开始产生,离婚率开始上升。
\n以上几种感情我们误以为是爱,其实不是。它们都有共同的特征,就是以「爱」作为幌子,只想满足自己的需要
。却从来不把对方的心智成熟当一回事。
\n自我牺牲 \n甚至还有人人会发展出来「自我牺牲式的爱 」。有个妻子,她老公总是欺骗她,总是有外遇。每次闹完,老公回来道歉,她又开始接受他。五六次以后,妻子去找心理医生谈。心理医生告诉她要想清楚,不能老是这样接受他。有一次这个妻子说,我又原谅他了,这次他是真的改好了。他特别怎么怎么样。结果医生发现这个妻子有“受虐倾向”。有受虐倾向的人,会把「自我牺牲」当作是「爱」。他们觉得只要我能够牺牲、奉献就好。
\n这些东西也是来自童年的经历,就是他童年当中如果有一个这样的“楷模”,总是以自我牺牲为标榜,总是以为我为别人牺牲了那么多,所以 “你看我多好,多高尚”,他在潜意识当中就会慢慢接受“自我牺牲就是爱”这种想法。
\n\n **自我界限**: \n小孩子刚出生的时候是没有自我界限的。他在挥动胳膊的时候,觉得整个房间都在动,他与这个世界没有是分割的。到了两三岁发现自己挥动胳膊的时候,房间没有动,甚至他发现自己哭的时候,别人并不饿。 才能慢慢感受到原来自己跟他人是不一样的。到青春期这个人的自我界限已经开始完全封闭起来了。原来这个世界只有我自己,连我的父母都不了解我,我的喜怒哀乐他们根本不知道。所以人们开始陷入深深的孤独。青春期的孩子觉得自己最“孤独”,他觉得没人理解他,我是一个完全独一无二的个体,谁跟我都不一样,他的自我界限完全封闭起来。\n到了谈恋爱。谈恋爱是需要冒风险的,你是需要有勇气打开自我的界限,和另外一个人融为一体的。所以初恋的时候,很多人会有「**圣洁**」的感觉。就是“我打开了”,有一个人竟然“完全懂我”。有一个人可以跟我融为一体,那种水乳交融的感觉,他以为自己找到了「真爱」。因为他的边界在短期的崩溃。当他的自我边界崩溃以后,他感受到了生命的狂喜,那个就是短暂的获得了「爱」的感觉。但是那是假象。`因为那个并不建立在令我和对方人格不断成熟的一个过程当中。他并不是希望达成心智的成熟,他只是自我边界的短暂崩溃`。所以过了一两个月以后,这个自我界限慢慢弥合起来,他发现说“这个人怎么跟我也不一样”?“这个人的想法跟我也不同”。 现在的孩子谈恋爱特别快,有感觉就谈,没感觉了就分。把「感觉」当成了「爱」,事实上感觉只是欲望,是性欲。\n 但不要觉得欲望不是一件好事,无论是欲望,还是依赖,或者过度关注这样的东西,都是`培养爱的基础`。\n正是因为两个人打破了边界,走到一起,双方有可能为对方作出了承诺。接下来为了完成自己的承诺,需要不断的努力,需要有自律性。当你的自律性跟承诺相结合在起来的时候,你的这个短暂的恋爱的感觉爱,会慢慢滋生出真正的爱。 能够带来对方和自己心智共同的成熟。\n \n \n真正的「爱」
:爱是实际行动,是真正的付出。
\n爱的感觉与精神贯注密不可分。后者是把情感与兴趣贯注在对外的对象上,将其当作属于自己的一部分。精神贯注虽然跟真正的爱容易混淆,但是依然有显著的区别。首先,精神贯注的对象不一定是有生命的事物。因此就不见得会有心灵的感受。其次,对某种事物产生精神贯注的人,未必会重视其心智的成熟。(比如无原则溺爱孩子的父母)第三,精神贯注可能与智慧和责任无关。(酒吧认识一个人,立刻就情有所钟。但没有任何计划性,没有后续责任)。最后,精神贯注随时都有可能消失。今晚还很开心,明天不开心就分手啰。
\n 真正的爱需要投入和奉献,需要付出全部的智慧与力量。要使爱的对象得到成长,就必须付出足够多的努力,不然爱的愿望就会落空。 唯有真正的投入与奉献,才是实现爱的有效方式。真正的爱是自主的选择,无论「爱」的「感觉」是否存在, 都要奉献出情感和智慧。
\n \n「爱」的表现
\n\n倾听。我们真的能够拿出时间来,认真倾听对方的说话。最起码的尊重是通过倾听来展开的,我们要做一个良好的「倾听者」。 \n要有心里准备,接受爱的时候,就要准备承担风险。(有人经历过丧失亲人,之后就特别怕建立亲密关系。因为怕失去,「失去」的痛苦吓坏了他。)(爱还要面临冲突的风险。) \n需要尊重对方的独立性。否则就是占有,就是依赖。 \n \n信仰 \n科学也是信仰 \n科学也是一种信仰。这个世界上上信科学的人比信宗教的人多。人不是生活在一个真实的世界当中的,人是生活在思想家为我们所设定的思想通道当中的。科学家在不断的拓宽我们人类的视线,建立了科学的信仰。 作者认为宗教的信仰在某种程度上可能会导致人的某些情况下的精神分裂。但是在某些情况下也会带来信念,帮助人们解决心理的问题。比喻:倒洗澡水的时候,千万不要把婴儿也倒出去。对待信仰的时候,不能过于简单化。
\n原罪 \n作者认为人类的「原罪」
就是「懒惰」
。
\n自律需要用力,爱需要用力,这个世界天然的方向是「熵增」,屋子一定会变乱。我花力气把屋子整理干净十个「逆熵」的过程,逆熵是需要话费气力的。 人天生喜欢熵增,喜欢懒惰。在伊甸园,其实上帝经常在园子里散步。这两孩子如果能去问一下,这玩意儿能吃吗?人类的命运就改变了。这两个人为什么不去问 一下上帝呢?因为这两孩子「懒惰」,而「懒惰」的背后是「恐惧」。他们担心问了上帝以后受到上帝的责罚。
\n\n(天涯:我认为这个解释不对。那个时候的亚当和夏娃没有罪恶感,也从来没有受过责罚,怎么会有这个恐惧呢?而恐惧则是被赶出伊甸园以后人类才有的心智。)
\n \n有人不好好学习,是因为就算好好学习了也未必学得好啊。如果好好学了而没有学好,就会面对失去「我不是没能力,只是不愿学而已」这块遮羞布的恐惧。
\n尽量要做到潜意识和意识「合一」。因为潜意识里面有很多的能量,而我们由于“懒惰”以及“恐惧”不愿意去开发的,不愿意去面对的。
\n这本书为什么叫【少有人走的路】呢?因为人人都喜欢熵增的方向,都喜欢轻松的方向,人人都喜欢懒惰的方向。喜欢部分什么劲,就得到一切的这种感觉。如果你想要变得成熟,就要费力去做一些逆熵的行为,自律的事,延迟满足的事,用行动表达「爱」的 过程。
\n两种力量 \n这个世界始终是由两种力量来统治的,分别是「政治的力量」和「心灵的力量」。
\n【政治的力量】 :以公开或者隐秘的方式,去强迫别人遵循自己的意愿。这种力量既存在于权力之中,也存在于金钱之中。然而他并不属于拥有权力或者金钱的人。归根到底,政治的力量和德行以及智慧无关,最愚蠢最邪恶的人也可能成为地球的统治者。 \n【心灵的力量】 :则完全存在于人类的心中,它和强迫、控制别人的力量没有关系。它是在意识基础上作出决定的力量。也就是「意识的力量」。
\n如果我们的心理能够得到力量,我们就会感到舒适和愉快,在人生的旅途上稳扎稳打,循序渐进。 进步带给我们的愉悦感难以言喻。没有什么比成为人生的专家,熟知自己所做的事情,更让人感觉到幸福。我们的心灵越是成熟,就越有可能成为人生的专家。当我们的心智成熟到一定的阶段,我们就会更加谦逊而快乐。
\n \n","site":{"data":{}},"excerpt":"成熟 = 自律 + 爱
","more":"自律 \n【自律】 : 主动要求自己以积极的态度去承受痛苦,解决问题。
\n自律的四个原则
:延迟满足感、承担责任、忠于事实、保持平衡。:smile:
\n1 延迟满足感 \n\n \n人生当中总是绕着困难走。一个揍孩子和对孩子大喊大叫的父母就是不懂得延迟满足感的父母。 应该陪着孩子一起经历困难和痛苦。而父母试图通过家庭暴力的方式,试图将父母本身的责任区隔开。父母没有学会延迟满足感,这个孩子将来长大了也不会。很多人延迟满足感的能力非常糟糕,来自于父母的不自律。当父母不自律的时候,孩子就没法获得足够的爱和照顾。—— 所以这个孩子会忽略自我的价值。有的人喜欢浪费时间,而浪费时间的意思就是,_「我这个人的时间没什么价值」_。\n不会延迟满足感的人,在长大后看到问题会假装没看到,以为等着问题慢慢就会过去,期待问题自行消失。\n \n\n\n训斥孩子 ~> 是为了迅速达成目的,而不是耐心陪孩子面对问题。 \n父母不自律 => 孩子不自律 \n不会延迟满足感 => 有意忽略问题 \n \n \n2 承担责任 \n\n神经官能症 : 把一切东西都认为是自己的问题。 \n \n\n我如果怎么样就好了。我要是不怎么样就好了。总是充满后悔和内疚。祥林嫂
\n \n\n人格失调症 :他认为这一切都不是我的问题。他能找到任何一个理由,是因为外在的东西,他就不会责怪自己,他认为都是你们的问题。 \n \n\n「神经官能症」自己活得很痛苦,「人格失调症」让别人活得很痛苦。
\n \n\n \n作者提供在冲绳岛上的一个案例,一个军官的妻子,宁愿自杀也不愿意去学自动挡开车的事。\n从某种意义上说,所有的孩子都患有人格失调症,都会本能的逃避责罚。 同时又患有某种神经官能症,把自己承受的痛苦看成是罪有应得。缺少关心的孩子会自惭形秽,认为自己不够可爱,缺点大于优点等等。\n \n如果你不能解决问题,那么你自己就会成为问题。我们需要合理的承担责任,既不把责任全部推卸到外部,也不把责任全部揽到自己身上。保持一个合理的平衡。
\n\n 如果你不能让自己成为人格更加健全,更加成熟的人。你就会把问题带给你的孩子,带给你的家庭。
\n \n3 忠于事实 \n大量的人是生活在自己的幻想当中的。这叫人生地图 。他给自己绘制一张人生地图,他认为人生就这样,他已经认定了。这就叫做“不忠于事实”,他只 忠于自己的幻想 。
\n\n \n案例:有个人小时候被父母欺骗过,就是父母说话经常不算数。导致他潜意识积累了一个信念:“父母是不可信”的。当他的人生地图绘制出来这么一个坐标,认为父母不可信了自后,他几乎就推论到“人人都不可信”。所以在他一生的成长过程当中,他跟警察发生矛盾,跟领导发生矛盾,跟顾客发生矛盾,跟妻子发生矛盾。案例中最后他唯一信任的是他的两个孩子。妻子把两个孩子带走,所以他人生也崩溃了。他跟作者约定时间不来,然后他说能不能星期六,作者说我的时间是跟别人约过的,不能随便调整。他说:“你不是心理医生吗?为什么不能多关心我一点呢”?他认为作者(心理医生)也是不可信任的人,直接拉黑。\n \n这种人你很难跟他解释,很难让他面对真正的世界。因为在他心目当中完全是用自己的一套逻辑在解决问题。\n所以所谓的「心理治疗」,就是鼓励「说真话」的游戏。鼓励大家能够面对事实,能够把自己看到的真相,感受到的真实的感觉,说出来的一个过程。所以没有经过这样的调试,有大量的人是天天活在「幻觉」当中的,就是沉浸在自己的人生地图当中。根本不去看一看,别人的地图是什么样。也根本不去看一看实际的生活当中,事实是什么样的。
\n 移情 :人们会把对一个人的感情和经验移植在别人身上。会认为别人也这样。
\n\n 应该说移情、或者忽略史实,也是一种懒惰的表现。因为去更新地图是件很费力的事情。
\n \n4 保持平衡 \n既要承担责任,也要拒绝承担不该承担的责任。差不多又回到了「中庸」之道。「延迟满足」也不能延迟到无限, 从来不过好日子。既要延迟满足,也要过好当下的生活。要有一个富于弹性的约束机制。好像骑自行车下坡一样,既要享受速度,也要注意刹车。为了待会安全的拐弯,也要捏一捏车闸。 \n生活就是一个不断放弃的过程。必须能够学会放弃一件又一件的事情。包括接受心理治疗就是「放弃」—— 放弃了一个「自己是正常人」 的想法。
\n\n埃里克 埃里克森列举的人一生当中不断放弃的事情 \n\n首先要放弃「无需对外界要求作出回应」的婴儿状态。 \n三四岁的时候有「无所不能的幻觉」,这个要放弃掉。(为何小孩子特别喜欢绿巨人、钢铁侠、金刚狼这样的超级英雄?因为每个人在三四岁的时候都曾经幻想过自己是无所不能的超人。所以这种童话永远有市场。) \n放弃完全占有父亲或者母亲的欲望。放弃童年的依赖感。 \n放弃心中被扭曲了的父母形象。(我们曾经以为父母是完美的)放弃。 \n青春期的自以为拥有「无穷潜力」的感觉。放弃! I am the King of the World! \n无拘无束的自由 \n青年时期的灵巧与活力 \n青春时期的性吸引力;长生不老的空想。 \n对子女的权威(在子女面前总是说了算的) \n各种各样「暂时性」的权力——退休了,社会给你的权力也没有了。 \n身体永远健康——放弃 \n最后,自我以及生命本身也要放弃。 \n \n \n爱 \n【爱】 :为了促进自己和他人心智成熟,而不断拓展自我界限,实现自我完善的一种意愿。
\n\n核心观点就是「要看重心智成熟这件事」。心智成熟是发生在你和被爱的那个人之间的,两个人都需要达成心智成熟。 \n不要以为一昧的付出就是爱。爱的要求很高。要达成两个的共同成熟
\n \n一个人懂得什么是真正的爱,才能够是一个真正成熟的人。否则你会看到很多人以「爱」的名义在伤害、控制、占有对方。「爱」有以下四个误区:过度关注、坠入情网、精神灌注、自我牺牲。
\n过度关注 \n\n\n实际上是一种「依赖」 \n例子,一个妈妈,孩子都上高中了,还每天开车接送孩子上学。说孩子一个上学走太让人担心了。「过度关注」实际上是一种「依赖」。(妈妈在“依赖”这个孩子
)这种类型的人经常说的话是“没有你我活不下去”。这个小孩之所以出现在书中,是因为孩子长大后来做了心理咨询。他在人生当中做任何事情都不成功。他的能力非常的欠缺。为什么?因为他从小到大完全被母爱这样束缚着。他妈妈根本不去管孩子能否「成熟」。他妈妈根本不去管这样做对孩子的心智健康、发展有没有好处。唯一的就是「你别出事,我必须盯着你」!`她不是为对方在做这样的事,她是在为自己做这样的事情。如果发展到极致,变得很严重的话,会变成一种疾病,叫「消极性依赖人格失调症 」。—— 他必须依赖某一个外在的东西,他才能够觉得自己是存在的。如果有这么一个人,就是死死的缠住他,就是不离开他。有一个人作为对象,他才能找到自己的位置。如果找不到这样的人,就很可能会沉迷于毒品和酒精。
\n \n\n对「爱」无度的索求 \n对别人的爱根本与对方无关,他只是希望找到一个人,能够投射自己在上面,能够找到自己——「因为有人爱我,我就存在」。(例子,有个人离婚了,生活很痛苦,用酒精麻醉自己。咨询的第二天来跟医生说,我好了,我现在很幸福。因为昨晚在酒吧认识一个女人,她说她爱我。我现在很好。)总是苦思如何获得别人的爱,却没有精力去爱别人。就像饥肠辘辘的人,总想着向别人讨要食物,却拿不出食物来帮助别人。他们永远孤独寂寞,永远无法体会到满足感。
尤其可怕的是,他们不知道自己患上了「消极性依赖人格失调症」。其造成原因多是童年缺乏爱,然后总觉的自己「没资格被爱」。人要感觉自己是被爱的,才有资格跟别人平起平坐,独立地生活和对话。患有这种心理疾病的人,他根本没有感觉到自己的资格,永远都在怀疑别人不爱他。所以只要别人拒绝他,就会感到无比的痛苦和伤心。而他永远需要找到一个紧紧拉住的,依赖的对象。这不是爱,这是占有。
\n \n \n坠入情网 \n坠入情网是欲望 。是你体内的激素分泌。因为我们的基因要求我们要生殖,见到异性感觉自己爱上他了。实际上是自己的一种欲望。一段时间后当你的欲望被释放掉了,体内的激素的大潮开始退去的时候,会发现这个人看起啦那么讨厌。坠入情网实际上是「自我界限的短暂崩溃」
。除了自我界限的理论,还有以下几个点:
\n\n不是出于主管意愿,它不是一个有计划有意识的选择。(很多人只把它看成一个感觉,而不是一个「动作」,爱是一个动词,不是感觉) \n不是自我界限的扩展,而是自我界限的部分的暂时性的崩溃。扩展自我界限需要付出足够的努力,坠入情网却无需努力。 \n坠入情网唯一的作用是消除寂寞。而不是有目的的促进心灵的成长。 \n简单来说贪恋爱可能是「爱」的发端,可能能培养出来爱,但它不是「爱」本身。 \n \n精神贯注 \n爱宠物、爱好这些也不是爱
,而是「精神贯注」。就是当你把自己的精神贯注在一个事物上的时候,你以为这只狗“懂你”,其实上是“你投射在了它身上”,你在猜想它的想法。跟真正的爱不一样。为什么呢:
\n\n首先,我们跟宠物的沟通非常有限。我们不知道他们每天在想什么,却一厢情愿的把自己的想法和感受投射在它们身上。实际上这只是我们的主观愿望罢了。 \n其次,我们喜欢宠物的原因是因为它们表现乖巧,任凭摆弄。如果宠物不听话,破坏家具,随意大小便,甚至咬上我们几口。我们就可能把它赶出家门。如果要改变宠物的心智,我们只能把它送到宠物学校。如果与某个人相处,局面就完全不同了。 \n \n有一种精神贯注叫「婴儿之爱」。 很多妈妈只喜欢婴儿期的孩子。等孩子三四岁以后妈妈开始烦了。赶紧推给爷爷奶奶带。反过来呢,母爱很充沛,喜欢别人家的孩子,刚生的小婴儿。 这种不是爱,而是「唯命是从的追求」
。 比如二战后美国的「战争新娘」。一开始新娘对丈夫唯命是从,当她们懂得英语,开始融入美国社会以后,矛盾就渐渐开始产生,离婚率开始上升。
\n以上几种感情我们误以为是爱,其实不是。它们都有共同的特征,就是以「爱」作为幌子,只想满足自己的需要
。却从来不把对方的心智成熟当一回事。
\n自我牺牲 \n甚至还有人人会发展出来「自我牺牲式的爱 」。有个妻子,她老公总是欺骗她,总是有外遇。每次闹完,老公回来道歉,她又开始接受他。五六次以后,妻子去找心理医生谈。心理医生告诉她要想清楚,不能老是这样接受他。有一次这个妻子说,我又原谅他了,这次他是真的改好了。他特别怎么怎么样。结果医生发现这个妻子有“受虐倾向”。有受虐倾向的人,会把「自我牺牲」当作是「爱」。他们觉得只要我能够牺牲、奉献就好。
\n这些东西也是来自童年的经历,就是他童年当中如果有一个这样的“楷模”,总是以自我牺牲为标榜,总是以为我为别人牺牲了那么多,所以 “你看我多好,多高尚”,他在潜意识当中就会慢慢接受“自我牺牲就是爱”这种想法。
\n\n **自我界限**: \n小孩子刚出生的时候是没有自我界限的。他在挥动胳膊的时候,觉得整个房间都在动,他与这个世界没有是分割的。到了两三岁发现自己挥动胳膊的时候,房间没有动,甚至他发现自己哭的时候,别人并不饿。 才能慢慢感受到原来自己跟他人是不一样的。到青春期这个人的自我界限已经开始完全封闭起来了。原来这个世界只有我自己,连我的父母都不了解我,我的喜怒哀乐他们根本不知道。所以人们开始陷入深深的孤独。青春期的孩子觉得自己最“孤独”,他觉得没人理解他,我是一个完全独一无二的个体,谁跟我都不一样,他的自我界限完全封闭起来。\n到了谈恋爱。谈恋爱是需要冒风险的,你是需要有勇气打开自我的界限,和另外一个人融为一体的。所以初恋的时候,很多人会有「**圣洁**」的感觉。就是“我打开了”,有一个人竟然“完全懂我”。有一个人可以跟我融为一体,那种水乳交融的感觉,他以为自己找到了「真爱」。因为他的边界在短期的崩溃。当他的自我边界崩溃以后,他感受到了生命的狂喜,那个就是短暂的获得了「爱」的感觉。但是那是假象。`因为那个并不建立在令我和对方人格不断成熟的一个过程当中。他并不是希望达成心智的成熟,他只是自我边界的短暂崩溃`。所以过了一两个月以后,这个自我界限慢慢弥合起来,他发现说“这个人怎么跟我也不一样”?“这个人的想法跟我也不同”。 现在的孩子谈恋爱特别快,有感觉就谈,没感觉了就分。把「感觉」当成了「爱」,事实上感觉只是欲望,是性欲。\n 但不要觉得欲望不是一件好事,无论是欲望,还是依赖,或者过度关注这样的东西,都是`培养爱的基础`。\n正是因为两个人打破了边界,走到一起,双方有可能为对方作出了承诺。接下来为了完成自己的承诺,需要不断的努力,需要有自律性。当你的自律性跟承诺相结合在起来的时候,你的这个短暂的恋爱的感觉爱,会慢慢滋生出真正的爱。 能够带来对方和自己心智共同的成熟。\n \n \n真正的「爱」
:爱是实际行动,是真正的付出。
\n爱的感觉与精神贯注密不可分。后者是把情感与兴趣贯注在对外的对象上,将其当作属于自己的一部分。精神贯注虽然跟真正的爱容易混淆,但是依然有显著的区别。首先,精神贯注的对象不一定是有生命的事物。因此就不见得会有心灵的感受。其次,对某种事物产生精神贯注的人,未必会重视其心智的成熟。(比如无原则溺爱孩子的父母)第三,精神贯注可能与智慧和责任无关。(酒吧认识一个人,立刻就情有所钟。但没有任何计划性,没有后续责任)。最后,精神贯注随时都有可能消失。今晚还很开心,明天不开心就分手啰。
\n 真正的爱需要投入和奉献,需要付出全部的智慧与力量。要使爱的对象得到成长,就必须付出足够多的努力,不然爱的愿望就会落空。 唯有真正的投入与奉献,才是实现爱的有效方式。真正的爱是自主的选择,无论「爱」的「感觉」是否存在, 都要奉献出情感和智慧。
\n \n「爱」的表现
\n\n倾听。我们真的能够拿出时间来,认真倾听对方的说话。最起码的尊重是通过倾听来展开的,我们要做一个良好的「倾听者」。 \n要有心里准备,接受爱的时候,就要准备承担风险。(有人经历过丧失亲人,之后就特别怕建立亲密关系。因为怕失去,「失去」的痛苦吓坏了他。)(爱还要面临冲突的风险。) \n需要尊重对方的独立性。否则就是占有,就是依赖。 \n \n信仰 \n科学也是信仰 \n科学也是一种信仰。这个世界上上信科学的人比信宗教的人多。人不是生活在一个真实的世界当中的,人是生活在思想家为我们所设定的思想通道当中的。科学家在不断的拓宽我们人类的视线,建立了科学的信仰。 作者认为宗教的信仰在某种程度上可能会导致人的某些情况下的精神分裂。但是在某些情况下也会带来信念,帮助人们解决心理的问题。比喻:倒洗澡水的时候,千万不要把婴儿也倒出去。对待信仰的时候,不能过于简单化。
\n原罪 \n作者认为人类的「原罪」
就是「懒惰」
。
\n自律需要用力,爱需要用力,这个世界天然的方向是「熵增」,屋子一定会变乱。我花力气把屋子整理干净十个「逆熵」的过程,逆熵是需要话费气力的。 人天生喜欢熵增,喜欢懒惰。在伊甸园,其实上帝经常在园子里散步。这两孩子如果能去问一下,这玩意儿能吃吗?人类的命运就改变了。这两个人为什么不去问 一下上帝呢?因为这两孩子「懒惰」,而「懒惰」的背后是「恐惧」。他们担心问了上帝以后受到上帝的责罚。
\n\n(天涯:我认为这个解释不对。那个时候的亚当和夏娃没有罪恶感,也从来没有受过责罚,怎么会有这个恐惧呢?而恐惧则是被赶出伊甸园以后人类才有的心智。)
\n \n有人不好好学习,是因为就算好好学习了也未必学得好啊。如果好好学了而没有学好,就会面对失去「我不是没能力,只是不愿学而已」这块遮羞布的恐惧。
\n尽量要做到潜意识和意识「合一」。因为潜意识里面有很多的能量,而我们由于“懒惰”以及“恐惧”不愿意去开发的,不愿意去面对的。
\n这本书为什么叫【少有人走的路】呢?因为人人都喜欢熵增的方向,都喜欢轻松的方向,人人都喜欢懒惰的方向。喜欢部分什么劲,就得到一切的这种感觉。如果你想要变得成熟,就要费力去做一些逆熵的行为,自律的事,延迟满足的事,用行动表达「爱」的 过程。
\n两种力量 \n这个世界始终是由两种力量来统治的,分别是「政治的力量」和「心灵的力量」。
\n【政治的力量】 :以公开或者隐秘的方式,去强迫别人遵循自己的意愿。这种力量既存在于权力之中,也存在于金钱之中。然而他并不属于拥有权力或者金钱的人。归根到底,政治的力量和德行以及智慧无关,最愚蠢最邪恶的人也可能成为地球的统治者。 \n【心灵的力量】 :则完全存在于人类的心中,它和强迫、控制别人的力量没有关系。它是在意识基础上作出决定的力量。也就是「意识的力量」。
\n如果我们的心理能够得到力量,我们就会感到舒适和愉快,在人生的旅途上稳扎稳打,循序渐进。 进步带给我们的愉悦感难以言喻。没有什么比成为人生的专家,熟知自己所做的事情,更让人感觉到幸福。我们的心灵越是成熟,就越有可能成为人生的专家。当我们的心智成熟到一定的阶段,我们就会更加谦逊而快乐。
\n "},{"title":"JavaScript & Typescript技术摘要","date":"2019-09-14T07:32:15.000Z","urlname":"javascript-typescript-skills","toc":true,"notshow":false,"_content":"\nJavasript 和 Typescript 的重要技巧。\n\n\n\n\n### 零散知识点\n\n- 列举 [Enum](https://www.typescriptlang.org/docs/handbook/enums.html) \n\n### Promise\n\n##### 输出链条\n\n文档 [Promises chaning](https://javascript.info/promise-chaining) \n\n:pencil2: 可以在 `then` 函数里面跑出 结果 `或者` 第二个 `Promise` \n\n##### 等待多个 Promise\n\n```javascript\nlet p1 = promise1\nlet p2 = promise2\nconst promises = Promise.all([p1, p2])\nreturn promises\n```\n\n### 声明以及定义扩展\n\n在 `*.d.ts` 文件中声明类型 \n\n```javascript\ndeclare type Book = {\n\ttitle: string,\n\tcomment?: string\n}\n```\n\n 对 JavaScript 的原型进行扩展, 在一个 TS 文件进行定义和实现\n\n```typescript\n// ...path/common.ts\nexport {} // this will make it module\ndeclare global {\n interface String {\n IsNullOrEmpty():boolean;\n Latex(color?:string):string;\n }\n}\n\nString.prototype.IsNullOrEmpty = function(){\n return this == undefined || this == null || this == \"\"\n}\n```\n\n在需要的地方引用\n\n```typescript\nimport '..path/common';\n\nlet str = \"\"\nconst is_it_empty = str.IsNullOrEmpty()\n```\n\n\n\n### 读取文本\n\n###### Html5 标准按钮\n\n```html\n
\n```\n\nJavascript 读取文本内容并转为数据库 (*使用 sql.js*)\n\n```javascript\nLoadLocalFile(file) {\n const fileurl: File = file.target.files[0];\n const reader = new FileReader();\n reader.onload = () => {\n console.log('read file:', reader.result);\n const buffer = reader.result;\n const Uints = new Uint8Array(buffer as ArrayBuffer);\n const db = new SQL.Database(Uints);\n const nodes = db.exec('SELECT * From node');\n console.log(nodes);\n };\n\n reader.readAsArrayBuffer(fileurl);\n }\n```\n\n###### 使用nix-file-helpers 插件\n\n[文档地址](https://www.npmjs.com/package/ngx-file-helpers)\n\n[演示地址](https://www.npmjs.com/package/ngx-file-helpers)\n\nHtml\n\n```html\n导入案例 \n```\n\n代码,读取文件\n\n```javascript\nonFilePicked(file: ReadFile) {\n const Uints = new Uint8Array(file.content as ArrayBuffer);\n const db = new SQL.Database(Uints);\n const nodes = db.exec('SELECT * From node');\n console.log(nodes);\n }\n```\n\n\n\n\n\n### 测试\n\n###### 引用第三方js文件\n\n在 **angular.json** 文件的 `test-->scripts` 中添加需要引用的文件。","source":"_posts/IT/Code/Javascript技术摘要.md","raw":"---\ntitle: JavaScript & Typescript技术摘要\ndate: 2019-09-14 09:32:15\nurlname: javascript-typescript-skills\ntoc: true\ntags: [Hexo]\ncategories: [IT, Code]\nnotshow: false\n---\n\nJavasript 和 Typescript 的重要技巧。\n\n\n\n\n### 零散知识点\n\n- 列举 [Enum](https://www.typescriptlang.org/docs/handbook/enums.html) \n\n### Promise\n\n##### 输出链条\n\n文档 [Promises chaning](https://javascript.info/promise-chaining) \n\n:pencil2: 可以在 `then` 函数里面跑出 结果 `或者` 第二个 `Promise` \n\n##### 等待多个 Promise\n\n```javascript\nlet p1 = promise1\nlet p2 = promise2\nconst promises = Promise.all([p1, p2])\nreturn promises\n```\n\n### 声明以及定义扩展\n\n在 `*.d.ts` 文件中声明类型 \n\n```javascript\ndeclare type Book = {\n\ttitle: string,\n\tcomment?: string\n}\n```\n\n 对 JavaScript 的原型进行扩展, 在一个 TS 文件进行定义和实现\n\n```typescript\n// ...path/common.ts\nexport {} // this will make it module\ndeclare global {\n interface String {\n IsNullOrEmpty():boolean;\n Latex(color?:string):string;\n }\n}\n\nString.prototype.IsNullOrEmpty = function(){\n return this == undefined || this == null || this == \"\"\n}\n```\n\n在需要的地方引用\n\n```typescript\nimport '..path/common';\n\nlet str = \"\"\nconst is_it_empty = str.IsNullOrEmpty()\n```\n\n\n\n### 读取文本\n\n###### Html5 标准按钮\n\n```html\n
\n```\n\nJavascript 读取文本内容并转为数据库 (*使用 sql.js*)\n\n```javascript\nLoadLocalFile(file) {\n const fileurl: File = file.target.files[0];\n const reader = new FileReader();\n reader.onload = () => {\n console.log('read file:', reader.result);\n const buffer = reader.result;\n const Uints = new Uint8Array(buffer as ArrayBuffer);\n const db = new SQL.Database(Uints);\n const nodes = db.exec('SELECT * From node');\n console.log(nodes);\n };\n\n reader.readAsArrayBuffer(fileurl);\n }\n```\n\n###### 使用nix-file-helpers 插件\n\n[文档地址](https://www.npmjs.com/package/ngx-file-helpers)\n\n[演示地址](https://www.npmjs.com/package/ngx-file-helpers)\n\nHtml\n\n```html\n导入案例 \n```\n\n代码,读取文件\n\n```javascript\nonFilePicked(file: ReadFile) {\n const Uints = new Uint8Array(file.content as ArrayBuffer);\n const db = new SQL.Database(Uints);\n const nodes = db.exec('SELECT * From node');\n console.log(nodes);\n }\n```\n\n\n\n\n\n### 测试\n\n###### 引用第三方js文件\n\n在 **angular.json** 文件的 `test-->scripts` 中添加需要引用的文件。","slug":"IT/Code/Javascript技术摘要","published":1,"updated":"2020-05-11T03:54:03.957Z","_id":"cka1y597r00154huu5w41rgul","comments":1,"layout":"post","photos":[],"link":"","content":"Javasript 和 Typescript 的重要技巧。
\n \n零散知识点 \n\nPromise \n输出链条 \n文档 Promises chaning
\n:pencil2: 可以在 then
函数里面跑出 结果 或者
第二个 Promise
\n等待多个 Promise \n1 2 3 4 let p1 = promise1let p2 = promise2const promises = Promise .all([p1, p2])return promises
\n声明以及定义扩展 \n在 *.d.ts
文件中声明类型
\n1 2 3 4 declare type Book = { \ttitle: string, \tcomment?: string }
\n对 JavaScript 的原型进行扩展, 在一个 TS 文件进行定义和实现
\n1 2 3 4 5 6 7 8 9 10 11 12 export {} declare global { interface String { IsNullOrEmpty():boolean ; Latex(color?:string ):string ; } } String .prototype.IsNullOrEmpty = function ( ) { return this == undefined || this == null || this == \"\" }
\n在需要的地方引用
\n1 2 3 4 import '..path/common' ;let str = \"\" const is_it_empty = str.IsNullOrEmpty()
\n读取文本 \nHtml5 标准按钮 \n1 <div type ='file' (change )='LoadLocalFile($event)' > </div >
\nJavascript 读取文本内容并转为数据库 (使用 sql.js )
\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 LoadLocalFile(file) { const fileurl: File = file.target.files[0 ]; const reader = new FileReader(); reader.onload = () => { console .log('read file:' , reader.result); const buffer = reader.result; const Uints = new Uint8Array (buffer as ArrayBuffer ); const db = new SQL.Database(Uints); const nodes = db.exec('SELECT * From node' ); console .log(nodes); }; reader.readAsArrayBuffer(fileurl); }
\n使用nix-file-helpers 插件 \n文档地址
\n演示地址
\nHtml
\n1 2 3 4 5 <ion-button ngxFilePicker #filePicker =\"ngxFilePicker\" [readMode ]=\"readMode\" (readStart )=\"onReadStart($event)\" (filePick )=\"onFilePicked($event)\" (readEnd )=\"onReadEnd($event)\" > 导入案例</ion-button >
\n代码,读取文件
\n1 2 3 4 5 6 onFilePicked(file: ReadFile) { const Uints = new Uint8Array (file.content as ArrayBuffer ); const db = new SQL.Database(Uints); const nodes = db.exec('SELECT * From node' ); console .log(nodes); }
\n测试 \n引用第三方js文件 \n在 angular.json 文件的 test-->scripts
中添加需要引用的文件。
\n","site":{"data":{}},"excerpt":"Javasript 和 Typescript 的重要技巧。
","more":"零散知识点 \n\nPromise \n输出链条 \n文档 Promises chaning
\n:pencil2: 可以在 then
函数里面跑出 结果 或者
第二个 Promise
\n等待多个 Promise \n\n声明以及定义扩展 \n在 *.d.ts
文件中声明类型
\n\n对 JavaScript 的原型进行扩展, 在一个 TS 文件进行定义和实现
\n\n在需要的地方引用
\n\n读取文本 \nHtml5 标准按钮 \n\nJavascript 读取文本内容并转为数据库 (使用 sql.js )
\n\n使用nix-file-helpers 插件 \n文档地址
\n演示地址
\nHtml
\n\n代码,读取文件
\n\n测试 \n引用第三方js文件 \n在 angular.json 文件的 test-->scripts
中添加需要引用的文件。
"},{"title":"Mac使用标签","date":"2019-07-22T16:58:50.000Z","urlname":"mac-using-tags","toc":true,"notshow":true,"_content":"## 使用标签\n在 Mac 上,执行以下任一项操作:\n\n- 给打开的文件添加标签:将鼠标指针悬停在文稿标题右侧,点按箭头,在“标签”栏中点按,然后输入新标签,或者从列表中选取一个标签。\n- 存储新文件时添加标签:点按“文件”>“存储”。在“存储”对话框中,在“标签”栏中点按,然后输入新标签,或者从列表中选取一个标签。\n- 给桌面上或“访达”中的文件添加标签:选择项目,然后打开“文件”菜单。也可以按住 Control 键点按该项目,或用双指轻点它。在“标签”下方选取颜色![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_blue_circle.png),或点按“标签”以从更多标签中进行选择或输入新标签。在“访达”窗口中,也可以选择该项目,点按“标签”按钮 ![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_tag.png),然后输入新标签,或从列表中选取一个标签。\n\n## 查找含有标签的项目\n\n1. 在 Mac 上,点按程序坞中的“访达”图标 ![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_finder.png)以打开“访达”窗口。\n2. 请执行以下一项操作:\n - 搜索标签:在搜索栏中输入标签颜色或名称,然后从建议中选择该标签。\n - 在边栏中选择标签:若要查看带有某个标签的所有项目,请在“访达”边栏中点按标签![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_blue_circle.png)。若要更改在边栏中看到的项目,请选取“访达”>“偏好设置”,点按“标签”,然后选择想要查看的标签。\n - 按标签将项目分组: 点按“分组”按钮![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_group.png),然后选取“标签”。\n - 按标签排序项目:在任何显示方式下,选取“显示”>“查看显示选项”,点按“排序方式”弹出式菜单,然后选取“标签”。在“列表显示”下,选择“标签”复选框以显示分栏,将指针移到“标签”分栏上方,然后点按。再次点按分栏名称来倒序排列。\n\n## 移除标签\n\n在 Mac 上,请执行以下一项操作:\n\n- 从项目中移除标签:按住 Control 键点按项目或使用双指轻点项目,然后点按“标签”。选择您想要移除的标签,然后按下 Delete 键。\n- 从 Mac 中移除标签:在“访达”中,选取“访达”>“偏好设置”,然后点按“标签”。选择您想要移除的标签,然后点按移除按钮——。\n\n## 编辑标签\n\n1. 在 Mac 上的“访达”![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_finder.png)中,选取“访达”>“偏好设置”,然后点按“标签”。\n2. 请执行以下一项操作:\n - 在“访达”边栏中查看标签:选择标签右侧的蓝色复选框。\n - 更改标签颜色:点按标签![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_blue_circle.png)\n - 旁边的颜色,然后选取新的颜色。\n - 更改标签名称:点按标签,点按标签名称,然后输入新名称。\n - 创建新标签:点按添加按钮 ![img](https://www.macdaxue.com/wp-content/uploads/2018/06/IL_AddiOS.png)。\n - 删除标签:选择标签,然后点按移除按钮 ——。\n - 将标签添加到[快捷键](https://www.macdaxue.com/os-x-key/)菜单中:在列表中选择标签,然后将它拖到您想要在窗口底部的个人收藏部分中替换的标签上方。当您按下 Control 键点按文件时,在出现的[快捷键](https://www.macdaxue.com/os-x-key/)菜单中可至多有七个标签。\n - 从快捷键菜单中移除标签:将标签拖出“个人收藏标签”部分,直到看到移除符号![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_x.png)。","source":"_posts/IT/Mac/Mac使用标签.md","raw":"---\ntitle: Mac使用标签\ndate: 2019-07-22 18:58:50\nurlname: mac-using-tags\ntoc: true\ntags: [Mac]\ncategories: [IT, Mac]\nnotshow: true\n\n---\n## 使用标签\n在 Mac 上,执行以下任一项操作:\n\n- 给打开的文件添加标签:将鼠标指针悬停在文稿标题右侧,点按箭头,在“标签”栏中点按,然后输入新标签,或者从列表中选取一个标签。\n- 存储新文件时添加标签:点按“文件”>“存储”。在“存储”对话框中,在“标签”栏中点按,然后输入新标签,或者从列表中选取一个标签。\n- 给桌面上或“访达”中的文件添加标签:选择项目,然后打开“文件”菜单。也可以按住 Control 键点按该项目,或用双指轻点它。在“标签”下方选取颜色![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_blue_circle.png),或点按“标签”以从更多标签中进行选择或输入新标签。在“访达”窗口中,也可以选择该项目,点按“标签”按钮 ![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_tag.png),然后输入新标签,或从列表中选取一个标签。\n\n## 查找含有标签的项目\n\n1. 在 Mac 上,点按程序坞中的“访达”图标 ![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_finder.png)以打开“访达”窗口。\n2. 请执行以下一项操作:\n - 搜索标签:在搜索栏中输入标签颜色或名称,然后从建议中选择该标签。\n - 在边栏中选择标签:若要查看带有某个标签的所有项目,请在“访达”边栏中点按标签![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_blue_circle.png)。若要更改在边栏中看到的项目,请选取“访达”>“偏好设置”,点按“标签”,然后选择想要查看的标签。\n - 按标签将项目分组: 点按“分组”按钮![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_group.png),然后选取“标签”。\n - 按标签排序项目:在任何显示方式下,选取“显示”>“查看显示选项”,点按“排序方式”弹出式菜单,然后选取“标签”。在“列表显示”下,选择“标签”复选框以显示分栏,将指针移到“标签”分栏上方,然后点按。再次点按分栏名称来倒序排列。\n\n## 移除标签\n\n在 Mac 上,请执行以下一项操作:\n\n- 从项目中移除标签:按住 Control 键点按项目或使用双指轻点项目,然后点按“标签”。选择您想要移除的标签,然后按下 Delete 键。\n- 从 Mac 中移除标签:在“访达”中,选取“访达”>“偏好设置”,然后点按“标签”。选择您想要移除的标签,然后点按移除按钮——。\n\n## 编辑标签\n\n1. 在 Mac 上的“访达”![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_finder.png)中,选取“访达”>“偏好设置”,然后点按“标签”。\n2. 请执行以下一项操作:\n - 在“访达”边栏中查看标签:选择标签右侧的蓝色复选框。\n - 更改标签颜色:点按标签![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_blue_circle.png)\n - 旁边的颜色,然后选取新的颜色。\n - 更改标签名称:点按标签,点按标签名称,然后输入新名称。\n - 创建新标签:点按添加按钮 ![img](https://www.macdaxue.com/wp-content/uploads/2018/06/IL_AddiOS.png)。\n - 删除标签:选择标签,然后点按移除按钮 ——。\n - 将标签添加到[快捷键](https://www.macdaxue.com/os-x-key/)菜单中:在列表中选择标签,然后将它拖到您想要在窗口底部的个人收藏部分中替换的标签上方。当您按下 Control 键点按文件时,在出现的[快捷键](https://www.macdaxue.com/os-x-key/)菜单中可至多有七个标签。\n - 从快捷键菜单中移除标签:将标签拖出“个人收藏标签”部分,直到看到移除符号![img](https://www.macdaxue.com/wp-content/uploads/2018/10/icon_x.png)。","slug":"IT/Mac/Mac使用标签","published":1,"updated":"2019-07-31T03:51:34.000Z","_id":"cka1y597t00164huuyti606sh","comments":1,"layout":"post","photos":[],"link":"","content":"使用标签 \n在 Mac 上,执行以下任一项操作:
\n\n给打开的文件添加标签:将鼠标指针悬停在文稿标题右侧,点按箭头,在“标签”栏中点按,然后输入新标签,或者从列表中选取一个标签。 \n存储新文件时添加标签:点按“文件”>“存储”。在“存储”对话框中,在“标签”栏中点按,然后输入新标签,或者从列表中选取一个标签。 \n给桌面上或“访达”中的文件添加标签:选择项目,然后打开“文件”菜单。也可以按住 Control 键点按该项目,或用双指轻点它。在“标签”下方选取颜色 ,或点按“标签”以从更多标签中进行选择或输入新标签。在“访达”窗口中,也可以选择该项目,点按“标签”按钮 ,然后输入新标签,或从列表中选取一个标签。 \n \n查找含有标签的项目 \n\n在 Mac 上,点按程序坞中的“访达”图标 以打开“访达”窗口。 \n请执行以下一项操作:\n\n搜索标签:在搜索栏中输入标签颜色或名称,然后从建议中选择该标签。 \n在边栏中选择标签:若要查看带有某个标签的所有项目,请在“访达”边栏中点按标签 。若要更改在边栏中看到的项目,请选取“访达”>“偏好设置”,点按“标签”,然后选择想要查看的标签。 \n按标签将项目分组: 点按“分组”按钮 ,然后选取“标签”。 \n按标签排序项目:在任何显示方式下,选取“显示”>“查看显示选项”,点按“排序方式”弹出式菜单,然后选取“标签”。在“列表显示”下,选择“标签”复选框以显示分栏,将指针移到“标签”分栏上方,然后点按。再次点按分栏名称来倒序排列。 \n \n \n \n移除标签 \n在 Mac 上,请执行以下一项操作:
\n\n从项目中移除标签:按住 Control 键点按项目或使用双指轻点项目,然后点按“标签”。选择您想要移除的标签,然后按下 Delete 键。 \n从 Mac 中移除标签:在“访达”中,选取“访达”>“偏好设置”,然后点按“标签”。选择您想要移除的标签,然后点按移除按钮——。 \n \n编辑标签 \n\n在 Mac 上的“访达” 中,选取“访达”>“偏好设置”,然后点按“标签”。 \n请执行以下一项操作:\n\n在“访达”边栏中查看标签:选择标签右侧的蓝色复选框。 \n更改标签颜色:点按标签 \n旁边的颜色,然后选取新的颜色。 \n更改标签名称:点按标签,点按标签名称,然后输入新名称。 \n创建新标签:点按添加按钮 。 \n删除标签:选择标签,然后点按移除按钮 ——。 \n将标签添加到快捷键 菜单中:在列表中选择标签,然后将它拖到您想要在窗口底部的个人收藏部分中替换的标签上方。当您按下 Control 键点按文件时,在出现的快捷键 菜单中可至多有七个标签。 \n从快捷键菜单中移除标签:将标签拖出“个人收藏标签”部分,直到看到移除符号 。 \n \n \n \n","site":{"data":{}},"excerpt":"","more":"使用标签 \n在 Mac 上,执行以下任一项操作:
\n\n给打开的文件添加标签:将鼠标指针悬停在文稿标题右侧,点按箭头,在“标签”栏中点按,然后输入新标签,或者从列表中选取一个标签。 \n存储新文件时添加标签:点按“文件”>“存储”。在“存储”对话框中,在“标签”栏中点按,然后输入新标签,或者从列表中选取一个标签。 \n给桌面上或“访达”中的文件添加标签:选择项目,然后打开“文件”菜单。也可以按住 Control 键点按该项目,或用双指轻点它。在“标签”下方选取颜色 ,或点按“标签”以从更多标签中进行选择或输入新标签。在“访达”窗口中,也可以选择该项目,点按“标签”按钮 ,然后输入新标签,或从列表中选取一个标签。 \n \n查找含有标签的项目 \n\n在 Mac 上,点按程序坞中的“访达”图标 以打开“访达”窗口。 \n请执行以下一项操作:\n\n搜索标签:在搜索栏中输入标签颜色或名称,然后从建议中选择该标签。 \n在边栏中选择标签:若要查看带有某个标签的所有项目,请在“访达”边栏中点按标签 。若要更改在边栏中看到的项目,请选取“访达”>“偏好设置”,点按“标签”,然后选择想要查看的标签。 \n按标签将项目分组: 点按“分组”按钮 ,然后选取“标签”。 \n按标签排序项目:在任何显示方式下,选取“显示”>“查看显示选项”,点按“排序方式”弹出式菜单,然后选取“标签”。在“列表显示”下,选择“标签”复选框以显示分栏,将指针移到“标签”分栏上方,然后点按。再次点按分栏名称来倒序排列。 \n \n \n \n移除标签 \n在 Mac 上,请执行以下一项操作:
\n\n从项目中移除标签:按住 Control 键点按项目或使用双指轻点项目,然后点按“标签”。选择您想要移除的标签,然后按下 Delete 键。 \n从 Mac 中移除标签:在“访达”中,选取“访达”>“偏好设置”,然后点按“标签”。选择您想要移除的标签,然后点按移除按钮——。 \n \n编辑标签 \n\n在 Mac 上的“访达” 中,选取“访达”>“偏好设置”,然后点按“标签”。 \n请执行以下一项操作:\n\n在“访达”边栏中查看标签:选择标签右侧的蓝色复选框。 \n更改标签颜色:点按标签 \n旁边的颜色,然后选取新的颜色。 \n更改标签名称:点按标签,点按标签名称,然后输入新名称。 \n创建新标签:点按添加按钮 。 \n删除标签:选择标签,然后点按移除按钮 ——。 \n将标签添加到快捷键 菜单中:在列表中选择标签,然后将它拖到您想要在窗口底部的个人收藏部分中替换的标签上方。当您按下 Control 键点按文件时,在出现的快捷键 菜单中可至多有七个标签。 \n从快捷键菜单中移除标签:将标签拖出“个人收藏标签”部分,直到看到移除符号 。 \n \n \n \n"},{"title":"Gitbook攻略","date":"2019-08-14T21:02:14.000Z","urlname":"gitbook_with_typora_gh-pages","toc":true,"_content":"\n本文为你介绍如何使用利用 **Typora + gitbook-cli + Github Pages** 书写Gitbook. 在本地用 Typora 书写 md 文件, 用 gitbook-cli 编译, 最后发布到 Github Pages 上.\n\n\n\n\n\n# 安装\n\n前提是已经安装了Node, 直接用npm包管理工具安装:\n\n```sh\nsudo npm install -g gitbook-cli\ngitbook -V # 注意是大写V\n```\n\n> CLI version: 2.3.2\n> GitBook version: 3.2.3\n\n# 新建书籍\n\n1. 为新书建立一个根目录 `mkdir pytho_finance`\n\n2. 在该目录下执行(命令行下):`gitbook init`,之后会在该目录下产生2个文件,分别是README.md(书籍的介绍)和SUMMARY.md(书籍的目录结构)。\n\n![gitbook目录的写法](https://github.com/maiernte/img/raw/master/Tech/gitbook目录的写法.png)\n\n3. 按照上图格式填写目录和文件, 然后再次执行 `gitbook init` , GitBook 会查找 SUMMARY.md 文件中描述的目录和文件,如果没有则会将其创建. \n\n4. 然后就可以预览书籍了 `gitbook serve`. 执行命令后会对 Markdown 格式的文档进行转换,默认转换为 html 格式,提示Serving book on http://localhost:4000,打开网址即可查看.\n5. 构建书籍\n\n```sh\ngitbook build\n```\n\n默认将生成的静态网站输出到 _book 目录。实际上,这一步也包含在 gitbook serve 里面,因为它们是 HTML,所以 GitBook 通过 Node.js 给你提供服务了。\n\nbuild 命令可以指定路径, 或者指定端口, 或者生产 pdf , epub, mobi 等格式. [具体参考文章](https://www.cnblogs.com/eveblog/p/10003217.html). \n\n# 发布到Github Pages\n\n```sh\ngit init\ngit remote add origin https://github.com/maiernte/gitbook_python_finance.git\ngit add .\ngit commit -m \"new book\"\ngit push -u origin master # 将源代码推送到master\n```\n\n在GitHub的仓库中新添一个 **gh-pages** 的Branch. \n\n```sh\nmkdir new_fold\ncd new_fold\nrm -rf . # 删除这个目录下所有文件, 注意那 .git 文件夹不能删除\n\n# 在源代码目录中,也就是md文件的目录\ngitbook build \n\n# 将会产生一个 _book 目录\n# 添加忽略, 以免下次推送的时候 _book 目录被推送.\necho \"*~\" > .gitignore\necho \"_book\" >> .gitignore\necho \"/node_modules\" >> .gitignore\n\ncp -r _book/* path_to/new_fold\n```\n\n:pen: 忽略文件夹,windows下的测试是 `/node_modules`, 不加双引号。\n\n进入新目录, 推送编译后的html 和 js 文件到 gh-pages 的分支中去.\n\n```sh\ncd path_to/new_fold\ngit add .\ngit commit -m \"to gh-pages\"\ngit push -u origin gh-pages\n```\n\n如此实现了将源代码保存到master, 将静态网站推送到gh-pages, 一个仓库搞定! 在浏览器输入仓库地址, 就可以看到自己的Gitbook. 比如我新书地址\n\n> https://maiernte.github.io/gitbook_python_finance/\n\n\n\n## 更新和维护\n\n因为master 和 gh-pages 上存放的是不同的文档,所以拉取的时候也有指定 branch\n\n```sh\n# 拉取源代码\ngit clone https://github.com/maiernte/gitbook_python_finance.git --branch master new_fold\n\n# 拉取静态网站\ngit clone https://github.com/maiernte/gitbook_python_finance.git --branch gh-pages new_fold\n```\n\n\n\n# 个性化配置\n\n在项目的根目录上添加一个 `book.json` 文件, 用来更全面的配置项目. 比如头文件, 插件等等.\n\n```json\n{\n \"title\": \"使用Python处理金融数据\",\n \"author\": \"鎏金天涯 \",\n \"description\": \"使用Python处理金融数据的各种技术\",\n \"generator\": \"site\",\n \"plugins\": [\"mathjax\"],\n \"links\": {\n \"sidebar\": {\n \"鎏金天涯个人博客\": \"http://goldentianya.pub\"\n }\n }\n}\n```\n\n## 数学插件\n\n在上述文件添加了 `\"plugins\": [\"mathjax\"]`, 并执行命令\n\n```sh\ngitbook install ./ # 会添加一堆 node_modules 包\n```\n\n更详细的配置请参阅[官方文档](https://chrisniael.gitbooks.io/gitbook-documentation/content/).\n\n## 目录插件\n\n[项目地址和文档](https://www.npmjs.com/package/gitbook-plugin-page-toc)\n\n将 ***book.json*** 文件修改为 `\"plugins\": [\"mathjax\", \"page-toc\" ], ` 每一页的目录就会出现在右上角。\n\n\n\n# 编译错误列表\n\n版本\n\n```\nCLI version: 2.3.2\nGitBook version: 3.2.3\n```\n\n## sharing 插件出错\n\n添加了 `page-toc` 插件后,`gitbook serve` 的时候总是出现错误。就算把文章改回原来的样子也无补于事。\n\n> info: 7 plugins are installed\n> info: loading plugin \"livereload\"... OK\n> info: loading plugin \"highlight\"... OK\n> info: loading plugin \"search\"... OK\n> info: loading plugin \"lunr\"... OK\n> info: loading plugin \"sharing\"... OK\n> info: loading plugin \"fontsettings\"... OK\n> info: loading plugin \"theme-default\"... OK\n> info: found 1 pages\n> info: found 0 asset files\n>\n> Error: ENOENT: no such file or directory, stat 'D:\\f040371\\git_book\\plattform_finance\\_book\\gitbook\\gitbook-plugin-sharing\\buttons.js'\n\n### 解决方法\n\n修改 `C:\\Users\\f040371\\.gitbook\\versions\\3.2.3\\lib\\output\\website\\copyPluginAssets.js` 文件中的 112 行\n\n![copyPluginAssets.js](https://images2018.cnblogs.com/blog/623717/201808/623717-20180815170921683-2030924288.png)\n\n将 `confirm: true` 改为 `confirm: false`\n\n\n\n参考文章:\n\n---\n\n[使用GitBook和Typora写知识库](https://beihaionline.com/11523.html)\n\n[gitbook+git+typora 的使用过程](https://www.cnblogs.com/eveblog/p/10003217.html)\n\n[GitBook + Typora + Git 编写电子文档](https://www.jianshu.com/p/02caaaaa97ef)\n\n[Gitbook 发布到 Github Pages](http://www.chengweiyang.cn/gitbook/github-pages/README.html)\n\n","source":"_posts/IT/Tools/Gitbook攻略.md","raw":"---\ntitle: Gitbook攻略\ndate: 2019-08-14 23:02:14\nurlname: gitbook_with_typora_gh-pages\ntoc: true\ntags: [工具]\ncategories: [IT, Tools]\n\n---\n\n本文为你介绍如何使用利用 **Typora + gitbook-cli + Github Pages** 书写Gitbook. 在本地用 Typora 书写 md 文件, 用 gitbook-cli 编译, 最后发布到 Github Pages 上.\n\n\n\n\n\n# 安装\n\n前提是已经安装了Node, 直接用npm包管理工具安装:\n\n```sh\nsudo npm install -g gitbook-cli\ngitbook -V # 注意是大写V\n```\n\n> CLI version: 2.3.2\n> GitBook version: 3.2.3\n\n# 新建书籍\n\n1. 为新书建立一个根目录 `mkdir pytho_finance`\n\n2. 在该目录下执行(命令行下):`gitbook init`,之后会在该目录下产生2个文件,分别是README.md(书籍的介绍)和SUMMARY.md(书籍的目录结构)。\n\n![gitbook目录的写法](https://github.com/maiernte/img/raw/master/Tech/gitbook目录的写法.png)\n\n3. 按照上图格式填写目录和文件, 然后再次执行 `gitbook init` , GitBook 会查找 SUMMARY.md 文件中描述的目录和文件,如果没有则会将其创建. \n\n4. 然后就可以预览书籍了 `gitbook serve`. 执行命令后会对 Markdown 格式的文档进行转换,默认转换为 html 格式,提示Serving book on http://localhost:4000,打开网址即可查看.\n5. 构建书籍\n\n```sh\ngitbook build\n```\n\n默认将生成的静态网站输出到 _book 目录。实际上,这一步也包含在 gitbook serve 里面,因为它们是 HTML,所以 GitBook 通过 Node.js 给你提供服务了。\n\nbuild 命令可以指定路径, 或者指定端口, 或者生产 pdf , epub, mobi 等格式. [具体参考文章](https://www.cnblogs.com/eveblog/p/10003217.html). \n\n# 发布到Github Pages\n\n```sh\ngit init\ngit remote add origin https://github.com/maiernte/gitbook_python_finance.git\ngit add .\ngit commit -m \"new book\"\ngit push -u origin master # 将源代码推送到master\n```\n\n在GitHub的仓库中新添一个 **gh-pages** 的Branch. \n\n```sh\nmkdir new_fold\ncd new_fold\nrm -rf . # 删除这个目录下所有文件, 注意那 .git 文件夹不能删除\n\n# 在源代码目录中,也就是md文件的目录\ngitbook build \n\n# 将会产生一个 _book 目录\n# 添加忽略, 以免下次推送的时候 _book 目录被推送.\necho \"*~\" > .gitignore\necho \"_book\" >> .gitignore\necho \"/node_modules\" >> .gitignore\n\ncp -r _book/* path_to/new_fold\n```\n\n:pen: 忽略文件夹,windows下的测试是 `/node_modules`, 不加双引号。\n\n进入新目录, 推送编译后的html 和 js 文件到 gh-pages 的分支中去.\n\n```sh\ncd path_to/new_fold\ngit add .\ngit commit -m \"to gh-pages\"\ngit push -u origin gh-pages\n```\n\n如此实现了将源代码保存到master, 将静态网站推送到gh-pages, 一个仓库搞定! 在浏览器输入仓库地址, 就可以看到自己的Gitbook. 比如我新书地址\n\n> https://maiernte.github.io/gitbook_python_finance/\n\n\n\n## 更新和维护\n\n因为master 和 gh-pages 上存放的是不同的文档,所以拉取的时候也有指定 branch\n\n```sh\n# 拉取源代码\ngit clone https://github.com/maiernte/gitbook_python_finance.git --branch master new_fold\n\n# 拉取静态网站\ngit clone https://github.com/maiernte/gitbook_python_finance.git --branch gh-pages new_fold\n```\n\n\n\n# 个性化配置\n\n在项目的根目录上添加一个 `book.json` 文件, 用来更全面的配置项目. 比如头文件, 插件等等.\n\n```json\n{\n \"title\": \"使用Python处理金融数据\",\n \"author\": \"鎏金天涯 \",\n \"description\": \"使用Python处理金融数据的各种技术\",\n \"generator\": \"site\",\n \"plugins\": [\"mathjax\"],\n \"links\": {\n \"sidebar\": {\n \"鎏金天涯个人博客\": \"http://goldentianya.pub\"\n }\n }\n}\n```\n\n## 数学插件\n\n在上述文件添加了 `\"plugins\": [\"mathjax\"]`, 并执行命令\n\n```sh\ngitbook install ./ # 会添加一堆 node_modules 包\n```\n\n更详细的配置请参阅[官方文档](https://chrisniael.gitbooks.io/gitbook-documentation/content/).\n\n## 目录插件\n\n[项目地址和文档](https://www.npmjs.com/package/gitbook-plugin-page-toc)\n\n将 ***book.json*** 文件修改为 `\"plugins\": [\"mathjax\", \"page-toc\" ], ` 每一页的目录就会出现在右上角。\n\n\n\n# 编译错误列表\n\n版本\n\n```\nCLI version: 2.3.2\nGitBook version: 3.2.3\n```\n\n## sharing 插件出错\n\n添加了 `page-toc` 插件后,`gitbook serve` 的时候总是出现错误。就算把文章改回原来的样子也无补于事。\n\n> info: 7 plugins are installed\n> info: loading plugin \"livereload\"... OK\n> info: loading plugin \"highlight\"... OK\n> info: loading plugin \"search\"... OK\n> info: loading plugin \"lunr\"... OK\n> info: loading plugin \"sharing\"... OK\n> info: loading plugin \"fontsettings\"... OK\n> info: loading plugin \"theme-default\"... OK\n> info: found 1 pages\n> info: found 0 asset files\n>\n> Error: ENOENT: no such file or directory, stat 'D:\\f040371\\git_book\\plattform_finance\\_book\\gitbook\\gitbook-plugin-sharing\\buttons.js'\n\n### 解决方法\n\n修改 `C:\\Users\\f040371\\.gitbook\\versions\\3.2.3\\lib\\output\\website\\copyPluginAssets.js` 文件中的 112 行\n\n![copyPluginAssets.js](https://images2018.cnblogs.com/blog/623717/201808/623717-20180815170921683-2030924288.png)\n\n将 `confirm: true` 改为 `confirm: false`\n\n\n\n参考文章:\n\n---\n\n[使用GitBook和Typora写知识库](https://beihaionline.com/11523.html)\n\n[gitbook+git+typora 的使用过程](https://www.cnblogs.com/eveblog/p/10003217.html)\n\n[GitBook + Typora + Git 编写电子文档](https://www.jianshu.com/p/02caaaaa97ef)\n\n[Gitbook 发布到 Github Pages](http://www.chengweiyang.cn/gitbook/github-pages/README.html)\n\n","slug":"IT/Tools/Gitbook攻略","published":1,"updated":"2019-08-15T09:46:18.000Z","_id":"cka1y597u001a4huuspnhsflr","comments":1,"layout":"post","photos":[],"link":"","content":"本文为你介绍如何使用利用 Typora + gitbook-cli + Github Pages 书写Gitbook. 在本地用 Typora 书写 md 文件, 用 gitbook-cli 编译, 最后发布到 Github Pages 上.
\n \n安装 \n前提是已经安装了Node, 直接用npm包管理工具安装:
\n1 2 sudo npm install -g gitbook-cli gitbook -V
\n\nCLI version: 2.3.2 \nGitBook version: 3.2.3
\n \n新建书籍 \n\n\n为新书建立一个根目录 mkdir pytho_finance
\n \n\n在该目录下执行(命令行下):gitbook init
,之后会在该目录下产生2个文件,分别是README.md (书籍的介绍)和SUMMARY.md (书籍的目录结构)。
\n \n \n
\n\n\n按照上图格式填写目录和文件, 然后再次执行 gitbook init
, GitBook 会查找 SUMMARY.md 文件中描述的目录和文件,如果没有则会将其创建.
\n \n\n然后就可以预览书籍了 gitbook serve
. 执行命令后会对 Markdown 格式的文档进行转换,默认转换为 html 格式,提示Serving book on http://localhost:4000 ,打开网址即可查看.
\n \n\n构建书籍
\n \n \n \n默认将生成的静态网站输出到 _book 目录。实际上,这一步也包含在 gitbook serve 里面,因为它们是 HTML,所以 GitBook 通过 Node.js 给你提供服务了。
\nbuild 命令可以指定路径, 或者指定端口, 或者生产 pdf , epub, mobi 等格式. 具体参考文章 .
\n发布到Github Pages \n1 2 3 4 5 git init git remote add origin https://github.com/maiernte/gitbook_python_finance.git git add . git commit -m \"new book\" git push -u origin master
\n在GitHub的仓库中新添一个 gh-pages 的Branch.
\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 mkdir new_fold cd new_foldrm -rf . gitbook build echo \"*~\" > .gitignoreecho \"_book\" >> .gitignoreecho \"/node_modules\" >> .gitignorecp -r _book/* path_to/new_fold
\n:pen: 忽略文件夹,windows下的测试是 /node_modules
, 不加双引号。
\n进入新目录, 推送编译后的html 和 js 文件到 gh-pages 的分支中去.
\n1 2 3 4 cd path_to/new_foldgit add . git commit -m \"to gh-pages\" git push -u origin gh-pages
\n如此实现了将源代码保存到master, 将静态网站推送到gh-pages, 一个仓库搞定! 在浏览器输入仓库地址, 就可以看到自己的Gitbook. 比如我新书地址
\n\nhttps://maiernte.github.io/gitbook_python_finance/
\n \n更新和维护 \n因为master 和 gh-pages 上存放的是不同的文档,所以拉取的时候也有指定 branch
\n1 2 3 4 5 git clone https://github.com/maiernte/gitbook_python_finance.git --branch master new_fold git clone https://github.com/maiernte/gitbook_python_finance.git --branch gh-pages new_fold
\n个性化配置 \n在项目的根目录上添加一个 book.json
文件, 用来更全面的配置项目. 比如头文件, 插件等等.
\n1 2 3 4 5 6 7 8 9 10 11 12 { \"title\" : \"使用Python处理金融数据\" , \"author\" : \"鎏金天涯 <mai.yongfeng@gmail.com>\" , \"description\" : \"使用Python处理金融数据的各种技术\" , \"generator\" : \"site\" , \"plugins\" : [\"mathjax\" ], \"links\" : { \"sidebar\" : { \"鎏金天涯个人博客\" : \"http://goldentianya.pub\" } } }
\n数学插件 \n在上述文件添加了 "plugins": ["mathjax"]
, 并执行命令
\n \n更详细的配置请参阅官方文档 .
\n目录插件 \n项目地址和文档
\n将 book.json 文件修改为 "plugins": ["mathjax", "page-toc" ],
每一页的目录就会出现在右上角。
\n编译错误列表 \n版本
\n1 2 CLI version: 2.3.2 GitBook version: 3.2.3
\nsharing 插件出错 \n添加了 page-toc
插件后,gitbook serve
的时候总是出现错误。就算把文章改回原来的样子也无补于事。
\n\ninfo: 7 plugins are installed \ninfo: loading plugin “livereload”… OK \ninfo: loading plugin “highlight”… OK \ninfo: loading plugin “search”… OK \ninfo: loading plugin “lunr”… OK \ninfo: loading plugin “sharing”… OK \ninfo: loading plugin “fontsettings”… OK \ninfo: loading plugin “theme-default”… OK \ninfo: found 1 pages \ninfo: found 0 asset files
\nError: ENOENT: no such file or directory, stat ‘D:\\f040371\\git_book\\plattform_finance_book\\gitbook\\gitbook-plugin-sharing\\buttons.js’
\n \n解决方法 \n修改 C:\\Users\\f040371\\.gitbook\\versions\\3.2.3\\lib\\output\\website\\copyPluginAssets.js
文件中的 112 行
\n
\n将 confirm: true
改为 confirm: false
\n参考文章:
\n \n使用GitBook和Typora写知识库
\ngitbook+git+typora 的使用过程
\nGitBook + Typora + Git 编写电子文档
\nGitbook 发布到 Github Pages
\n","site":{"data":{}},"excerpt":"本文为你介绍如何使用利用 Typora + gitbook-cli + Github Pages 书写Gitbook. 在本地用 Typora 书写 md 文件, 用 gitbook-cli 编译, 最后发布到 Github Pages 上.
","more":"安装 \n前提是已经安装了Node, 直接用npm包管理工具安装:
\n\n\nCLI version: 2.3.2 \nGitBook version: 3.2.3
\n \n新建书籍 \n\n\n为新书建立一个根目录 mkdir pytho_finance
\n \n\n在该目录下执行(命令行下):gitbook init
,之后会在该目录下产生2个文件,分别是README.md (书籍的介绍)和SUMMARY.md (书籍的目录结构)。
\n \n \n
\n\n\n按照上图格式填写目录和文件, 然后再次执行 gitbook init
, GitBook 会查找 SUMMARY.md 文件中描述的目录和文件,如果没有则会将其创建.
\n \n\n然后就可以预览书籍了 gitbook serve
. 执行命令后会对 Markdown 格式的文档进行转换,默认转换为 html 格式,提示Serving book on http://localhost:4000 ,打开网址即可查看.
\n \n\n构建书籍
\n \n \n\n默认将生成的静态网站输出到 _book 目录。实际上,这一步也包含在 gitbook serve 里面,因为它们是 HTML,所以 GitBook 通过 Node.js 给你提供服务了。
\nbuild 命令可以指定路径, 或者指定端口, 或者生产 pdf , epub, mobi 等格式. 具体参考文章 .
\n发布到Github Pages \n\n在GitHub的仓库中新添一个 gh-pages 的Branch.
\n\n:pen: 忽略文件夹,windows下的测试是 /node_modules
, 不加双引号。
\n进入新目录, 推送编译后的html 和 js 文件到 gh-pages 的分支中去.
\n\n如此实现了将源代码保存到master, 将静态网站推送到gh-pages, 一个仓库搞定! 在浏览器输入仓库地址, 就可以看到自己的Gitbook. 比如我新书地址
\n\nhttps://maiernte.github.io/gitbook_python_finance/
\n \n更新和维护 \n因为master 和 gh-pages 上存放的是不同的文档,所以拉取的时候也有指定 branch
\n\n个性化配置 \n在项目的根目录上添加一个 book.json
文件, 用来更全面的配置项目. 比如头文件, 插件等等.
\n\n数学插件 \n在上述文件添加了 "plugins": ["mathjax"]
, 并执行命令
\n\n更详细的配置请参阅官方文档 .
\n目录插件 \n项目地址和文档
\n将 book.json 文件修改为 "plugins": ["mathjax", "page-toc" ],
每一页的目录就会出现在右上角。
\n编译错误列表 \n版本
\n\nsharing 插件出错 \n添加了 page-toc
插件后,gitbook serve
的时候总是出现错误。就算把文章改回原来的样子也无补于事。
\n\ninfo: 7 plugins are installed \ninfo: loading plugin “livereload”… OK \ninfo: loading plugin “highlight”… OK \ninfo: loading plugin “search”… OK \ninfo: loading plugin “lunr”… OK \ninfo: loading plugin “sharing”… OK \ninfo: loading plugin “fontsettings”… OK \ninfo: loading plugin “theme-default”… OK \ninfo: found 1 pages \ninfo: found 0 asset files
\nError: ENOENT: no such file or directory, stat ‘D:\\f040371\\git_book\\plattform_finance_book\\gitbook\\gitbook-plugin-sharing\\buttons.js’
\n \n解决方法 \n修改 C:\\Users\\f040371\\.gitbook\\versions\\3.2.3\\lib\\output\\website\\copyPluginAssets.js
文件中的 112 行
\n
\n将 confirm: true
改为 confirm: false
\n参考文章:
\n \n使用GitBook和Typora写知识库
\ngitbook+git+typora 的使用过程
\nGitBook + Typora + Git 编写电子文档
\nGitbook 发布到 Github Pages
"},{"title":"Mac备忘录","date":"2019-07-22T16:47:47.000Z","urlname":"mac-memo","toc":true,"notshow":true,"_content":"\n# 指令和任务\n\n## 隐藏文件夹\n\nTerminal 命令\n\n```bash\n//显示隐藏文件\ndefaults write com.apple.finder AppleShowAllFiles -bool true\n//不显示隐藏文件\ndefaults write com.apple.finder AppleShowAllFiles -bool false\n```\n\n快速命令,打开访达窗口,然后 ⌘ + ⇧ + . 就可以隐藏/显示。\n\n\n\n需要重启Finder使设置生效 :\n\n> 重启Finder:窗口左上角的苹果标志-->强制退出-->Finder-->重新启动\n\n## 允许任何来源软件\n\n系统默认在 **安全与隐私** 里只显示 “App Store” 和 “App Store 和被认可的开发者”,没有 “任何来源”。开启的话需要在终端输入\n\n`sudo spctl --master-disable` \n\n并输入开机密码。\n\n\n\n## 任务控制\n\n- 将任务放在后台运行:`command + &` \n\n- 将任务丢到后台暂停:`ctrl-z` \n\n- 查看后台所有任务状态:`jobs -l` (会列出 1、2、3序列号)\n\n- 将后台的任务拿到前台处理:`fg %jobnumber` (指序列号,而不是任务id)\n\n- 将后台的任务变成运行中:`bg %jobnumber` \n\n- 管理后台当中的任务:`kill -signal %jobnumber`\n\n# 文件管理\n\n## 标签的使用\n\n参看 [mac 标签的使用](mac-using-tags.html)\n\n# 通用技巧\n\n## 输入法\n\n### 查看按键字符\n\n1. 偏好设置 → 键盘 → 输入法,窗口右面会显示键盘⌨️图案,按住shift⇧键或者option⌥,会显示在不同功能键下面的字符。\n\n\n\n## 通过Automator添加快捷键\n\n[文章来源](https://zhidao.baidu.com/question/1514898183998822540.html)\n\n1. 一次打开 ***Finder —> 应用程序 —> automator***\n2. 选取 ***服务***\n3. 从左边的双栏选取 ***使用工具—>运行AppleScript***, 并双击运行。\n4. 出现文本框后选定(右栏最上边)***没有输入***\n\n```objective-c\non run {input, parameters}\n (* Your script goes here *)\n tell application \"Safari\"\n reopen\n activate\n end tell\nend run\n```\n\n5. ⌘+S 保存,命名为 *Open Safari*。关闭automator\n6. 转到 ***系统偏好设置—>键盘—>快捷键—>服务—>通用—>open safari*** ,然后设定快捷键就好了。\n\n\n\n## 电源管理\n\n`pmset`是**macOS**下用来操作、电源管理的工具,可设定休眠模式、时间和唤醒时间或显示电源信息,不过因为它是一个命令列的指令,因此得透过终端机察看或修改设定。当你开启「终端机」输入p`mset -g` 会看到具体设置。\n\n- `Standbydelay 28800` :将系统储存于內存中休眠,会消耗一些电力。\n- `Autopowerofdelay 28800` : 把系统写入SSD硬盘中,将內存暂存关闭,依照这篇文章的说法,两者延迟时间28800秒(约八小时)会让电脑多维持內存八小时左右的电力。\n- `tcpkeepalive` :设定睡眠后是否还保持网络连接, 以便可以透过TCP唤醒系统\n- `hibernatemode` :睡眠模式。数字越小,耗电越高。可以设置为 25\n\n```sh\nsudo pmset -b autopoweroffdelay 300 # 将睡眠时间缩短为300秒(五分钟)\nsudo pmset -b standbydelay 300 # 然后将系统储存到SSD硬盘\nsudo pmset -b tcpkeepalive 0 # 将透过TCP唤醒系统的功能关闭\nsudo pmset -a hibernatemode 25 \n```\n\n> 中间的参数-b是使用电池下的参数,-c为外接电源下的参数设定, -a 为所有情况下的设定。\n\n\n\n## 升级到Mojave后鼠标发飘\n\n前往***偏好设置-->网络-->设定服务顺序(左下角齿轮)***,然后将***蓝牙PAN***拖到最上面。\n\n\n\n# 网络资源\n\n## 应用软件\n\n1. 大量破解资源分享的网站 [MacEnjoy](https://www.macenjoy.co/)\n\n## 在线文档\n\n[iMac 2012 规格](https://support.apple.com/kb/SP665?locale=zh_CN&viewlocale=zh_CN)\n\n### 升级SSD固态硬盘\n\n[iMac 2012 21.5吋 拆卸指南](https://zh.ifixit.com/Teardown/iMac+Intel+21.5-Inch+EMC+2544+Teardown/11936)\n\n[Mac升级外挂SSD硬盘](https://luolei.org/imac-5k-external-usb-ssd-update/)\n\n[如何选择另一个启动磁盘](https://support.apple.com/zh-cn/HT202796) :pen: 官方说明 \n\n[更换SSD固态硬盘攻略](http://www.mac52ipod.cn/post/apple-mac-macbook-pro-change-ssd-hardisk-tutorial.php)\n\n1. 固态硬盘通过USB 3连接到电脑,并格式化成 **Mac OS 扩展** 格式。\n\n ![](http://www.mac52ipod.cn/attachment.php?fid=5823)\n\n2. 用 Carbon Copy Cloner([官网下载](https://bombich.com/))把原硬盘的数据镜像到 SSD。完成后要制作恢复分区「Recovery HD」[破解版下载地址](https://www.macenjoy.co/blog/carbon-copy-cloner-for-mac-v5-1-9)\n\n 或者 [SuperDuper](https://www.shirt-pocket.com/SuperDuper/SuperDuperDescription.html) :pen: 免费版可以全盘备份,而不支持增量操作。 \n\n ![](http://www.mac52ipod.cn/attachment.php?fid=5824)\n\n3. 重启,听到 「当 」一声后按住 `Option` 键(windows 键盘上的 Alt)。然后选择SSD作为启动硬盘。\n\n4. 开机后用 **Trim Enabler**([官网下载](http://www.cindori.org/software/trimenabler/))开启 **Trim** 读写加速。:+1:","source":"_posts/IT/Mac/Mac备忘录.md","raw":"---\ntitle: Mac备忘录\ndate: 2019-07-22 18:47:47\nurlname: mac-memo\ntoc: true\ntags: [Mac]\ncategories: [IT, Mac]\nnotshow: true\n\n---\n\n# 指令和任务\n\n## 隐藏文件夹\n\nTerminal 命令\n\n```bash\n//显示隐藏文件\ndefaults write com.apple.finder AppleShowAllFiles -bool true\n//不显示隐藏文件\ndefaults write com.apple.finder AppleShowAllFiles -bool false\n```\n\n快速命令,打开访达窗口,然后 ⌘ + ⇧ + . 就可以隐藏/显示。\n\n\n\n需要重启Finder使设置生效 :\n\n> 重启Finder:窗口左上角的苹果标志-->强制退出-->Finder-->重新启动\n\n## 允许任何来源软件\n\n系统默认在 **安全与隐私** 里只显示 “App Store” 和 “App Store 和被认可的开发者”,没有 “任何来源”。开启的话需要在终端输入\n\n`sudo spctl --master-disable` \n\n并输入开机密码。\n\n\n\n## 任务控制\n\n- 将任务放在后台运行:`command + &` \n\n- 将任务丢到后台暂停:`ctrl-z` \n\n- 查看后台所有任务状态:`jobs -l` (会列出 1、2、3序列号)\n\n- 将后台的任务拿到前台处理:`fg %jobnumber` (指序列号,而不是任务id)\n\n- 将后台的任务变成运行中:`bg %jobnumber` \n\n- 管理后台当中的任务:`kill -signal %jobnumber`\n\n# 文件管理\n\n## 标签的使用\n\n参看 [mac 标签的使用](mac-using-tags.html)\n\n# 通用技巧\n\n## 输入法\n\n### 查看按键字符\n\n1. 偏好设置 → 键盘 → 输入法,窗口右面会显示键盘⌨️图案,按住shift⇧键或者option⌥,会显示在不同功能键下面的字符。\n\n\n\n## 通过Automator添加快捷键\n\n[文章来源](https://zhidao.baidu.com/question/1514898183998822540.html)\n\n1. 一次打开 ***Finder —> 应用程序 —> automator***\n2. 选取 ***服务***\n3. 从左边的双栏选取 ***使用工具—>运行AppleScript***, 并双击运行。\n4. 出现文本框后选定(右栏最上边)***没有输入***\n\n```objective-c\non run {input, parameters}\n (* Your script goes here *)\n tell application \"Safari\"\n reopen\n activate\n end tell\nend run\n```\n\n5. ⌘+S 保存,命名为 *Open Safari*。关闭automator\n6. 转到 ***系统偏好设置—>键盘—>快捷键—>服务—>通用—>open safari*** ,然后设定快捷键就好了。\n\n\n\n## 电源管理\n\n`pmset`是**macOS**下用来操作、电源管理的工具,可设定休眠模式、时间和唤醒时间或显示电源信息,不过因为它是一个命令列的指令,因此得透过终端机察看或修改设定。当你开启「终端机」输入p`mset -g` 会看到具体设置。\n\n- `Standbydelay 28800` :将系统储存于內存中休眠,会消耗一些电力。\n- `Autopowerofdelay 28800` : 把系统写入SSD硬盘中,将內存暂存关闭,依照这篇文章的说法,两者延迟时间28800秒(约八小时)会让电脑多维持內存八小时左右的电力。\n- `tcpkeepalive` :设定睡眠后是否还保持网络连接, 以便可以透过TCP唤醒系统\n- `hibernatemode` :睡眠模式。数字越小,耗电越高。可以设置为 25\n\n```sh\nsudo pmset -b autopoweroffdelay 300 # 将睡眠时间缩短为300秒(五分钟)\nsudo pmset -b standbydelay 300 # 然后将系统储存到SSD硬盘\nsudo pmset -b tcpkeepalive 0 # 将透过TCP唤醒系统的功能关闭\nsudo pmset -a hibernatemode 25 \n```\n\n> 中间的参数-b是使用电池下的参数,-c为外接电源下的参数设定, -a 为所有情况下的设定。\n\n\n\n## 升级到Mojave后鼠标发飘\n\n前往***偏好设置-->网络-->设定服务顺序(左下角齿轮)***,然后将***蓝牙PAN***拖到最上面。\n\n\n\n# 网络资源\n\n## 应用软件\n\n1. 大量破解资源分享的网站 [MacEnjoy](https://www.macenjoy.co/)\n\n## 在线文档\n\n[iMac 2012 规格](https://support.apple.com/kb/SP665?locale=zh_CN&viewlocale=zh_CN)\n\n### 升级SSD固态硬盘\n\n[iMac 2012 21.5吋 拆卸指南](https://zh.ifixit.com/Teardown/iMac+Intel+21.5-Inch+EMC+2544+Teardown/11936)\n\n[Mac升级外挂SSD硬盘](https://luolei.org/imac-5k-external-usb-ssd-update/)\n\n[如何选择另一个启动磁盘](https://support.apple.com/zh-cn/HT202796) :pen: 官方说明 \n\n[更换SSD固态硬盘攻略](http://www.mac52ipod.cn/post/apple-mac-macbook-pro-change-ssd-hardisk-tutorial.php)\n\n1. 固态硬盘通过USB 3连接到电脑,并格式化成 **Mac OS 扩展** 格式。\n\n ![](http://www.mac52ipod.cn/attachment.php?fid=5823)\n\n2. 用 Carbon Copy Cloner([官网下载](https://bombich.com/))把原硬盘的数据镜像到 SSD。完成后要制作恢复分区「Recovery HD」[破解版下载地址](https://www.macenjoy.co/blog/carbon-copy-cloner-for-mac-v5-1-9)\n\n 或者 [SuperDuper](https://www.shirt-pocket.com/SuperDuper/SuperDuperDescription.html) :pen: 免费版可以全盘备份,而不支持增量操作。 \n\n ![](http://www.mac52ipod.cn/attachment.php?fid=5824)\n\n3. 重启,听到 「当 」一声后按住 `Option` 键(windows 键盘上的 Alt)。然后选择SSD作为启动硬盘。\n\n4. 开机后用 **Trim Enabler**([官网下载](http://www.cindori.org/software/trimenabler/))开启 **Trim** 读写加速。:+1:","slug":"IT/Mac/Mac备忘录","published":1,"updated":"2020-05-07T07:28:37.649Z","_id":"cka1y597w001d4huu070sswhu","comments":1,"layout":"post","photos":[],"link":"","content":"指令和任务 \n隐藏文件夹 \nTerminal 命令
\n1 2 3 4 //显示隐藏文件 defaults write com.apple.finder AppleShowAllFiles -bool true //不显示隐藏文件 defaults write com.apple.finder AppleShowAllFiles -bool false
\n快速命令,打开访达窗口,然后 ⌘ + ⇧ + . 就可以隐藏/显示。
\n需要重启Finder使设置生效 :
\n\n重启Finder:窗口左上角的苹果标志–>强制退出–>Finder–>重新启动
\n \n允许任何来源软件 \n系统默认在 安全与隐私 里只显示 “App Store” 和 “App Store 和被认可的开发者”,没有 “任何来源”。开启的话需要在终端输入
\nsudo spctl --master-disable
\n并输入开机密码。
\n任务控制 \n\n\n将任务放在后台运行:command + &
\n \n\n将任务丢到后台暂停:ctrl-z
\n \n\n查看后台所有任务状态:jobs -l
(会列出 1、2、3序列号)
\n \n\n将后台的任务拿到前台处理:fg %jobnumber
(指序列号,而不是任务id)
\n \n\n将后台的任务变成运行中:bg %jobnumber
\n \n\n管理后台当中的任务:kill -signal %jobnumber
\n \n \n文件管理 \n标签的使用 \n参看 mac 标签的使用
\n通用技巧 \n输入法 \n查看按键字符 \n\n偏好设置 → 键盘 → 输入法,窗口右面会显示键盘⌨️图案,按住shift⇧键或者option⌥,会显示在不同功能键下面的字符。 \n \n通过Automator添加快捷键 \n文章来源
\n\n一次打开 Finder —> 应用程序 —> automator \n选取 服务 \n从左边的双栏选取 使用工具—>运行AppleScript , 并双击运行。 \n出现文本框后选定(右栏最上边)没有输入 \n \n1 2 3 4 5 6 7 on run {input, parameters} (* Your script goes here *) tell application "Safari" reopen activate end tell end run
\n\n⌘+S 保存,命名为 Open Safari 。关闭automator \n转到 系统偏好设置—>键盘—>快捷键—>服务—>通用—>open safari ,然后设定快捷键就好了。 \n \n电源管理 \npmset
是macOS 下用来操作、电源管理的工具,可设定休眠模式、时间和唤醒时间或显示电源信息,不过因为它是一个命令列的指令,因此得透过终端机察看或修改设定。当你开启「终端机」输入pmset -g
会看到具体设置。
\n\nStandbydelay 28800
:将系统储存于內存中休眠,会消耗一些电力。 \nAutopowerofdelay 28800
: 把系统写入SSD硬盘中,将內存暂存关闭,依照这篇文章的说法,两者延迟时间28800秒(约八小时)会让电脑多维持內存八小时左右的电力。 \ntcpkeepalive
:设定睡眠后是否还保持网络连接, 以便可以透过TCP唤醒系统 \nhibernatemode
:睡眠模式。数字越小,耗电越高。可以设置为 25 \n \n1 2 3 4 sudo pmset -b autopoweroffdelay 300 sudo pmset -b standbydelay 300 sudo pmset -b tcpkeepalive 0 sudo pmset -a hibernatemode 25
\n\n中间的参数-b是使用电池下的参数,-c为外接电源下的参数设定, -a 为所有情况下的设定。
\n \n升级到Mojave后鼠标发飘 \n前往偏好设置–>网络–>设定服务顺序(左下角齿轮) ,然后将蓝牙PAN 拖到最上面。
\n网络资源 \n应用软件 \n\n大量破解资源分享的网站 MacEnjoy \n \n在线文档 \niMac 2012 规格
\n升级SSD固态硬盘 \niMac 2012 21.5吋 拆卸指南
\nMac升级外挂SSD硬盘
\n如何选择另一个启动磁盘 :pen: 官方说明
\n更换SSD固态硬盘攻略
\n\n\n固态硬盘通过USB 3连接到电脑,并格式化成 Mac OS 扩展 格式。
\n
\n \n\n用 Carbon Copy Cloner(官网下载 )把原硬盘的数据镜像到 SSD。完成后要制作恢复分区「Recovery HD」破解版下载地址
\n或者 SuperDuper :pen: 免费版可以全盘备份,而不支持增量操作。
\n
\n \n\n重启,听到 「当 」一声后按住 Option
键(windows 键盘上的 Alt)。然后选择SSD作为启动硬盘。
\n \n\n开机后用 Trim Enabler (官网下载 )开启 Trim 读写加速。:+1:
\n \n \n","site":{"data":{}},"excerpt":"","more":"指令和任务 \n隐藏文件夹 \nTerminal 命令
\n\n快速命令,打开访达窗口,然后 ⌘ + ⇧ + . 就可以隐藏/显示。
\n需要重启Finder使设置生效 :
\n\n重启Finder:窗口左上角的苹果标志–>强制退出–>Finder–>重新启动
\n \n允许任何来源软件 \n系统默认在 安全与隐私 里只显示 “App Store” 和 “App Store 和被认可的开发者”,没有 “任何来源”。开启的话需要在终端输入
\nsudo spctl --master-disable
\n并输入开机密码。
\n任务控制 \n\n\n将任务放在后台运行:command + &
\n \n\n将任务丢到后台暂停:ctrl-z
\n \n\n查看后台所有任务状态:jobs -l
(会列出 1、2、3序列号)
\n \n\n将后台的任务拿到前台处理:fg %jobnumber
(指序列号,而不是任务id)
\n \n\n将后台的任务变成运行中:bg %jobnumber
\n \n\n管理后台当中的任务:kill -signal %jobnumber
\n \n \n文件管理 \n标签的使用 \n参看 mac 标签的使用
\n通用技巧 \n输入法 \n查看按键字符 \n\n偏好设置 → 键盘 → 输入法,窗口右面会显示键盘⌨️图案,按住shift⇧键或者option⌥,会显示在不同功能键下面的字符。 \n \n通过Automator添加快捷键 \n文章来源
\n\n一次打开 Finder —> 应用程序 —> automator \n选取 服务 \n从左边的双栏选取 使用工具—>运行AppleScript , 并双击运行。 \n出现文本框后选定(右栏最上边)没有输入 \n \n\n\n⌘+S 保存,命名为 Open Safari 。关闭automator \n转到 系统偏好设置—>键盘—>快捷键—>服务—>通用—>open safari ,然后设定快捷键就好了。 \n \n电源管理 \npmset
是macOS 下用来操作、电源管理的工具,可设定休眠模式、时间和唤醒时间或显示电源信息,不过因为它是一个命令列的指令,因此得透过终端机察看或修改设定。当你开启「终端机」输入pmset -g
会看到具体设置。
\n\nStandbydelay 28800
:将系统储存于內存中休眠,会消耗一些电力。 \nAutopowerofdelay 28800
: 把系统写入SSD硬盘中,将內存暂存关闭,依照这篇文章的说法,两者延迟时间28800秒(约八小时)会让电脑多维持內存八小时左右的电力。 \ntcpkeepalive
:设定睡眠后是否还保持网络连接, 以便可以透过TCP唤醒系统 \nhibernatemode
:睡眠模式。数字越小,耗电越高。可以设置为 25 \n \n\n\n中间的参数-b是使用电池下的参数,-c为外接电源下的参数设定, -a 为所有情况下的设定。
\n \n升级到Mojave后鼠标发飘 \n前往偏好设置–>网络–>设定服务顺序(左下角齿轮) ,然后将蓝牙PAN 拖到最上面。
\n网络资源 \n应用软件 \n\n大量破解资源分享的网站 MacEnjoy \n \n在线文档 \niMac 2012 规格
\n升级SSD固态硬盘 \niMac 2012 21.5吋 拆卸指南
\nMac升级外挂SSD硬盘
\n如何选择另一个启动磁盘 :pen: 官方说明
\n更换SSD固态硬盘攻略
\n\n\n固态硬盘通过USB 3连接到电脑,并格式化成 Mac OS 扩展 格式。
\n
\n \n\n用 Carbon Copy Cloner(官网下载 )把原硬盘的数据镜像到 SSD。完成后要制作恢复分区「Recovery HD」破解版下载地址
\n或者 SuperDuper :pen: 免费版可以全盘备份,而不支持增量操作。
\n
\n \n\n重启,听到 「当 」一声后按住 Option
键(windows 键盘上的 Alt)。然后选择SSD作为启动硬盘。
\n \n\n开机后用 Trim Enabler (官网下载 )开启 Trim 读写加速。:+1:
\n \n \n"},{"title":"Ubuntu重设root用户密码","date":"2019-07-26T15:51:03.000Z","urlname":"ubuntu-reset-root-pw","toc":true,"notshow":true,"_content":"\n# 重设密码\n\n原理上参考这份[中文指引][Chinese]就好。由于我的服务器是IONOS公司的,这里主要记录[IONOS][IONOS]的官方指引。(严格按照步骤)\n\n```sh\n网址 www.ionos.de/hilfe\n# 选择 Server & Cloud Infrastructure\n```\n\n\n\n1. 打开 KVM-Konsole\n2. 在用户管理平台软重启系统 Soft-Restart\n3. 在 KVM-Konsole 这边按 ``ESC`` 键\n4. 当出现类似一下界面,按 ``E`` 键\n\n![](https://github.com/maiernte/img/raw/master/Tech/ubuntu-reset-root-1.png)\n\n5. 然后会来到这个界面。\n6. ![](https://github.com/maiernte/img/raw/master/Tech/ubuntu-reset-root-2.png)\n\n7. 用上下键移动到“linux。。。”开始的那一行,并左右键移动到这行的末尾,空格,输入 `init=/bin/bash`\n\n![](https://github.com/maiernte/img/raw/master/Tech/ubuntu-reset-root-3.png)\n\n8. 按 `F10` 开始重启。等完成,进入命令模式后,输入以下命令。\n\n ```sh\n mount -o remount,rw /\n passwd\n Enter new UNIX password:\n Retype new UNIX password:\n passwd: password updated successfull\n ```\n\n \n\n9. 最后输入命令重启系统!\n\n ```sh\n reboot -f \n ```\n\n# 设置公共SSH\n\n在配置 github 的时候已经生成了 ssh-key ,可以用以下方法。\n\n```sh\ncd ~/.ssh\ncp id_rsa.pub authorized_keys\nssh-copy-id -i ~/.ssh/id_rsa.pub root@217.160.61.19 # 我的用户名和服务器地址,默认端口 22\n# 指定端口号为2212:ssh-copy-id -i ~/.ssh/id_rsa.pub -p 2212 user@ip\n\nssh root@217.160.61.19 # 登录并输入密码,第二次就不再需要密码了。\n\n```\n\n\n\n---\n\n[Chinese]: https://ifmx.cc/linux/398.html \"中文指引\"\n[IONOS]: https://www.ionos.de/hilfe/server-cloud-infrastructure/erste-schritte/root-passwort-zuruecksetzen/root-passwort-zuruecksetzen-ubuntu/ \"IONOS官方指引\"\n\n\n","source":"_posts/IT/Tools/Ubuntu重设root用户密码.md","raw":"---\n\ntitle: Ubuntu重设root用户密码\ndate: 2019-07-26 17:51:03\nurlname: ubuntu-reset-root-pw\ntoc: true\ntags: [工具]\ncategories: [IT, Tools]\nnotshow: true\n\n---\n\n# 重设密码\n\n原理上参考这份[中文指引][Chinese]就好。由于我的服务器是IONOS公司的,这里主要记录[IONOS][IONOS]的官方指引。(严格按照步骤)\n\n```sh\n网址 www.ionos.de/hilfe\n# 选择 Server & Cloud Infrastructure\n```\n\n\n\n1. 打开 KVM-Konsole\n2. 在用户管理平台软重启系统 Soft-Restart\n3. 在 KVM-Konsole 这边按 ``ESC`` 键\n4. 当出现类似一下界面,按 ``E`` 键\n\n![](https://github.com/maiernte/img/raw/master/Tech/ubuntu-reset-root-1.png)\n\n5. 然后会来到这个界面。\n6. ![](https://github.com/maiernte/img/raw/master/Tech/ubuntu-reset-root-2.png)\n\n7. 用上下键移动到“linux。。。”开始的那一行,并左右键移动到这行的末尾,空格,输入 `init=/bin/bash`\n\n![](https://github.com/maiernte/img/raw/master/Tech/ubuntu-reset-root-3.png)\n\n8. 按 `F10` 开始重启。等完成,进入命令模式后,输入以下命令。\n\n ```sh\n mount -o remount,rw /\n passwd\n Enter new UNIX password:\n Retype new UNIX password:\n passwd: password updated successfull\n ```\n\n \n\n9. 最后输入命令重启系统!\n\n ```sh\n reboot -f \n ```\n\n# 设置公共SSH\n\n在配置 github 的时候已经生成了 ssh-key ,可以用以下方法。\n\n```sh\ncd ~/.ssh\ncp id_rsa.pub authorized_keys\nssh-copy-id -i ~/.ssh/id_rsa.pub root@217.160.61.19 # 我的用户名和服务器地址,默认端口 22\n# 指定端口号为2212:ssh-copy-id -i ~/.ssh/id_rsa.pub -p 2212 user@ip\n\nssh root@217.160.61.19 # 登录并输入密码,第二次就不再需要密码了。\n\n```\n\n\n\n---\n\n[Chinese]: https://ifmx.cc/linux/398.html \"中文指引\"\n[IONOS]: https://www.ionos.de/hilfe/server-cloud-infrastructure/erste-schritte/root-passwort-zuruecksetzen/root-passwort-zuruecksetzen-ubuntu/ \"IONOS官方指引\"\n\n\n","slug":"IT/Tools/Ubuntu重设root用户密码","published":1,"updated":"2019-08-14T06:34:27.000Z","_id":"cka1y597x001e4huuv3ebsp4j","comments":1,"layout":"post","photos":[],"link":"","content":"重设密码 \n原理上参考这份中文指引 就好。由于我的服务器是IONOS公司的,这里主要记录IONOS 的官方指引。(严格按照步骤)
\n \n\n打开 KVM-Konsole \n在用户管理平台软重启系统 Soft-Restart \n在 KVM-Konsole 这边按 ESC
键 \n当出现类似一下界面,按 E
键 \n \n
\n\n\n然后会来到这个界面。
\n \n\n
\n \n\n用上下键移动到“linux。。。”开始的那一行,并左右键移动到这行的末尾,空格,输入 init=/bin/bash
\n \n \n
\n\n\n按 F10
开始重启。等完成,进入命令模式后,输入以下命令。
\n1 2 3 4 5 mount -o remount,rw / passwd Enter new UNIX password: Retype new UNIX password: passwd: password updated successfull
\n \n\n最后输入命令重启系统!
\n \n \n \n设置公共SSH \n在配置 github 的时候已经生成了 ssh-key ,可以用以下方法。
\n1 2 3 4 5 6 cd ~/.sshcp id_rsa.pub authorized_keys ssh-copy-id -i ~/.ssh/id_rsa.pub root@217.160.61.19 ssh root@217.160.61.19
\n \n","site":{"data":{}},"excerpt":"","more":"重设密码 \n原理上参考这份中文指引 就好。由于我的服务器是IONOS公司的,这里主要记录IONOS 的官方指引。(严格按照步骤)
\n\n\n打开 KVM-Konsole \n在用户管理平台软重启系统 Soft-Restart \n在 KVM-Konsole 这边按 ESC
键 \n当出现类似一下界面,按 E
键 \n \n
\n\n\n然后会来到这个界面。
\n \n\n
\n \n\n用上下键移动到“linux。。。”开始的那一行,并左右键移动到这行的末尾,空格,输入 init=/bin/bash
\n \n \n
\n\n\n按 F10
开始重启。等完成,进入命令模式后,输入以下命令。
\n\n \n\n最后输入命令重启系统!
\n\n \n \n设置公共SSH \n在配置 github 的时候已经生成了 ssh-key ,可以用以下方法。
\n\n \n"},{"title":"使用Github维护知识库","date":"2019-07-24T21:02:14.000Z","urlname":"use-github-in-wiki","toc":true,"notshow":true,"_content":"\n### 部署以及更新\n\n- **初建**:将文件夹设置为仓库。只是第一次需要,以后就基本不用。\n``git init``\n\n- **更新**:更新所有的文件。\n``git add .``\n\n- **描述**:更新描述(optional 不是必须的)\n``git commit -m \"my command...\"``\n\n- **推送**:上传到云仓库\n``git push -u origin master``\n\n\n\n#### 详细指令\n\n```bash\ngit remote add origin https://github.com/maiernte/NewAngular.git\n\ngit push -u origin master\n\n# For the next commit\n$ git add . # add to index only files created/modified and not those deleted\n$ git add -u # add to index only files deleted/modified and not those created\n$ git add -A # do both operation at once, add to index all files\n```\n下载及更新\n\n```bash\n#下载整个项目\ngit clone XXXXX\n#从服务器更新\ngit pull [xxxxxx]\n#Help\ngit hepl VERB\ngit VERB -h\n```\n\n克隆指定 Branch, 因为有时候 master 和 gh-pages 上存放的是不同的文档。\n\n```sh\ngit clone https://github.com/maiernte/gitbook_python_finance.git --branch master new_fold\n```\n\n设置忽略文件夹以及文件\n\n```sh\ntouch .gitignore\nvim .gitignore\n```\n\n并添加类似的行\n\n```\n# See https://help.github.com/ignore-files/ for more about ignoring files.\n# dependencies\n/node_modules\n\n# testing\n/coverage\n# production\n/build\n# misc\n.DS_Store\n.env.local\nnpm-debug.log*\nyarn-debug.log*\n```\n\n\n\n### 设置git身份信息\n\n```bash\ngit config --global user.name \"你的用户名\"\ngit config --global user.email \"你的邮箱\" \n```\n\n\n\n### 密码和凭证\n\n#### 保存 Github 用户名和密码\n\nMac 下面每次 `push` 都要询问用户名和密码,很麻烦。而且将来不利于用脚本控制部署。有个解决的办法:进入项目根目录,执行一下命令\n\n```sh\ngit config --global credential.helper store\n```\n\n然后推送一次,输入账号和密码后,第二次推送就不需要了!\n\n\n\n#### SSH Key 凭证\n\n```sh\n# 加入 SSH Agent\nssh-agent -s\n```\n\n如果出现类似`Agent pid XXXX`这样的字样,则跳过下一步,否则输入:\n\n```sh\neval `ssh-agent -s`\n```\n\n直到出现`Agent pid XXXX`这样的提示之后,输入:\n\n```sh\nssh-add ~/.ssh/id_rsa\n```\n\n这样,你成功的在本地生成了一个可用的SSH key。\n\n下面将这个key添加到github网站。 打开https://github.com/settings/ssh,点击`Add SSH Key`,复制`id_rsa.pub`中的所有内容到`Key`框中,在`Title`框中输入方便自己记忆的名字(建议输入能让自己明白是哪台电脑的名字,方便以后管理)。 当网页显示添加成功后,就已经完成了全部的操作。 下面进行一些测试,同样是打开Git Bash,输入:\n\n```\nssh -T git@github.com\n```\n\nbash中会显示如下字样:\n\n```\nThe authenticity of host 'github.com (207.97.227.239)' can't be established.\nRSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.\nAre you sure you want to continue connecting (yes/no)?\n```\n\n输入yes之后,计算机会自动将`github.com`列入已知的host,然后会出现如下提示:\n\n```\nHi username! You've successfully authenticated, but GitHub does not\nprovide shell access.\n```\n\n如果成功看见,说明你已经配置好了,快去享受爽快的hexo一键部署吧; 如果出现任何错误提示,请仔细检查自己的操作,或者将错误信息发给我。\n\n[参阅:十步轻松搞定Hexo]([https://gavinlee1.github.io/2017/02/25/%E5%8D%81%E6%AD%A5%E4%B9%8B%E5%86%85%E8%BD%BB%E6%9D%BE%E6%90%9E%E5%AE%9A-Hexo-GitHub%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/](https://gavinlee1.github.io/2017/02/25/十步之内轻松搞定-Hexo-GitHub搭建个人博客/))\n\n如果要多台电脑共同使用同一个SSH-Key,先在第二台电脑上用这个key的相同邮件生成一个新的key\n```\nssh-keygen -t rsa -b 4096 -C \"username@gmail.com\"\n```\n用第一台电脑上的两个key文件 `id_rsa, id_rsa.pub` 覆盖第二台电脑的文件(*注意备份*)。确保NEW上的两个文件的权限是正确的,id_rsa是600,id_rsa.pub是644,比如:\n```sh\n-rw------- 1 fancy fancy 1675 2013-03-19 12:55 id_rsa\n-rw-r--r-- 1 fancy fancy 406 2013-03-19 12:55 id_rsa.pub\n# 查看权限命令是 \nls -l\n# 更改权限命令是\nchmod 600 ~/.ssh/id_rsa\nchmod 644 ~/.ssh/id_rsa.pub\n```\n\n\n### 删除仓库\n\n1. 点开仓库\n2. 点击右上角的 `Settings`\n3. 滚动到最下面 `Done Zone`, 选择 `Delete this repository`。\n\n### 恢复所有修改\n\n```sh\ngit checkout . #本地所有修改的。没有的提交的,都返回到原来的状态\ngit stash #把所有没有提交的修改暂存到stash里面。可用git stash pop回复。\ngit reset --hard HASH #返回到HASH点,不保留修改。\ngit reset --soft HASH #同上,保留修改。HASH 是节点号,z.B. 7d593c5\n\ngit clean -df #返回到某个节点\ngit clean 参数\n -n 显示 将要 删除的 文件 和 目录\n -f 删除 文件\n -df 删除 文件 和 目录\n--------------------- \ngit describe --always # 查看当前节点号\ngit log # 查看所有HEAD号和Commit描述\n```\n\n更加暴力的方式是\n\n```sh\nit checkout . && git clean -xdf\n```\n\n\n\n#### 清除历史记录\n\n{% fold 代码 %}\n```\n1. Checkout\n git checkout --orphan latest_branch\n\n2. Add all the files\n git add -A\n\n3. Commit the changes\n git commit -am \"commit message\"\n\n4. Delete the branch\n git branch -D master\n\n5. Rename the current branch to master\n git branch -m master\n\n6. Finally, force update your repository\n\n git push -f origin master\n```\n{% endfold %}\n\n### 私人仓库\n\n作为个人笔记,不应该设为public,这样别人可以浏览。==2019== 年Github更新了[新的政策](https://www.infoq.cn/article/aKm94Aw1RmDL_9Gysm8D\n):\n> GitHub Free:包含无限制的私人存储库。有了 GitHub Free,开发人员可以将 GitHub 用于私有项目,每个存储库最多可以有三个协作者。许多开发人员希望使用私人仓库申请工作,做一些 side project,或者在公开发布之前先私下尝试一些东西。从今天开始,这些场景在 GitHub 上可以免费实现(未来可能有更多场景)。 公共存储库仍然是免费的,并包括无限合作者。\n\n\n\n1. 点开仓库\n2. 点击右上角的 `Settings`\n3. 滚动到最下面 `Done Zone`, 选择 `Make this repository private`。\n\n## 文摘资源\n\n[Git submodule 子模块的管理和使用](https://www.jianshu.com/p/9000cd49822c)","source":"_posts/IT/Tools/使用Github维护知识库.md","raw":"---\ntitle: 使用Github维护知识库\ndate: 2019-07-24 23:02:14\nurlname: use-github-in-wiki\ntoc: true\ntags: [工具]\ncategories: [IT, Tools]\nnotshow: true\n\n---\n\n### 部署以及更新\n\n- **初建**:将文件夹设置为仓库。只是第一次需要,以后就基本不用。\n``git init``\n\n- **更新**:更新所有的文件。\n``git add .``\n\n- **描述**:更新描述(optional 不是必须的)\n``git commit -m \"my command...\"``\n\n- **推送**:上传到云仓库\n``git push -u origin master``\n\n\n\n#### 详细指令\n\n```bash\ngit remote add origin https://github.com/maiernte/NewAngular.git\n\ngit push -u origin master\n\n# For the next commit\n$ git add . # add to index only files created/modified and not those deleted\n$ git add -u # add to index only files deleted/modified and not those created\n$ git add -A # do both operation at once, add to index all files\n```\n下载及更新\n\n```bash\n#下载整个项目\ngit clone XXXXX\n#从服务器更新\ngit pull [xxxxxx]\n#Help\ngit hepl VERB\ngit VERB -h\n```\n\n克隆指定 Branch, 因为有时候 master 和 gh-pages 上存放的是不同的文档。\n\n```sh\ngit clone https://github.com/maiernte/gitbook_python_finance.git --branch master new_fold\n```\n\n设置忽略文件夹以及文件\n\n```sh\ntouch .gitignore\nvim .gitignore\n```\n\n并添加类似的行\n\n```\n# See https://help.github.com/ignore-files/ for more about ignoring files.\n# dependencies\n/node_modules\n\n# testing\n/coverage\n# production\n/build\n# misc\n.DS_Store\n.env.local\nnpm-debug.log*\nyarn-debug.log*\n```\n\n\n\n### 设置git身份信息\n\n```bash\ngit config --global user.name \"你的用户名\"\ngit config --global user.email \"你的邮箱\" \n```\n\n\n\n### 密码和凭证\n\n#### 保存 Github 用户名和密码\n\nMac 下面每次 `push` 都要询问用户名和密码,很麻烦。而且将来不利于用脚本控制部署。有个解决的办法:进入项目根目录,执行一下命令\n\n```sh\ngit config --global credential.helper store\n```\n\n然后推送一次,输入账号和密码后,第二次推送就不需要了!\n\n\n\n#### SSH Key 凭证\n\n```sh\n# 加入 SSH Agent\nssh-agent -s\n```\n\n如果出现类似`Agent pid XXXX`这样的字样,则跳过下一步,否则输入:\n\n```sh\neval `ssh-agent -s`\n```\n\n直到出现`Agent pid XXXX`这样的提示之后,输入:\n\n```sh\nssh-add ~/.ssh/id_rsa\n```\n\n这样,你成功的在本地生成了一个可用的SSH key。\n\n下面将这个key添加到github网站。 打开https://github.com/settings/ssh,点击`Add SSH Key`,复制`id_rsa.pub`中的所有内容到`Key`框中,在`Title`框中输入方便自己记忆的名字(建议输入能让自己明白是哪台电脑的名字,方便以后管理)。 当网页显示添加成功后,就已经完成了全部的操作。 下面进行一些测试,同样是打开Git Bash,输入:\n\n```\nssh -T git@github.com\n```\n\nbash中会显示如下字样:\n\n```\nThe authenticity of host 'github.com (207.97.227.239)' can't be established.\nRSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.\nAre you sure you want to continue connecting (yes/no)?\n```\n\n输入yes之后,计算机会自动将`github.com`列入已知的host,然后会出现如下提示:\n\n```\nHi username! You've successfully authenticated, but GitHub does not\nprovide shell access.\n```\n\n如果成功看见,说明你已经配置好了,快去享受爽快的hexo一键部署吧; 如果出现任何错误提示,请仔细检查自己的操作,或者将错误信息发给我。\n\n[参阅:十步轻松搞定Hexo]([https://gavinlee1.github.io/2017/02/25/%E5%8D%81%E6%AD%A5%E4%B9%8B%E5%86%85%E8%BD%BB%E6%9D%BE%E6%90%9E%E5%AE%9A-Hexo-GitHub%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/](https://gavinlee1.github.io/2017/02/25/十步之内轻松搞定-Hexo-GitHub搭建个人博客/))\n\n如果要多台电脑共同使用同一个SSH-Key,先在第二台电脑上用这个key的相同邮件生成一个新的key\n```\nssh-keygen -t rsa -b 4096 -C \"username@gmail.com\"\n```\n用第一台电脑上的两个key文件 `id_rsa, id_rsa.pub` 覆盖第二台电脑的文件(*注意备份*)。确保NEW上的两个文件的权限是正确的,id_rsa是600,id_rsa.pub是644,比如:\n```sh\n-rw------- 1 fancy fancy 1675 2013-03-19 12:55 id_rsa\n-rw-r--r-- 1 fancy fancy 406 2013-03-19 12:55 id_rsa.pub\n# 查看权限命令是 \nls -l\n# 更改权限命令是\nchmod 600 ~/.ssh/id_rsa\nchmod 644 ~/.ssh/id_rsa.pub\n```\n\n\n### 删除仓库\n\n1. 点开仓库\n2. 点击右上角的 `Settings`\n3. 滚动到最下面 `Done Zone`, 选择 `Delete this repository`。\n\n### 恢复所有修改\n\n```sh\ngit checkout . #本地所有修改的。没有的提交的,都返回到原来的状态\ngit stash #把所有没有提交的修改暂存到stash里面。可用git stash pop回复。\ngit reset --hard HASH #返回到HASH点,不保留修改。\ngit reset --soft HASH #同上,保留修改。HASH 是节点号,z.B. 7d593c5\n\ngit clean -df #返回到某个节点\ngit clean 参数\n -n 显示 将要 删除的 文件 和 目录\n -f 删除 文件\n -df 删除 文件 和 目录\n--------------------- \ngit describe --always # 查看当前节点号\ngit log # 查看所有HEAD号和Commit描述\n```\n\n更加暴力的方式是\n\n```sh\nit checkout . && git clean -xdf\n```\n\n\n\n#### 清除历史记录\n\n{% fold 代码 %}\n```\n1. Checkout\n git checkout --orphan latest_branch\n\n2. Add all the files\n git add -A\n\n3. Commit the changes\n git commit -am \"commit message\"\n\n4. Delete the branch\n git branch -D master\n\n5. Rename the current branch to master\n git branch -m master\n\n6. Finally, force update your repository\n\n git push -f origin master\n```\n{% endfold %}\n\n### 私人仓库\n\n作为个人笔记,不应该设为public,这样别人可以浏览。==2019== 年Github更新了[新的政策](https://www.infoq.cn/article/aKm94Aw1RmDL_9Gysm8D\n):\n> GitHub Free:包含无限制的私人存储库。有了 GitHub Free,开发人员可以将 GitHub 用于私有项目,每个存储库最多可以有三个协作者。许多开发人员希望使用私人仓库申请工作,做一些 side project,或者在公开发布之前先私下尝试一些东西。从今天开始,这些场景在 GitHub 上可以免费实现(未来可能有更多场景)。 公共存储库仍然是免费的,并包括无限合作者。\n\n\n\n1. 点开仓库\n2. 点击右上角的 `Settings`\n3. 滚动到最下面 `Done Zone`, 选择 `Make this repository private`。\n\n## 文摘资源\n\n[Git submodule 子模块的管理和使用](https://www.jianshu.com/p/9000cd49822c)","slug":"IT/Tools/使用Github维护知识库","published":1,"updated":"2019-08-15T09:40:53.000Z","_id":"cka1y597z001h4huur126uc0a","comments":1,"layout":"post","photos":[],"link":"","content":"部署以及更新 \n\n\n初建 :将文件夹设置为仓库。只是第一次需要,以后就基本不用。 \ngit init
\n \n\n更新 :更新所有的文件。 \ngit add .
\n \n\n描述 :更新描述(optional 不是必须的) \ngit commit -m "my command..."
\n \n\n推送 :上传到云仓库 \ngit push -u origin master
\n \n \n \n详细指令 \n1 2 3 4 5 6 7 8 git remote add origin https://github.com/maiernte/NewAngular.git git push -u origin master $ git add . $ git add -u $ git add -A
\n下载及更新
\n1 2 3 4 5 6 7 git clone XXXXX git pull [xxxxxx] git hepl VERB git VERB -h
\n克隆指定 Branch, 因为有时候 master 和 gh-pages 上存放的是不同的文档。
\n1 git clone https://github.com/maiernte/gitbook_python_finance.git --branch master new_fold
\n设置忽略文件夹以及文件
\n1 2 touch .gitignore vim .gitignore
\n并添加类似的行
\n1 2 3 4 5 6 7 8 9 10 11 12 13 # See https://help.github.com/ignore-files/ for more about ignoring files. # dependencies /node_modules # testing /coverage # production /build # misc .DS_Store .env.local npm-debug.log* yarn-debug.log*
\n设置git身份信息 \n1 2 git config --global user.name \"你的用户名\" git config --global user.email \"你的邮箱\"
\n密码和凭证 \n保存 Github 用户名和密码 \nMac 下面每次 push
都要询问用户名和密码,很麻烦。而且将来不利于用脚本控制部署。有个解决的办法:进入项目根目录,执行一下命令
\n1 git config --global credential.helper store
\n然后推送一次,输入账号和密码后,第二次推送就不需要了!
\nSSH Key 凭证 \n \n如果出现类似Agent pid XXXX
这样的字样,则跳过下一步,否则输入:
\n \n直到出现Agent pid XXXX
这样的提示之后,输入:
\n \n这样,你成功的在本地生成了一个可用的SSH key。
\n下面将这个key添加到github网站。 打开https://github.com/settings/ssh,点击Add SSH Key
,复制id_rsa.pub
中的所有内容到Key
框中,在Title
框中输入方便自己记忆的名字(建议输入能让自己明白是哪台电脑的名字,方便以后管理)。 当网页显示添加成功后,就已经完成了全部的操作。 下面进行一些测试,同样是打开Git Bash,输入:
\n \nbash中会显示如下字样:
\n1 2 3 The authenticity of host 'github.com (207.97.227.239)' can't be established. RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48. Are you sure you want to continue connecting (yes/no)?
\n输入yes之后,计算机会自动将github.com
列入已知的host,然后会出现如下提示:
\n1 2 Hi username! You've successfully authenticated, but GitHub does not provide shell access.
\n如果成功看见,说明你已经配置好了,快去享受爽快的hexo一键部署吧; 如果出现任何错误提示,请仔细检查自己的操作,或者将错误信息发给我。
\n参阅:十步轻松搞定Hexo
\n如果要多台电脑共同使用同一个SSH-Key,先在第二台电脑上用这个key的相同邮件生成一个新的key
\n1 ssh-keygen -t rsa -b 4096 -C "username@gmail.com"
\n用第一台电脑上的两个key文件 id_rsa, id_rsa.pub
覆盖第二台电脑的文件(注意备份 )。确保NEW上的两个文件的权限是正确的,id_rsa是600,id_rsa.pub是644,比如:
\n1 2 3 4 5 6 7 -rw------- 1 fancy fancy 1675 2013-03-19 12:55 id_rsa -rw-r--r-- 1 fancy fancy 406 2013-03-19 12:55 id_rsa.pub ls -l chmod 600 ~/.ssh/id_rsa chmod 644 ~/.ssh/id_rsa.pub
\n删除仓库 \n\n点开仓库 \n点击右上角的 Settings
\n滚动到最下面 Done Zone
, 选择 Delete this repository
。 \n \n恢复所有修改 \n1 2 3 4 5 6 7 8 9 10 11 12 13 git checkout . git stash git reset --hard HASH git reset --soft HASH git clean -df git clean 参数 -n 显示 将要 删除的 文件 和 目录 -f 删除 文件 -df 删除 文件 和 目录 --------------------- git describe --always git log
\n更加暴力的方式是
\n1 it checkout . && git clean -xdf
\n清除历史记录 \n\n
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1. Checkout git checkout --orphan latest_branch 2. Add all the files git add -A 3. Commit the changes git commit -am "commit message" 4. Delete the branch git branch -D master 5. Rename the current branch to master git branch -m master 6. Finally, force update your repository git push -f origin master
\n\n
\n私人仓库 \n作为个人笔记,不应该设为public,这样别人可以浏览。==2019== 年Github更新了新的政策 :
\n\nGitHub Free:包含无限制的私人存储库。有了 GitHub Free,开发人员可以将 GitHub 用于私有项目,每个存储库最多可以有三个协作者。许多开发人员希望使用私人仓库申请工作,做一些 side project,或者在公开发布之前先私下尝试一些东西。从今天开始,这些场景在 GitHub 上可以免费实现(未来可能有更多场景)。 公共存储库仍然是免费的,并包括无限合作者。
\n \n\n点开仓库 \n点击右上角的 Settings
\n滚动到最下面 Done Zone
, 选择 Make this repository private
。 \n \n文摘资源 \nGit submodule 子模块的管理和使用
\n","site":{"data":{}},"excerpt":"部署以及更新 \n\n\n初建 :将文件夹设置为仓库。只是第一次需要,以后就基本不用。 \ngit init
\n \n\n更新 :更新所有的文件。 \ngit add .
\n \n\n描述 :更新描述(optional 不是必须的) \ngit commit -m "my command..."
\n \n\n推送 :上传到云仓库 \ngit push -u origin master
\n \n ","more":"详细指令 \n\n下载及更新
\n\n克隆指定 Branch, 因为有时候 master 和 gh-pages 上存放的是不同的文档。
\n\n设置忽略文件夹以及文件
\n\n并添加类似的行
\n\n设置git身份信息 \n\n密码和凭证 \n保存 Github 用户名和密码 \nMac 下面每次 push
都要询问用户名和密码,很麻烦。而且将来不利于用脚本控制部署。有个解决的办法:进入项目根目录,执行一下命令
\n\n然后推送一次,输入账号和密码后,第二次推送就不需要了!
\nSSH Key 凭证 \n\n如果出现类似Agent pid XXXX
这样的字样,则跳过下一步,否则输入:
\n\n直到出现Agent pid XXXX
这样的提示之后,输入:
\n\n这样,你成功的在本地生成了一个可用的SSH key。
\n下面将这个key添加到github网站。 打开https://github.com/settings/ssh,点击Add SSH Key
,复制id_rsa.pub
中的所有内容到Key
框中,在Title
框中输入方便自己记忆的名字(建议输入能让自己明白是哪台电脑的名字,方便以后管理)。 当网页显示添加成功后,就已经完成了全部的操作。 下面进行一些测试,同样是打开Git Bash,输入:
\n\nbash中会显示如下字样:
\n\n输入yes之后,计算机会自动将github.com
列入已知的host,然后会出现如下提示:
\n\n如果成功看见,说明你已经配置好了,快去享受爽快的hexo一键部署吧; 如果出现任何错误提示,请仔细检查自己的操作,或者将错误信息发给我。
\n参阅:十步轻松搞定Hexo
\n如果要多台电脑共同使用同一个SSH-Key,先在第二台电脑上用这个key的相同邮件生成一个新的key
\n\n用第一台电脑上的两个key文件 id_rsa, id_rsa.pub
覆盖第二台电脑的文件(注意备份 )。确保NEW上的两个文件的权限是正确的,id_rsa是600,id_rsa.pub是644,比如:
\n\n删除仓库 \n\n点开仓库 \n点击右上角的 Settings
\n滚动到最下面 Done Zone
, 选择 Delete this repository
。 \n \n恢复所有修改 \n\n更加暴力的方式是
\n\n清除历史记录 \n\n私人仓库 \n作为个人笔记,不应该设为public,这样别人可以浏览。==2019== 年Github更新了新的政策 :
\n\nGitHub Free:包含无限制的私人存储库。有了 GitHub Free,开发人员可以将 GitHub 用于私有项目,每个存储库最多可以有三个协作者。许多开发人员希望使用私人仓库申请工作,做一些 side project,或者在公开发布之前先私下尝试一些东西。从今天开始,这些场景在 GitHub 上可以免费实现(未来可能有更多场景)。 公共存储库仍然是免费的,并包括无限合作者。
\n \n\n点开仓库 \n点击右上角的 Settings
\n滚动到最下面 Done Zone
, 选择 Make this repository private
。 \n \n文摘资源 \nGit submodule 子模块的管理和使用
"},{"title":"坚果云有关","date":"2019-07-25T03:41:28.000Z","urlname":"about-jianguoyu","toc":true,"notshow":true,"_content":"\n\n\n##### 忽略文件\n\n配置文件 `customExtRules.conf`。在 Window 版可以在软件直接打开,在 Mac App 里面没有这个选项,要自行查找这个配置文件。[官方说明](http://www.jianguoyun.com/s/content/2219.html)\n\n> 在 Windows 和 Mac 下面目录可能不一样。\n\n\n\nMac 系统或 Linux 系统这个文件通常位于\n\n```sh\nvim ~/.nutstore/db/customExtRules.conf\nfold/to/ignore # 文件夹的绝对路径\n```\n\n\n\n##### 安卓系统上同步文件夹\n\n安卓版的坚果云客户端只会打开临时指定的文件。如果希望跟在PC上一样的操作,将整个文件库都同步到指定的文件夹内,就要用[FolderSync](http://help.jianguoyun.com/?p=2887)软件。\n\n登陆坚果云官网,账户信息-->安全选项-->第三方应用管理,生成一个新的第三方应用 **androidSync**,密码为 `xxxxxxxxxxxxxxxx`,然后按照上述官网的指南一步一步配置 FolderSync 就可以了。回头还是用 「坚果云 Markdown」这款软件来阅读md文档。\n\n##### 托管密码\n\n设置为 SafeInClound 的托管云盘。用户名是坚果云的登陆账户,密码为专门为其开通的第三方应用 *mypass* 的专门密码。`Local Pfad` 填写云盘内存储数据库文件的文件夹。 \n\n![](https://github.com/maiernte/img/raw/master/Tech/safeInCloudToJianguo.png)","source":"_posts/IT/Tools/坚果云有关.md","raw":"---\ntitle: 坚果云有关\ndate: 2019-07-25 05:41:28\nurlname: about-jianguoyu\ntoc: true\ntags: [工具]\ncategories: [IT, Tools]\nnotshow: true\n\n---\n\n\n\n##### 忽略文件\n\n配置文件 `customExtRules.conf`。在 Window 版可以在软件直接打开,在 Mac App 里面没有这个选项,要自行查找这个配置文件。[官方说明](http://www.jianguoyun.com/s/content/2219.html)\n\n> 在 Windows 和 Mac 下面目录可能不一样。\n\n\n\nMac 系统或 Linux 系统这个文件通常位于\n\n```sh\nvim ~/.nutstore/db/customExtRules.conf\nfold/to/ignore # 文件夹的绝对路径\n```\n\n\n\n##### 安卓系统上同步文件夹\n\n安卓版的坚果云客户端只会打开临时指定的文件。如果希望跟在PC上一样的操作,将整个文件库都同步到指定的文件夹内,就要用[FolderSync](http://help.jianguoyun.com/?p=2887)软件。\n\n登陆坚果云官网,账户信息-->安全选项-->第三方应用管理,生成一个新的第三方应用 **androidSync**,密码为 `xxxxxxxxxxxxxxxx`,然后按照上述官网的指南一步一步配置 FolderSync 就可以了。回头还是用 「坚果云 Markdown」这款软件来阅读md文档。\n\n##### 托管密码\n\n设置为 SafeInClound 的托管云盘。用户名是坚果云的登陆账户,密码为专门为其开通的第三方应用 *mypass* 的专门密码。`Local Pfad` 填写云盘内存储数据库文件的文件夹。 \n\n![](https://github.com/maiernte/img/raw/master/Tech/safeInCloudToJianguo.png)","slug":"IT/Tools/坚果云有关","published":1,"updated":"2019-08-14T22:10:30.000Z","_id":"cka1y5981001j4huuk1yz6awj","comments":1,"layout":"post","photos":[],"link":"","content":"忽略文件 \n配置文件 customExtRules.conf
。在 Window 版可以在软件直接打开,在 Mac App 里面没有这个选项,要自行查找这个配置文件。官方说明
\n\n在 Windows 和 Mac 下面目录可能不一样。
\n \n \nMac 系统或 Linux 系统这个文件通常位于
\n1 2 vim ~/.nutstore/db/customExtRules.conf fold/to/ignore
\n安卓系统上同步文件夹 \n安卓版的坚果云客户端只会打开临时指定的文件。如果希望跟在PC上一样的操作,将整个文件库都同步到指定的文件夹内,就要用FolderSync 软件。
\n登陆坚果云官网,账户信息–>安全选项–>第三方应用管理,生成一个新的第三方应用 androidSync ,密码为 xxxxxxxxxxxxxxxx
,然后按照上述官网的指南一步一步配置 FolderSync 就可以了。回头还是用 「坚果云 Markdown」这款软件来阅读md文档。
\n托管密码 \n设置为 SafeInClound 的托管云盘。用户名是坚果云的登陆账户,密码为专门为其开通的第三方应用 mypass 的专门密码。Local Pfad
填写云盘内存储数据库文件的文件夹。
\n
\n","site":{"data":{}},"excerpt":"忽略文件 \n配置文件 customExtRules.conf
。在 Window 版可以在软件直接打开,在 Mac App 里面没有这个选项,要自行查找这个配置文件。官方说明
\n\n在 Windows 和 Mac 下面目录可能不一样。
\n ","more":"Mac 系统或 Linux 系统这个文件通常位于
\n\n安卓系统上同步文件夹 \n安卓版的坚果云客户端只会打开临时指定的文件。如果希望跟在PC上一样的操作,将整个文件库都同步到指定的文件夹内,就要用FolderSync 软件。
\n登陆坚果云官网,账户信息–>安全选项–>第三方应用管理,生成一个新的第三方应用 androidSync ,密码为 xxxxxxxxxxxxxxxx
,然后按照上述官网的指南一步一步配置 FolderSync 就可以了。回头还是用 「坚果云 Markdown」这款软件来阅读md文档。
\n托管密码 \n设置为 SafeInClound 的托管云盘。用户名是坚果云的登陆账户,密码为专门为其开通的第三方应用 mypass 的专门密码。Local Pfad
填写云盘内存储数据库文件的文件夹。
\n
"},{"title":"编辑器工具使用技巧汇总","date":"2019-07-27T06:24:33.000Z","urlname":"Editor-Skills-Summary","toc":true,"notshow":true,"_content":"\n# VSCode\n\n1. Wechseln zwischen Text-Editor und Terminal\n 1. `Command+K+S` oder in Menü `Code->Pereferenc->Hotky`, öffnet Hot-Key Editor Fenster.\n 2. Tip `terminal` in Suchfeld, findet die Binding `^\\``, löscht diese Einstellung.\n 3. Sucht den \"workbench.action.terminal.focus\", bindet es mit Key `⌃<`.\n 4. Sucht den \"workbench.action.focusActiveEditorGroup\", bindet es wiederum mit Schlüssel `⌃<`, und Wenn-Kondition \"terminalFocus\".\n\n\n\n# Typora\n\n更多更详细的内容请参阅 Typora Wiki\n\n[Typora Wiki](http://support.typora.io/) ([wiki-website Project](https://github.com/typora/wiki-website))\n\n\n\n## 个性化快捷键\n\n**Windows**\n\n*文件--->偏好设置--->往高级设置* ,点击看到两个`json`格式的文件,打开第二个(**conf.user.json**), 用记事本打开,第17行`keyBinding`,在大括号中写 `代码块`:“你要设置的快捷键”,比如我的是**代码块**:`Ctrl+Alt+P`,保存文件,重启`typora`即可生效。[更详细介绍](https://github.com/itcastWsy/typora_copy_images)\n\n\n```json\n// Custom key binding, which will override the default ones.\n \"keyBinding\": {\n // for example: \n // \"Always on Top\": \"Ctrl+Shift+P\"\n \"注释\":\"Ctrl+Alt+/\",\n \"代码块\":\"Ctrl+Alt+P\",\n \"打开文件夹…\":\"Ctrl+Alt+O\"\n },\n```\n\n**Mac**\n\n[官方说明](http://support.typora.io/Shortcut-Keys/#macos)\n\n需要到`系统偏好设置—>键盘-->快捷键-->应用快捷键`那边设置。找到 ***Typora.App***,菜单名称填 ***代码***,然后输入希望的快捷键。我的设置是***⌃+⌘+C***。\n\n\n\n## 更改风格\n\n[开发好的工具](https://github.com/typora/typora-theme-toolkit) [如何客制化格式](https://pjchender.github.io/2018/04/24/note-%E5%A6%82%E4%BD%95%E7%82%BA-typora-%E6%92%B0%E5%AF%AB%E5%AE%A2%E8%A3%BD%E5%8C%96%E6%A8%A3%E5%BC%8F/)\n\n简单使用:添加 `base.user.css` 文件,并改变行内代码的颜色,以及公式颜色\n\n```css\n# 行内代码\ncode {\n\tcolor: red\n}\n\n# 行内公式\n.MathJax_SVG{\n\tcolor: DarkBlue;\n}\n```\n\n \n\nTypora的代码使用 [CodeMirror](https://codemirror.net/) 项目,尝试了一下修改 `base.user.css` 文件确实可以改变代码段的高度,并带滚动。但同时也限定了进行代码编辑时的整个窗口高度。所以没有用\n\n```css\n# 缺点:打开源代码模式的时候,整个页面也被限制成了只有300px高\n.CodeMirror {\n max-height: 300px;\n}\n.CodeMirror-scroll {\n overflow-y: auto;\n \toverflow-x: auto;\n\tmax-height: 300px;\n}\n```\n\n注意到书写模式的时候,整个编辑器都被包裹在 `
` 里面。在源代码模式的时候,没有这个 `write` 元素的包裹,而整个源代码窗口都被作用为一个 `CodeMirror` 元素对待。因此,作一些改变就能满足要求\n\n```scss\n#write .CodeMirror {\n max-height: 350px;\n}\n# 设定上下 padding 会让滚动条在小代码区消失\n#write .CodeMirror-scroll {\n overflow-y: auto;\n \toverflow-x: auto;\n\tmax-height: 330px;\n\tpadding-top: 10px;\n\tpadding-bottom: 10px;\n}\n```\n\n```\n# 避免只有一行的代码区,因为会显示滚动条,不好看。一行代码就用行内代码好了。\n```\n\n如果要限制来自 `GistHub` 的代码高度,只能限定其父元素 `iframe`\n\n```css\niframe {\n\tmax-height: 500px;\n}\n```\n\nWindows版的 Typora 的数学模块保存在 `path/resource/app/lib.asar` 压缩文件中。需要用asar解压\n\n[如何查看 asar 内部结构](https://newsn.net/say/electron-asar-explorer.html)\n\n[asar 如何加密解密](https://newsn.net/say/electron-asar-explorer.html)\n\n```sh\nnpm install -g asar\nasar extract 压缩文件 解压文件夹\nasar pack 文件夹 压缩文件名\n```\n\n\n\n\n## 文本搜索\n\n打开的单篇文章内搜索:\n\n> Windows `Control + F`\n>\n> Mac `⌘+F`\n\n文件夹内的搜索\n\n> Windows `Control + Shift + F`\n>\n> Mac `⇧+⌘+F`","source":"_posts/IT/Tools/编辑器工具使用技巧汇总.md","raw":"---\ntitle: 编辑器工具使用技巧汇总\ndate: 2019-07-27 08:24:33\nurlname: Editor-Skills-Summary\ntoc: true\ntags: [工具]\ncategories: [IT, Tools]\nnotshow: true\n\n---\n\n# VSCode\n\n1. Wechseln zwischen Text-Editor und Terminal\n 1. `Command+K+S` oder in Menü `Code->Pereferenc->Hotky`, öffnet Hot-Key Editor Fenster.\n 2. Tip `terminal` in Suchfeld, findet die Binding `^\\``, löscht diese Einstellung.\n 3. Sucht den \"workbench.action.terminal.focus\", bindet es mit Key `⌃<`.\n 4. Sucht den \"workbench.action.focusActiveEditorGroup\", bindet es wiederum mit Schlüssel `⌃<`, und Wenn-Kondition \"terminalFocus\".\n\n\n\n# Typora\n\n更多更详细的内容请参阅 Typora Wiki\n\n[Typora Wiki](http://support.typora.io/) ([wiki-website Project](https://github.com/typora/wiki-website))\n\n\n\n## 个性化快捷键\n\n**Windows**\n\n*文件--->偏好设置--->往高级设置* ,点击看到两个`json`格式的文件,打开第二个(**conf.user.json**), 用记事本打开,第17行`keyBinding`,在大括号中写 `代码块`:“你要设置的快捷键”,比如我的是**代码块**:`Ctrl+Alt+P`,保存文件,重启`typora`即可生效。[更详细介绍](https://github.com/itcastWsy/typora_copy_images)\n\n\n```json\n// Custom key binding, which will override the default ones.\n \"keyBinding\": {\n // for example: \n // \"Always on Top\": \"Ctrl+Shift+P\"\n \"注释\":\"Ctrl+Alt+/\",\n \"代码块\":\"Ctrl+Alt+P\",\n \"打开文件夹…\":\"Ctrl+Alt+O\"\n },\n```\n\n**Mac**\n\n[官方说明](http://support.typora.io/Shortcut-Keys/#macos)\n\n需要到`系统偏好设置—>键盘-->快捷键-->应用快捷键`那边设置。找到 ***Typora.App***,菜单名称填 ***代码***,然后输入希望的快捷键。我的设置是***⌃+⌘+C***。\n\n\n\n## 更改风格\n\n[开发好的工具](https://github.com/typora/typora-theme-toolkit) [如何客制化格式](https://pjchender.github.io/2018/04/24/note-%E5%A6%82%E4%BD%95%E7%82%BA-typora-%E6%92%B0%E5%AF%AB%E5%AE%A2%E8%A3%BD%E5%8C%96%E6%A8%A3%E5%BC%8F/)\n\n简单使用:添加 `base.user.css` 文件,并改变行内代码的颜色,以及公式颜色\n\n```css\n# 行内代码\ncode {\n\tcolor: red\n}\n\n# 行内公式\n.MathJax_SVG{\n\tcolor: DarkBlue;\n}\n```\n\n \n\nTypora的代码使用 [CodeMirror](https://codemirror.net/) 项目,尝试了一下修改 `base.user.css` 文件确实可以改变代码段的高度,并带滚动。但同时也限定了进行代码编辑时的整个窗口高度。所以没有用\n\n```css\n# 缺点:打开源代码模式的时候,整个页面也被限制成了只有300px高\n.CodeMirror {\n max-height: 300px;\n}\n.CodeMirror-scroll {\n overflow-y: auto;\n \toverflow-x: auto;\n\tmax-height: 300px;\n}\n```\n\n注意到书写模式的时候,整个编辑器都被包裹在 `
` 里面。在源代码模式的时候,没有这个 `write` 元素的包裹,而整个源代码窗口都被作用为一个 `CodeMirror` 元素对待。因此,作一些改变就能满足要求\n\n```scss\n#write .CodeMirror {\n max-height: 350px;\n}\n# 设定上下 padding 会让滚动条在小代码区消失\n#write .CodeMirror-scroll {\n overflow-y: auto;\n \toverflow-x: auto;\n\tmax-height: 330px;\n\tpadding-top: 10px;\n\tpadding-bottom: 10px;\n}\n```\n\n```\n# 避免只有一行的代码区,因为会显示滚动条,不好看。一行代码就用行内代码好了。\n```\n\n如果要限制来自 `GistHub` 的代码高度,只能限定其父元素 `iframe`\n\n```css\niframe {\n\tmax-height: 500px;\n}\n```\n\nWindows版的 Typora 的数学模块保存在 `path/resource/app/lib.asar` 压缩文件中。需要用asar解压\n\n[如何查看 asar 内部结构](https://newsn.net/say/electron-asar-explorer.html)\n\n[asar 如何加密解密](https://newsn.net/say/electron-asar-explorer.html)\n\n```sh\nnpm install -g asar\nasar extract 压缩文件 解压文件夹\nasar pack 文件夹 压缩文件名\n```\n\n\n\n\n## 文本搜索\n\n打开的单篇文章内搜索:\n\n> Windows `Control + F`\n>\n> Mac `⌘+F`\n\n文件夹内的搜索\n\n> Windows `Control + Shift + F`\n>\n> Mac `⇧+⌘+F`","slug":"IT/Tools/编辑器工具使用技巧汇总","published":1,"updated":"2019-09-01T17:11:47.000Z","_id":"cka1y5983001n4huuemw79ybo","comments":1,"layout":"post","photos":[],"link":"","content":"VSCode \n\nWechseln zwischen Text-Editor und Terminal\n\nCommand+K+S
oder in Menü Code->Pereferenc->Hotky
, öffnet Hot-Key Editor Fenster. \nTip terminal
in Suchfeld, findet die Binding `^``, löscht diese Einstellung. \nSucht den “workbench.action.terminal.focus”, bindet es mit Key ⌃<
. \nSucht den “workbench.action.focusActiveEditorGroup”, bindet es wiederum mit Schlüssel ⌃<
, und Wenn-Kondition “terminalFocus”. \n \n \n \n \nTypora \n更多更详细的内容请参阅 Typora Wiki
\nTypora Wiki (wiki-website Project )
\n个性化快捷键 \nWindows
\n文件—>偏好设置—>往高级设置 ,点击看到两个json
格式的文件,打开第二个(conf.user.json ), 用记事本打开,第17行keyBinding
,在大括号中写 代码块
:“你要设置的快捷键”,比如我的是代码块 :Ctrl+Alt+P
,保存文件,重启typora
即可生效。更详细介绍
\n1 2 3 4 5 6 7 8 // Custom key binding, which will override the default ones. \"keyBinding\": { // for example: // \"Always on Top\": \"Ctrl+Shift+P\" \"注释\":\"Ctrl+Alt+/\", \"代码块\":\"Ctrl+Alt+P\", \"打开文件夹…\":\"Ctrl+Alt+O\" },
\nMac
\n官方说明
\n需要到系统偏好设置—>键盘-->快捷键-->应用快捷键
那边设置。找到 Typora.App ,菜单名称填 代码 ,然后输入希望的快捷键。我的设置是⌃+⌘+C 。
\n更改风格 \n开发好的工具 如何客制化格式
\n简单使用:添加 base.user.css
文件,并改变行内代码的颜色,以及公式颜色
\n1 2 3 4 5 6 7 8 9 # 行内代码 code {\tcolor : red } # 行内公式 .MathJax_SVG {\tcolor : DarkBlue; }
\nTypora的代码使用 CodeMirror 项目,尝试了一下修改 base.user.css
文件确实可以改变代码段的高度,并带滚动。但同时也限定了进行代码编辑时的整个窗口高度。所以没有用
\n1 2 3 4 5 6 7 8 9 # 缺点:打开源代码模式的时候,整个页面也被限制成了只有300px 高 .CodeMirror { max-height : 300px ; } .CodeMirror-scroll { overflow-y : auto; \toverflow-x : auto; \tmax-height : 300px ; }
\n注意到书写模式的时候,整个编辑器都被包裹在 <div id="write"> </div>
里面。在源代码模式的时候,没有这个 write
元素的包裹,而整个源代码窗口都被作用为一个 CodeMirror
元素对待。因此,作一些改变就能满足要求
\n1 2 3 4 5 6 7 8 9 10 11 #write .CodeMirror { max-height : 350px ; } # 设定上下 padding 会让滚动条在小代码区消失 #write .CodeMirror-scroll { overflow-y : auto; \toverflow-x : auto; \tmax-height : 330px ; \tpadding-top : 10px ; \tpadding-bottom : 10px ; }
\n1 # 避免只有一行的代码区,因为会显示滚动条,不好看。一行代码就用行内代码好了。
\n如果要限制来自 GistHub
的代码高度,只能限定其父元素 iframe
\n1 2 3 iframe {\tmax-height : 500px ; }
\nWindows版的 Typora 的数学模块保存在 path/resource/app/lib.asar
压缩文件中。需要用asar解压
\n如何查看 asar 内部结构
\nasar 如何加密解密
\n1 2 3 npm install -g asar asar extract 压缩文件 解压文件夹 asar pack 文件夹 压缩文件名
\n文本搜索 \n打开的单篇文章内搜索:
\n\nWindows Control + F
\nMac ⌘+F
\n \n文件夹内的搜索
\n\nWindows Control + Shift + F
\nMac ⇧+⌘+F
\n \n","site":{"data":{}},"excerpt":"VSCode \n\nWechseln zwischen Text-Editor und Terminal\n\nCommand+K+S
oder in Menü Code->Pereferenc->Hotky
, öffnet Hot-Key Editor Fenster. \nTip terminal
in Suchfeld, findet die Binding `^``, löscht diese Einstellung. \nSucht den “workbench.action.terminal.focus”, bindet es mit Key ⌃<
. \nSucht den “workbench.action.focusActiveEditorGroup”, bindet es wiederum mit Schlüssel ⌃<
, und Wenn-Kondition “terminalFocus”. \n \n \n ","more":"Typora \n更多更详细的内容请参阅 Typora Wiki
\nTypora Wiki (wiki-website Project )
\n个性化快捷键 \nWindows
\n文件—>偏好设置—>往高级设置 ,点击看到两个json
格式的文件,打开第二个(conf.user.json ), 用记事本打开,第17行keyBinding
,在大括号中写 代码块
:“你要设置的快捷键”,比如我的是代码块 :Ctrl+Alt+P
,保存文件,重启typora
即可生效。更详细介绍
\n\nMac
\n官方说明
\n需要到系统偏好设置—>键盘-->快捷键-->应用快捷键
那边设置。找到 Typora.App ,菜单名称填 代码 ,然后输入希望的快捷键。我的设置是⌃+⌘+C 。
\n更改风格 \n开发好的工具 如何客制化格式
\n简单使用:添加 base.user.css
文件,并改变行内代码的颜色,以及公式颜色
\n\nTypora的代码使用 CodeMirror 项目,尝试了一下修改 base.user.css
文件确实可以改变代码段的高度,并带滚动。但同时也限定了进行代码编辑时的整个窗口高度。所以没有用
\n\n注意到书写模式的时候,整个编辑器都被包裹在 <div id="write"> </div>
里面。在源代码模式的时候,没有这个 write
元素的包裹,而整个源代码窗口都被作用为一个 CodeMirror
元素对待。因此,作一些改变就能满足要求
\n\n\n如果要限制来自 GistHub
的代码高度,只能限定其父元素 iframe
\n\nWindows版的 Typora 的数学模块保存在 path/resource/app/lib.asar
压缩文件中。需要用asar解压
\n如何查看 asar 内部结构
\nasar 如何加密解密
\n\n文本搜索 \n打开的单篇文章内搜索:
\n\nWindows Control + F
\nMac ⌘+F
\n \n文件夹内的搜索
\n\nWindows Control + Shift + F
\nMac ⇧+⌘+F
\n "},{"title":"配置服务器端MySQL","date":"2019-08-06T15:26:28.000Z","urlname":"config-mysql-access-privileges-on-vps","toc":true,"notshow":true,"_content":"\n[文章](https://blog.csdn.net/bird3014/article/details/78481104)\n\n###### 问题一:端口状态\n\n1. 查看 3306 端口状态 `sudo netstat -an | grep 3306`\n\n> tcp 0 0 127.0.0.1:3306 0.0.0.0:* \n\n3306端口是默认绑定在本地IP 127.0.0.1上的,所以外网无法访问该主机的3306端口。 \n打开MySQL的配置文件:`sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf`\n\n2. 找到如下内容的一行并注释掉:\n\n> bind-address = 127.0.0.1\n\n3. 重启MySQL服务\n\n> sudo systemctl restart mysql\n\n然后使用如下命令查看端口绑定状态\n\n> `sudo netstat -an | grep 3306`\n\n----\n\n###### 问题二:用户权限\n\n查看用户权限\n\n```mysql\nsudo mysql -uroot -p[你的密码]\nuse mysql\nselect user,host from user\n```\n\n当显示如下,表示用户root只允许内网访问\n\n> root localhost\n\n给用户授权\n\n```mysql\ngrant all privileges on *.* to 'root'@'[允许的ip]' identified by '[密码]' with grant option;\nflush privileges;\n```\n\n其中*`[允许的ip]`*如果设置为**%**的话则表示所有$ip$都可以访问,*`[密码]`*表示外网访问的密码是什么。比如我设置成所有$ip$都可访问,密码是$root$,则命令如下:\n\n```mysql\ngrant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;\nflush privileges;\nselect user,host from user;\n```\n\n重新查看,会显示 \n\n> root %\n>\n> root localhost\n\n\n\n###### 安装 phpMyAdmin\n\n","source":"_posts/IT/Tools/配置服务器端MySQL.md","raw":"---\ntitle: 配置服务器端MySQL\ndate: 2019-08-06 17:26:28\nurlname: config-mysql-access-privileges-on-vps\ntoc: true\ntags: [工具]\ncategories: [IT, Tools]\nnotshow: true\n\n---\n\n[文章](https://blog.csdn.net/bird3014/article/details/78481104)\n\n###### 问题一:端口状态\n\n1. 查看 3306 端口状态 `sudo netstat -an | grep 3306`\n\n> tcp 0 0 127.0.0.1:3306 0.0.0.0:* \n\n3306端口是默认绑定在本地IP 127.0.0.1上的,所以外网无法访问该主机的3306端口。 \n打开MySQL的配置文件:`sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf`\n\n2. 找到如下内容的一行并注释掉:\n\n> bind-address = 127.0.0.1\n\n3. 重启MySQL服务\n\n> sudo systemctl restart mysql\n\n然后使用如下命令查看端口绑定状态\n\n> `sudo netstat -an | grep 3306`\n\n----\n\n###### 问题二:用户权限\n\n查看用户权限\n\n```mysql\nsudo mysql -uroot -p[你的密码]\nuse mysql\nselect user,host from user\n```\n\n当显示如下,表示用户root只允许内网访问\n\n> root localhost\n\n给用户授权\n\n```mysql\ngrant all privileges on *.* to 'root'@'[允许的ip]' identified by '[密码]' with grant option;\nflush privileges;\n```\n\n其中*`[允许的ip]`*如果设置为**%**的话则表示所有$ip$都可以访问,*`[密码]`*表示外网访问的密码是什么。比如我设置成所有$ip$都可访问,密码是$root$,则命令如下:\n\n```mysql\ngrant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;\nflush privileges;\nselect user,host from user;\n```\n\n重新查看,会显示 \n\n> root %\n>\n> root localhost\n\n\n\n###### 安装 phpMyAdmin\n\n","slug":"IT/Tools/配置服务器端MySQL","published":1,"updated":"2019-08-14T13:10:45.000Z","_id":"cka1y5986001p4huuxt1btjua","comments":1,"layout":"post","photos":[],"link":"","content":"文章
\n问题一:端口状态 \n\n查看 3306 端口状态 sudo netstat -an | grep 3306
\n \n\ntcp 0 0 127.0.0.1:3306 0.0.0.0:*
\n \n3306端口是默认绑定在本地IP 127.0.0.1上的,所以外网无法访问该主机的3306端口。 \n打开MySQL的配置文件:sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
\n\n找到如下内容的一行并注释掉: \n \n\nbind-address = 127.0.0.1
\n \n\n重启MySQL服务 \n \n\nsudo systemctl restart mysql
\n \n然后使用如下命令查看端口绑定状态
\n\nsudo netstat -an | grep 3306
\n \n \n问题二:用户权限 \n查看用户权限
\n1 2 3 sudo mysql -uroot -p[你的密码] use mysql select user,host from user
\n当显示如下,表示用户root只允许内网访问
\n\nroot localhost
\n \n给用户授权
\n1 2 grant all privileges on *.* to 'root'@'[允许的ip]' identified by '[密码]' with grant option; flush privileges;
\n其中*[允许的ip]
如果设置为 *%**的话则表示所有$ip$都可以访问,*[密码]
*表示外网访问的密码是什么。比如我设置成所有$ip$都可访问,密码是$root$,则命令如下:
\n1 2 3 grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option; flush privileges; select user,host from user;
\n重新查看,会显示
\n\nroot %
\nroot localhost
\n \n安装 phpMyAdmin \n","site":{"data":{}},"excerpt":"","more":"文章
\n问题一:端口状态 \n\n查看 3306 端口状态 sudo netstat -an | grep 3306
\n \n\ntcp 0 0 127.0.0.1:3306 0.0.0.0:*
\n \n3306端口是默认绑定在本地IP 127.0.0.1上的,所以外网无法访问该主机的3306端口。 \n打开MySQL的配置文件:sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
\n\n找到如下内容的一行并注释掉: \n \n\nbind-address = 127.0.0.1
\n \n\n重启MySQL服务 \n \n\nsudo systemctl restart mysql
\n \n然后使用如下命令查看端口绑定状态
\n\nsudo netstat -an | grep 3306
\n \n \n问题二:用户权限 \n查看用户权限
\n\n当显示如下,表示用户root只允许内网访问
\n\nroot localhost
\n \n给用户授权
\n\n其中*[允许的ip]
如果设置为 *%**的话则表示所有$ip$都可以访问,*[密码]
*表示外网访问的密码是什么。比如我设置成所有$ip$都可访问,密码是$root$,则命令如下:
\n\n重新查看,会显示
\n\nroot %
\nroot localhost
\n \n安装 phpMyAdmin \n"},{"title":"Next以及wikitten主题添加内容折叠","date":"2019-07-23T18:29:33.000Z","urlname":"next-collapse-block","toc":true,"_content":"\n# 添加代码\n\n当有大段的代码直接展示在页面时,看起来臃肿且不便于观看,此时将代码折叠式最好的选择。下面是在Hexo的Next主题上添加折叠功能。\n\n\n\n## 在main.js中添加折叠js\n\nNext主题的主要js位于 `themes/next/source/js/src/post-details.js`,在下面添加一下代码段:\n\n```javascript\n$(document).ready(function(){\n $(document).on('click', '.fold_hider', function(){\n $('>.fold', this.parentNode).slideToggle();\n $('>:first', this).toggleClass('open');\n });\n //默认情况下折叠\n $(\"div.fold\").css(\"display\",\"none\");\n});\n```\n\nWikitten 主题添加到 `themes/wikitten/source/js/main.js` 后面。\n\n## 自定义内建标签\n\n在主题scripts下添加一个tags.js,位于`themes/next/scripts/tags.js`\n\n```javascript\n/*\n @haohuawu\n 修复 Nunjucks 的 tag 里写 ```代码块```,最终都会渲染成 undefined 的问题\n https://github.com/hexojs/hexo/issues/2400\n*/\nconst rEscapeContent = /]*)>([\\s\\S]*?)<\\/escape>/g;\nconst placeholder = '\\uFFFD';\nconst rPlaceholder = /(?:<|<)\\!--\\uFFFD(\\d+)--(?:>|>)/g;\nconst cache = [];\nfunction escapeContent(str) {\n return '';\n}\nhexo.extend.filter.register('before_post_render', function(data) {\n data.content = data.content.replace(rEscapeContent, function(match, content) {\n return escapeContent(content);\n });\n return data;\n});\nhexo.extend.filter.register('after_post_render', function(data) {\n data.content = data.content.replace(rPlaceholder, function() {\n return cache[arguments[1]];\n });\n return data;\n});\n```\n\n再继续添加一个fold.js,位于`themes/next/scripts/fold.js`\n\n\n\n```javascript\n/* global hexo */\n// Usage: {% fold ???? %} Something {% endfold %}\nfunction fold (args, content) {\n var text = args[0];\n if(!text) text = \"点击显/隐\";\n return '\\n' + hexo.render.renderSync({text: content, engine: 'markdown'}) + '\\n
';\n}\nhexo.extend.tag.register('fold', fold, {ends: true});\n```\n\nwikitten主题将这两个文件复制到 `themes/wikitten/scripts` 目录下。\n\n## 添加自定义样式\n\n位于`themes/next/source/css/_custom/custom.styl`\n\n```css\n.hider_title{\n font-family: \"Microsoft Yahei\";\n cursor: pointer;\n color: red;\n}\n.close:after{\n content: \"▼\";\n}\n.open:after{\n content: \"▲\";\n}\n```\n\nwikitten 主题将此代码添加到 `themes/wikitten/source/css/_partial/article.styl` 文件下面。在`next` 主题必须将==color: red==去掉,否则会影响大纲栏的颜色。\n\n## 使用\n\n在我们需要折叠的地方前后添加便签,示例用法:\n\n```\n{% fold 点击显/隐内容 %}\n需要隐藏的内容。。。\n{% endfold %}\n```\n\n\n\n## 参考\n\n[Hexo next博客添加折叠块功能添加折叠代码块](https://blog.rmiao.top/hexo-fold-block/) \n[Next主题实现内容折叠](http://zlingfly.com/2018/09/05/fold-test/) \n[jQuery 实现内容折叠功能](https://www.oyohyee.com/post/Note/fold/)\n\n[Hexo 标签插件 官方](https://hexo.io/zh-cn/docs/tag-plugins.html)\n\n# 实例\n\n## 嵌套代码\n\nSome Content\n\n{% fold 点击显/隐内容 %}\n{% blockquote Mai, Düsseldorf link http://google.de %}\n\n\n\tpo_bfa_swbh_laufbahn \n\t\n\\ \n\n{% endblockquote %}\n{% endfold %}\n\n## Hexo 代码方式\n\n{% blockquote David, Levithan %}\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque hendrerit lacus ut purus iaculis feugiat. Sed nec tempor elit, quis aliquam neque. Curabitur sed diam eget dolor fermentum semper at eu lorem.\n{% endblockquote %}\n\n{% codeblock KOS xsl http://google.de downloadcode %}\n1 code snippet\n{% endcodeblock %}\n\n## Gist\n\n### Hexo 方式\n\nGist (\"48edcb5cfd92937ae61360b74852d4e1\" 就是id。 而 \"xml\" 是我创建时的文件名)。地址是 git.github.com\n\n{% gist 48edcb5cfd92937ae61360b74852d4e1 xml %}\n\n \n\n### Javascript 方式\n\n\n\n","source":"_posts/IT/Web/Next主题添加内容折叠.md","raw":"---\ntitle: Next以及wikitten主题添加内容折叠\ndate: 2019-07-23 20:29:33\nurlname: next-collapse-block\ntoc: true\ntags: [Hexo]\ncategories: [IT, Web]\n\n---\n\n# 添加代码\n\n当有大段的代码直接展示在页面时,看起来臃肿且不便于观看,此时将代码折叠式最好的选择。下面是在Hexo的Next主题上添加折叠功能。\n\n\n\n## 在main.js中添加折叠js\n\nNext主题的主要js位于 `themes/next/source/js/src/post-details.js`,在下面添加一下代码段:\n\n```javascript\n$(document).ready(function(){\n $(document).on('click', '.fold_hider', function(){\n $('>.fold', this.parentNode).slideToggle();\n $('>:first', this).toggleClass('open');\n });\n //默认情况下折叠\n $(\"div.fold\").css(\"display\",\"none\");\n});\n```\n\nWikitten 主题添加到 `themes/wikitten/source/js/main.js` 后面。\n\n## 自定义内建标签\n\n在主题scripts下添加一个tags.js,位于`themes/next/scripts/tags.js`\n\n```javascript\n/*\n @haohuawu\n 修复 Nunjucks 的 tag 里写 ```代码块```,最终都会渲染成 undefined 的问题\n https://github.com/hexojs/hexo/issues/2400\n*/\nconst rEscapeContent = /]*)>([\\s\\S]*?)<\\/escape>/g;\nconst placeholder = '\\uFFFD';\nconst rPlaceholder = /(?:<|<)\\!--\\uFFFD(\\d+)--(?:>|>)/g;\nconst cache = [];\nfunction escapeContent(str) {\n return '';\n}\nhexo.extend.filter.register('before_post_render', function(data) {\n data.content = data.content.replace(rEscapeContent, function(match, content) {\n return escapeContent(content);\n });\n return data;\n});\nhexo.extend.filter.register('after_post_render', function(data) {\n data.content = data.content.replace(rPlaceholder, function() {\n return cache[arguments[1]];\n });\n return data;\n});\n```\n\n再继续添加一个fold.js,位于`themes/next/scripts/fold.js`\n\n\n\n```javascript\n/* global hexo */\n// Usage: {% fold ???? %} Something {% endfold %}\nfunction fold (args, content) {\n var text = args[0];\n if(!text) text = \"点击显/隐\";\n return '\\n' + hexo.render.renderSync({text: content, engine: 'markdown'}) + '\\n
';\n}\nhexo.extend.tag.register('fold', fold, {ends: true});\n```\n\nwikitten主题将这两个文件复制到 `themes/wikitten/scripts` 目录下。\n\n## 添加自定义样式\n\n位于`themes/next/source/css/_custom/custom.styl`\n\n```css\n.hider_title{\n font-family: \"Microsoft Yahei\";\n cursor: pointer;\n color: red;\n}\n.close:after{\n content: \"▼\";\n}\n.open:after{\n content: \"▲\";\n}\n```\n\nwikitten 主题将此代码添加到 `themes/wikitten/source/css/_partial/article.styl` 文件下面。在`next` 主题必须将==color: red==去掉,否则会影响大纲栏的颜色。\n\n## 使用\n\n在我们需要折叠的地方前后添加便签,示例用法:\n\n```\n{% fold 点击显/隐内容 %}\n需要隐藏的内容。。。\n{% endfold %}\n```\n\n\n\n## 参考\n\n[Hexo next博客添加折叠块功能添加折叠代码块](https://blog.rmiao.top/hexo-fold-block/) \n[Next主题实现内容折叠](http://zlingfly.com/2018/09/05/fold-test/) \n[jQuery 实现内容折叠功能](https://www.oyohyee.com/post/Note/fold/)\n\n[Hexo 标签插件 官方](https://hexo.io/zh-cn/docs/tag-plugins.html)\n\n# 实例\n\n## 嵌套代码\n\nSome Content\n\n{% fold 点击显/隐内容 %}\n{% blockquote Mai, Düsseldorf link http://google.de %}\n\n\n\tpo_bfa_swbh_laufbahn \n\t\n\\ \n\n{% endblockquote %}\n{% endfold %}\n\n## Hexo 代码方式\n\n{% blockquote David, Levithan %}\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque hendrerit lacus ut purus iaculis feugiat. Sed nec tempor elit, quis aliquam neque. Curabitur sed diam eget dolor fermentum semper at eu lorem.\n{% endblockquote %}\n\n{% codeblock KOS xsl http://google.de downloadcode %}\n1 code snippet\n{% endcodeblock %}\n\n## Gist\n\n### Hexo 方式\n\nGist (\"48edcb5cfd92937ae61360b74852d4e1\" 就是id。 而 \"xml\" 是我创建时的文件名)。地址是 git.github.com\n\n{% gist 48edcb5cfd92937ae61360b74852d4e1 xml %}\n\n \n\n### Javascript 方式\n\n\n\n","slug":"IT/Web/Next主题添加内容折叠","published":1,"updated":"2019-07-31T03:51:34.000Z","_id":"cka1y5988001t4huux85puqey","comments":1,"layout":"post","photos":[],"link":"","content":"添加代码 \n当有大段的代码直接展示在页面时,看起来臃肿且不便于观看,此时将代码折叠式最好的选择。下面是在Hexo的Next主题上添加折叠功能。
\n \n在main.js中添加折叠js \nNext主题的主要js位于 themes/next/source/js/src/post-details.js
,在下面添加一下代码段:
\n1 2 3 4 5 6 7 8 $(document ).ready(function ( ) { $(document ).on('click' , '.fold_hider' , function ( ) { $('>.fold' , this .parentNode).slideToggle(); $('>:first' , this ).toggleClass('open' ); }); $(\"div.fold\" ).css(\"display\" ,\"none\" ); });
\nWikitten 主题添加到 themes/wikitten/source/js/main.js
后面。
\n自定义内建标签 \n在主题scripts下添加一个tags.js,位于themes/next/scripts/tags.js
\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 const rEscapeContent = /<escape(?:[^>]*)>([\\s\\S]*?)<\\/escape>/g ;const placeholder = '\\uFFFD' ;const rPlaceholder = /(?:<|<)\\!--\\uFFFD(\\d+)--(?:>|>)/g ;const cache = [];function escapeContent (str ) { return '<!--' + placeholder + (cache.push(str) - 1 ) + '-->' ; } hexo.extend.filter.register('before_post_render' , function (data ) { data.content = data.content.replace(rEscapeContent, function (match, content ) { return escapeContent(content); }); return data; }); hexo.extend.filter.register('after_post_render' , function (data ) { data.content = data.content.replace(rPlaceholder, function ( ) { return cache[arguments [1 ]]; }); return data; });
\n再继续添加一个fold.js,位于themes/next/scripts/fold.js
\n1 2 3 4 5 6 7 8 function fold (args, content ) { var text = args[0 ]; if (!text) text = \"点击显/隐\" ; return '<div><div class=\"fold_hider\"><div class=\"close hider_title\">' + text + '</div></div><div class=\"fold\">\\n' + hexo.render.renderSync({text : content, engine : 'markdown' }) + '\\n</div></div>' ; } hexo.extend.tag.register('fold' , fold, {ends : true });
\nwikitten主题将这两个文件复制到 themes/wikitten/scripts
目录下。
\n添加自定义样式 \n位于themes/next/source/css/_custom/custom.styl
\n1 2 3 4 5 6 7 8 9 10 11 .hider_title { font-family : \"Microsoft Yahei\" ; cursor : pointer; color : red; } .close :after { content : \"▼\" ; } .open :after { content : \"▲\" ; }
\nwikitten 主题将此代码添加到 themes/wikitten/source/css/_partial/article.styl
文件下面。在next
主题必须将==color: red==去掉,否则会影响大纲栏的颜色。
\n使用 \n在我们需要折叠的地方前后添加便签,示例用法:
\n1 2 3 {% fold 点击显/隐内容 %} 需要隐藏的内容。。。 {% endfold %}
\n参考 \nHexo next博客添加折叠块功能添加折叠代码块 \nNext主题实现内容折叠 \njQuery 实现内容折叠功能
\nHexo 标签插件 官方
\n实例 \n嵌套代码 \nSome Content
\n\n
<xsl:call-template name=“SetGlobaleVariable”> \n<xsl:with-param name=“name-variable”>po_bfa_swbh_laufbahn</xsl:with-param> \n<xsl:with-param name=“wert-variable” select="$bf_laufbahnzulage"/> \n</xsl:call-template>
\n\n
\nHexo 代码方式 \nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque hendrerit lacus ut purus iaculis feugiat. Sed nec tempor elit, quis aliquam neque. Curabitur sed diam eget dolor fermentum semper at eu lorem.
\n \nKOS xsl downloadcode \nGist \nHexo 方式 \nGist (“48edcb5cfd92937ae61360b74852d4e1” 就是id。 而 “xml” 是我创建时的文件名)。地址是 git.github.com
\n\n \nJavascript 方式 \n\n","site":{"data":{}},"excerpt":"添加代码 \n当有大段的代码直接展示在页面时,看起来臃肿且不便于观看,此时将代码折叠式最好的选择。下面是在Hexo的Next主题上添加折叠功能。
","more":"在main.js中添加折叠js \nNext主题的主要js位于 themes/next/source/js/src/post-details.js
,在下面添加一下代码段:
\n\nWikitten 主题添加到 themes/wikitten/source/js/main.js
后面。
\n自定义内建标签 \n在主题scripts下添加一个tags.js,位于themes/next/scripts/tags.js
\n\n再继续添加一个fold.js,位于themes/next/scripts/fold.js
\n\nwikitten主题将这两个文件复制到 themes/wikitten/scripts
目录下。
\n添加自定义样式 \n位于themes/next/source/css/_custom/custom.styl
\n\nwikitten 主题将此代码添加到 themes/wikitten/source/css/_partial/article.styl
文件下面。在next
主题必须将==color: red==去掉,否则会影响大纲栏的颜色。
\n使用 \n在我们需要折叠的地方前后添加便签,示例用法:
\n\n参考 \nHexo next博客添加折叠块功能添加折叠代码块 \nNext主题实现内容折叠 \njQuery 实现内容折叠功能
\nHexo 标签插件 官方
\n实例 \n嵌套代码 \nSome Content
\n\n
<xsl:call-template name=“SetGlobaleVariable”> \n<xsl:with-param name=“name-variable”>po_bfa_swbh_laufbahn</xsl:with-param> \n<xsl:with-param name=“wert-variable” select="$bf_laufbahnzulage"/> \n</xsl:call-template>
\n\n
\nHexo 代码方式 \nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque hendrerit lacus ut purus iaculis feugiat. Sed nec tempor elit, quis aliquam neque. Curabitur sed diam eget dolor fermentum semper at eu lorem.
\n \nKOS xsl downloadcode \nGist \nHexo 方式 \nGist (“48edcb5cfd92937ae61360b74852d4e1” 就是id。 而 “xml” 是我创建时的文件名)。地址是 git.github.com
\n\n \nJavascript 方式 \n"},{"title":"同步Hexo文章与Mac上原笔记的分类和标签","date":"2019-08-01T15:30:00.000Z","urlname":"synchron-the-tag-and-categories-btw-pc-hexo","toc":true,"_content":"\n\n\n最近才搞明白,原来**Hexo**博客的`_post`文件夹里面的Markdown原文件是可以按照分级嵌套的目录结构摆放的。编译的时候才放到**public**这个单一目录下。如果能让文章在Hexo的==分类==严格跟md文件的存储目录一一对应,将来需要找原文件的时侯会方便很多。😄\n\n\n\n使用**Mac**系统的同学也知道,mac有个很风骚的操作,就是给文件分配不同颜色的标签,非常方便文件寻找。我也希望博客上的文章标签,能跟Mac系统里的标签统一起来。:smile: \n\n\n\n实现物理存储目录与`Hexo分类`统一很简单,将源md文件的相对存储路径写到文件meta元素的`categories`里面就行了。比如源文件放在`我的博客-->IT-->前端`,文章的头文件就写成这样:`categories:[IT, 前端]`。\n\n\n\n实现标签的统一稍微麻烦一点,需要先读取文件实际分配到的标签。网上已经有一个公开的项目, [tag](https://github.com/jdberry/tag) 。下载并安装,就可以通过 `tag` 命令读取文件和文件夹的标签。\n\n```sh\n# 安装\nbrew install tag\n# 查看版本\ntag --version\n# 读取文件标签\ntag --list fileUrl\n```\n\n\n\n我已经写好了相应的脚本文件,下载并执行脚本文件就好了。脚本文件里的`dirPath`变量是我的统一存放md源文件的文件夹,你需要改成自己的存放路径,那样就不用每次运行的时候输入一遍。\n\n> 我在Hexo项目的根目录新添一个文件夹专门存放管理的脚本文件,每次都在终端运行这个脚本,所以默认执行路径是 `./source/_post`。\n\n\n\n运行脚本的时候可以设定时间参数,过滤掉太久远的文件。默认情况不会更改文件内容,只查看文件的实际分类和标签是否与文内头文件相同。然后按照给出的列表手动更改。如果想让程序自动更改,按照提示输入`fix`参数就好。\n\n","source":"_posts/IT/Web/同步Hexo文章与Mac上原笔记的分类和标签.md","raw":"---\ntitle: 同步Hexo文章与Mac上原笔记的分类和标签\ndate: 2019-08-01 17:30:00\nurlname: synchron-the-tag-and-categories-btw-pc-hexo\ntoc: true\ntags: [Hexo, Mac]\ncategories: [IT, Web]\n---\n\n\n\n最近才搞明白,原来**Hexo**博客的`_post`文件夹里面的Markdown原文件是可以按照分级嵌套的目录结构摆放的。编译的时候才放到**public**这个单一目录下。如果能让文章在Hexo的==分类==严格跟md文件的存储目录一一对应,将来需要找原文件的时侯会方便很多。😄\n\n\n\n使用**Mac**系统的同学也知道,mac有个很风骚的操作,就是给文件分配不同颜色的标签,非常方便文件寻找。我也希望博客上的文章标签,能跟Mac系统里的标签统一起来。:smile: \n\n\n\n实现物理存储目录与`Hexo分类`统一很简单,将源md文件的相对存储路径写到文件meta元素的`categories`里面就行了。比如源文件放在`我的博客-->IT-->前端`,文章的头文件就写成这样:`categories:[IT, 前端]`。\n\n\n\n实现标签的统一稍微麻烦一点,需要先读取文件实际分配到的标签。网上已经有一个公开的项目, [tag](https://github.com/jdberry/tag) 。下载并安装,就可以通过 `tag` 命令读取文件和文件夹的标签。\n\n```sh\n# 安装\nbrew install tag\n# 查看版本\ntag --version\n# 读取文件标签\ntag --list fileUrl\n```\n\n\n\n我已经写好了相应的脚本文件,下载并执行脚本文件就好了。脚本文件里的`dirPath`变量是我的统一存放md源文件的文件夹,你需要改成自己的存放路径,那样就不用每次运行的时候输入一遍。\n\n> 我在Hexo项目的根目录新添一个文件夹专门存放管理的脚本文件,每次都在终端运行这个脚本,所以默认执行路径是 `./source/_post`。\n\n\n\n运行脚本的时候可以设定时间参数,过滤掉太久远的文件。默认情况不会更改文件内容,只查看文件的实际分类和标签是否与文内头文件相同。然后按照给出的列表手动更改。如果想让程序自动更改,按照提示输入`fix`参数就好。\n\n","slug":"IT/Web/同步Hexo文章与Mac上原笔记的分类和标签","published":1,"updated":"2019-08-03T12:58:26.000Z","_id":"cka1y598a001v4huunsgdb908","comments":1,"layout":"post","photos":[],"link":"","content":"最近才搞明白,原来Hexo 博客的_post
文件夹里面的Markdown原文件是可以按照分级嵌套的目录结构摆放的。编译的时候才放到public 这个单一目录下。如果能让文章在Hexo的==分类==严格跟md文件的存储目录一一对应,将来需要找原文件的时侯会方便很多。😄
\n使用Mac 系统的同学也知道,mac有个很风骚的操作,就是给文件分配不同颜色的标签,非常方便文件寻找。我也希望博客上的文章标签,能跟Mac系统里的标签统一起来。:smile:
\n实现物理存储目录与Hexo分类
统一很简单,将源md文件的相对存储路径写到文件meta元素的categories
里面就行了。比如源文件放在我的博客-->IT-->前端
,文章的头文件就写成这样:categories:[IT, 前端]
。
\n实现标签的统一稍微麻烦一点,需要先读取文件实际分配到的标签。网上已经有一个公开的项目, tag 。下载并安装,就可以通过 tag
命令读取文件和文件夹的标签。
\n1 2 3 4 5 6 brew install tag tag --version tag --list fileUrl
\n我已经写好了相应的脚本文件,下载并执行脚本文件就好了。脚本文件里的dirPath
变量是我的统一存放md源文件的文件夹,你需要改成自己的存放路径,那样就不用每次运行的时候输入一遍。
\n\n我在Hexo项目的根目录新添一个文件夹专门存放管理的脚本文件,每次都在终端运行这个脚本,所以默认执行路径是 ./source/_post
。
\n \n运行脚本的时候可以设定时间参数,过滤掉太久远的文件。默认情况不会更改文件内容,只查看文件的实际分类和标签是否与文内头文件相同。然后按照给出的列表手动更改。如果想让程序自动更改,按照提示输入fix
参数就好。
\n","site":{"data":{}},"excerpt":"","more":"最近才搞明白,原来Hexo 博客的_post
文件夹里面的Markdown原文件是可以按照分级嵌套的目录结构摆放的。编译的时候才放到public 这个单一目录下。如果能让文章在Hexo的==分类==严格跟md文件的存储目录一一对应,将来需要找原文件的时侯会方便很多。😄
\n使用Mac 系统的同学也知道,mac有个很风骚的操作,就是给文件分配不同颜色的标签,非常方便文件寻找。我也希望博客上的文章标签,能跟Mac系统里的标签统一起来。:smile:
\n实现物理存储目录与Hexo分类
统一很简单,将源md文件的相对存储路径写到文件meta元素的categories
里面就行了。比如源文件放在我的博客-->IT-->前端
,文章的头文件就写成这样:categories:[IT, 前端]
。
\n实现标签的统一稍微麻烦一点,需要先读取文件实际分配到的标签。网上已经有一个公开的项目, tag 。下载并安装,就可以通过 tag
命令读取文件和文件夹的标签。
\n\n我已经写好了相应的脚本文件,下载并执行脚本文件就好了。脚本文件里的dirPath
变量是我的统一存放md源文件的文件夹,你需要改成自己的存放路径,那样就不用每次运行的时候输入一遍。
\n\n我在Hexo项目的根目录新添一个文件夹专门存放管理的脚本文件,每次都在终端运行这个脚本,所以默认执行路径是 ./source/_post
。
\n \n运行脚本的时候可以设定时间参数,过滤掉太久远的文件。默认情况不会更改文件内容,只查看文件的实际分类和标签是否与文内头文件相同。然后按照给出的列表手动更改。如果想让程序自动更改,按照提示输入fix
参数就好。
\n"},{"title":"如何系统化管理Hexo博客","date":"2019-07-28T19:30:00.000Z","urlname":"how-to-manage-big-hexo-blog","toc":true,"contentpw":123456,"_content":"\n管理? \n\n![](https://github.com/maiernte/img/raw/master/fun/what.jpg)\n\n\n\n# 建立博客的初衷\n虽说这篇笔记的题目是「如何管理」,为了更好的回答这个问题,必须要回到最原始问题上来——我为何要建一个博客,而且是费那么大劲。而我的初衷是建立和维护一个属于自己的「知识库」。通常来说,为了达成这个目的,更好的选择是笔记APP,而不是博客。我确实也是这么做的。一开始用印象笔记,因为它死活不支持多级目录,我又转到国内的为知笔记,做了五年的VIP用户。但它五年来似乎从没改进过。随着近年来有道云异军突起,以及IOS生态圈中琳琅满目的APP,如熊掌记、Notion、谷歌的Keep、阿里的语雀。。。。。。各有各的惊艳,各有各的槽点。\n\n随着国外的Github和国内的Coding等公司,相继开放永久免费、不限流量的静态网页托管平台,如Github Pages。我走上了自建Bolg的不归路。当然不是说,搭博客这条路完全没有槽点。而是——自己造的孽,含着泪也会继续造下去。至少它满足了我以下几点「必不可少」的要求:\n\n- [x] 多级目录\n- [x] 支持Markdown文本\n- [x] 支持分类、标签、以及站内全文检索\n- [x] 没有IOS、Windows、Android等平台限制\n\n说白了,我是利用Github提供的免费平台,把Blog当笔记本来用。最后选了Hexo,简单易用、界面绚丽、插件丰富。除开自用的「知识平台」功能以外,偶尔还能发发博文装大尾巴狼,也是蛮不错的感觉。\n\n网上介绍怎么搭建Hexo以及添加绚丽功能的帖子海了去了,但我基本没有发现分享「如何管理」的。因为绝大多数这些博主,搭建Hexo只是用来玩一阵子。回头有更新更好玩的东西,就跑去玩别的了。极少数有博客,站内文章超过50篇的。所以,对他们来说,根本不存在——管理——这个议题。\n\n虽然Hexo在逻辑上支持`分类`和`标签`,但物理上它把所有的Post都放到一个单一的目录下面。而我是打算把它当作知识库,长期、密集使用的。可预见的将来,站内笔记会非常多。不但写新贴,还可能经常更改旧贴。那势必会带来一个问题:如何管理数量少日益膨胀的笔记?\n\n# 解决思路\n\n我能想到的办法很简单,也很传统。就是不但逻辑分类,而且也必须物理上分目录存放。理论上在自己的PC分目录保存就好了。但我有好几台电脑,单位一台、自己Windows一台、Mac一台,还有平板。为了让能在不同的电脑上能随时修改、添加笔记,必须放在托管在云端。\n\n## 硬件\n没有必要租用传统的VPS,太贵了,而且连10%的运算能力都用不上。用共享的Web Hosting就完全能解决需求。比如百度云,或者Azure的Web App。而我是租用 1&1 公司的Web Hosting,每个月 1€\n- 1 CPU\n- 500M 内存\n- 20G SSD\n\n就算那么低的运算能力,平时我的网站也用不到25%的运算能力。应付起啦,绰绰有余。\n\n## 软件\n我采用了`MM-Wiki` 管理平台(以下简称维基平台)。这是一个非常优秀的开源项目,具体请参看[作者的文档](https://github.com/phachon/mm-wiki)。部署超级简单,可以说一键部署,然后就可以用起啦了。简单来说这个平台有以下几个特点:\n- [x] 支持空间管理、空间内支持多级目录。\n- [x] 支持Markdown编辑。\n- [x] 支持附件。\n- [x] 有修改记录。\n- [ ] 不支持内容搜索,只支持笔记的题目搜索。\n- [ ] 标签只支持到空间级别,目录和笔记都没有标签。\n\n但它跟Hexo博客搭配使用,就完全满足我的需求了。其实Hexo博客中,有个仿维基的Wikitten主题,跟`MM-Wiki`项目非常像。但毕竟不是所有内容,都适合摆在公开的地方。以`MM-Wiki` 作为私用平台,增加了私隐保护。\n\n我的做法是,在维基平台中开辟一个独立的空间,用来存放博客上所有的源文件。而在Github Pages上托管的静态网站其实都是HTML文件。所有的改动,都必须在源Markdownn文件上修改,然后再推送到博客网站的。\n\n在维基平台修改、添加、删除笔记的源文件。然后复制到Hexo的项目目录,编译后推送到Github Pages站点。维基百科内置的在线版`Editor.md `编辑器,非常美观实用。基本上我都不太需要在自己的电脑上用Typora等编辑器写MD文本了。思路有了,实现起来还是有一点问题。\n\n# 难点的解决办法\n\n首先,在维基平台内,MD文件是分目录存储的。这个目录不能直接拷贝到Hexo的`_post`目录。懒得每修改一个,或者添加一个笔记,就立马拷贝到博客中去。解决笔记复制的问题。\n\n其次,笔记的物理保存目录,**必须**跟Hexo上的「分类」是一一对应的。否则,管理起来会很麻烦。在维基平台移动了笔记的保存目录后,在一一修改内容,也是很吃力的事情。\n\n## 笔记复制的解决办法\n\n说来也超级简单,一个脚本命令就够了。先用`find`命令在指定目录找出所有的MD文件,然后通过管道传给复制命令`cp`,搞定!\n```sh\nfind /root/bibliothek/markdowns/博客草稿/ -type f -name \"*.md\" -exec cp {} /home/_post/ \\;\n```\n然后`hexo d -g`编译、发布,结束!\n\n## 管理笔记的分类\n\n这个问题有一点麻烦。因为必须打开每一个文件,读取笔记的头文件描述,然后再比较跟文件的物理位置是否符合。我尝试用shell脚本解决这难题。无奈我的的shell脚本功底是在很差,搞半天未果就放弃了。用Java或者.NET Core啥的,正儿八经写一个Console程序,也不是不行。但有种杀鸡用牛刀的感觉。\n\n最后想到了用Javascript。因为编译Hexo是需要安装Node.js的,写一段JavaScript,让Node跑起来。通往罗马的道路千万条,选一条自己最熟悉的就完了。\n\n{% fold 点击查看代码 %}\n\n{% endfold %}\n\n> 上面这个脚本使用的都是我个人设置,你如果要用的话需要改成自己实际文件目录。\n\n![](https://github.com/maiernte/img/raw/master/fun/给力.jpg)","source":"_posts/IT/Web/如何系统化管理Hexo博客.md","raw":"---\ntitle: 如何系统化管理Hexo博客\ndate: 2019-07-28 21:30:00\nurlname: how-to-manage-big-hexo-blog\ntoc: true\ncontentpw: 123456\ntags: [Hexo]\ncategories: [IT, Web]\n\n---\n\n管理? \n\n![](https://github.com/maiernte/img/raw/master/fun/what.jpg)\n\n\n\n# 建立博客的初衷\n虽说这篇笔记的题目是「如何管理」,为了更好的回答这个问题,必须要回到最原始问题上来——我为何要建一个博客,而且是费那么大劲。而我的初衷是建立和维护一个属于自己的「知识库」。通常来说,为了达成这个目的,更好的选择是笔记APP,而不是博客。我确实也是这么做的。一开始用印象笔记,因为它死活不支持多级目录,我又转到国内的为知笔记,做了五年的VIP用户。但它五年来似乎从没改进过。随着近年来有道云异军突起,以及IOS生态圈中琳琅满目的APP,如熊掌记、Notion、谷歌的Keep、阿里的语雀。。。。。。各有各的惊艳,各有各的槽点。\n\n随着国外的Github和国内的Coding等公司,相继开放永久免费、不限流量的静态网页托管平台,如Github Pages。我走上了自建Bolg的不归路。当然不是说,搭博客这条路完全没有槽点。而是——自己造的孽,含着泪也会继续造下去。至少它满足了我以下几点「必不可少」的要求:\n\n- [x] 多级目录\n- [x] 支持Markdown文本\n- [x] 支持分类、标签、以及站内全文检索\n- [x] 没有IOS、Windows、Android等平台限制\n\n说白了,我是利用Github提供的免费平台,把Blog当笔记本来用。最后选了Hexo,简单易用、界面绚丽、插件丰富。除开自用的「知识平台」功能以外,偶尔还能发发博文装大尾巴狼,也是蛮不错的感觉。\n\n网上介绍怎么搭建Hexo以及添加绚丽功能的帖子海了去了,但我基本没有发现分享「如何管理」的。因为绝大多数这些博主,搭建Hexo只是用来玩一阵子。回头有更新更好玩的东西,就跑去玩别的了。极少数有博客,站内文章超过50篇的。所以,对他们来说,根本不存在——管理——这个议题。\n\n虽然Hexo在逻辑上支持`分类`和`标签`,但物理上它把所有的Post都放到一个单一的目录下面。而我是打算把它当作知识库,长期、密集使用的。可预见的将来,站内笔记会非常多。不但写新贴,还可能经常更改旧贴。那势必会带来一个问题:如何管理数量少日益膨胀的笔记?\n\n# 解决思路\n\n我能想到的办法很简单,也很传统。就是不但逻辑分类,而且也必须物理上分目录存放。理论上在自己的PC分目录保存就好了。但我有好几台电脑,单位一台、自己Windows一台、Mac一台,还有平板。为了让能在不同的电脑上能随时修改、添加笔记,必须放在托管在云端。\n\n## 硬件\n没有必要租用传统的VPS,太贵了,而且连10%的运算能力都用不上。用共享的Web Hosting就完全能解决需求。比如百度云,或者Azure的Web App。而我是租用 1&1 公司的Web Hosting,每个月 1€\n- 1 CPU\n- 500M 内存\n- 20G SSD\n\n就算那么低的运算能力,平时我的网站也用不到25%的运算能力。应付起啦,绰绰有余。\n\n## 软件\n我采用了`MM-Wiki` 管理平台(以下简称维基平台)。这是一个非常优秀的开源项目,具体请参看[作者的文档](https://github.com/phachon/mm-wiki)。部署超级简单,可以说一键部署,然后就可以用起啦了。简单来说这个平台有以下几个特点:\n- [x] 支持空间管理、空间内支持多级目录。\n- [x] 支持Markdown编辑。\n- [x] 支持附件。\n- [x] 有修改记录。\n- [ ] 不支持内容搜索,只支持笔记的题目搜索。\n- [ ] 标签只支持到空间级别,目录和笔记都没有标签。\n\n但它跟Hexo博客搭配使用,就完全满足我的需求了。其实Hexo博客中,有个仿维基的Wikitten主题,跟`MM-Wiki`项目非常像。但毕竟不是所有内容,都适合摆在公开的地方。以`MM-Wiki` 作为私用平台,增加了私隐保护。\n\n我的做法是,在维基平台中开辟一个独立的空间,用来存放博客上所有的源文件。而在Github Pages上托管的静态网站其实都是HTML文件。所有的改动,都必须在源Markdownn文件上修改,然后再推送到博客网站的。\n\n在维基平台修改、添加、删除笔记的源文件。然后复制到Hexo的项目目录,编译后推送到Github Pages站点。维基百科内置的在线版`Editor.md `编辑器,非常美观实用。基本上我都不太需要在自己的电脑上用Typora等编辑器写MD文本了。思路有了,实现起来还是有一点问题。\n\n# 难点的解决办法\n\n首先,在维基平台内,MD文件是分目录存储的。这个目录不能直接拷贝到Hexo的`_post`目录。懒得每修改一个,或者添加一个笔记,就立马拷贝到博客中去。解决笔记复制的问题。\n\n其次,笔记的物理保存目录,**必须**跟Hexo上的「分类」是一一对应的。否则,管理起来会很麻烦。在维基平台移动了笔记的保存目录后,在一一修改内容,也是很吃力的事情。\n\n## 笔记复制的解决办法\n\n说来也超级简单,一个脚本命令就够了。先用`find`命令在指定目录找出所有的MD文件,然后通过管道传给复制命令`cp`,搞定!\n```sh\nfind /root/bibliothek/markdowns/博客草稿/ -type f -name \"*.md\" -exec cp {} /home/_post/ \\;\n```\n然后`hexo d -g`编译、发布,结束!\n\n## 管理笔记的分类\n\n这个问题有一点麻烦。因为必须打开每一个文件,读取笔记的头文件描述,然后再比较跟文件的物理位置是否符合。我尝试用shell脚本解决这难题。无奈我的的shell脚本功底是在很差,搞半天未果就放弃了。用Java或者.NET Core啥的,正儿八经写一个Console程序,也不是不行。但有种杀鸡用牛刀的感觉。\n\n最后想到了用Javascript。因为编译Hexo是需要安装Node.js的,写一段JavaScript,让Node跑起来。通往罗马的道路千万条,选一条自己最熟悉的就完了。\n\n{% fold 点击查看代码 %}\n\n{% endfold %}\n\n> 上面这个脚本使用的都是我个人设置,你如果要用的话需要改成自己实际文件目录。\n\n![](https://github.com/maiernte/img/raw/master/fun/给力.jpg)","slug":"IT/Web/如何系统化管理Hexo博客","published":1,"updated":"2019-08-15T21:51:57.000Z","_id":"cka1y598b001y4huuppnodfz2","comments":1,"layout":"post","photos":[],"link":"","content":"建立博客的初衷 \n虽说这篇笔记的题目是「如何管理」,为了更好的回答这个问题,必须要回到最原始问题上来——我为何要建一个博客,而且是费那么大劲。而我的初衷是建立和维护一个属于自己的「知识库」。通常来说,为了达成这个目的,更好的选择是笔记APP,而不是博客。我确实也是这么做的。一开始用印象笔记,因为它死活不支持多级目录,我又转到国内的为知笔记,做了五年的VIP用户。但它五年来似乎从没改进过。随着近年来有道云异军突起,以及IOS生态圈中琳琅满目的APP,如熊掌记、Notion、谷歌的Keep、阿里的语雀。。。。。。各有各的惊艳,各有各的槽点。
\n随着国外的Github和国内的Coding等公司,相继开放永久免费、不限流量的静态网页托管平台,如Github Pages。我走上了自建Bolg的不归路。当然不是说,搭博客这条路完全没有槽点。而是——自己造的孽,含着泪也会继续造下去。至少它满足了我以下几点「必不可少」的要求:
\n\n[x] 多级目录 \n[x] 支持Markdown文本 \n[x] 支持分类、标签、以及站内全文检索 \n[x] 没有IOS、Windows、Android等平台限制 \n \n说白了,我是利用Github提供的免费平台,把Blog当笔记本来用。最后选了Hexo,简单易用、界面绚丽、插件丰富。除开自用的「知识平台」功能以外,偶尔还能发发博文装大尾巴狼,也是蛮不错的感觉。
\n网上介绍怎么搭建Hexo以及添加绚丽功能的帖子海了去了,但我基本没有发现分享「如何管理」的。因为绝大多数这些博主,搭建Hexo只是用来玩一阵子。回头有更新更好玩的东西,就跑去玩别的了。极少数有博客,站内文章超过50篇的。所以,对他们来说,根本不存在——管理——这个议题。
\n虽然Hexo在逻辑上支持分类
和标签
,但物理上它把所有的Post都放到一个单一的目录下面。而我是打算把它当作知识库,长期、密集使用的。可预见的将来,站内笔记会非常多。不但写新贴,还可能经常更改旧贴。那势必会带来一个问题:如何管理数量少日益膨胀的笔记?
\n解决思路 \n我能想到的办法很简单,也很传统。就是不但逻辑分类,而且也必须物理上分目录存放。理论上在自己的PC分目录保存就好了。但我有好几台电脑,单位一台、自己Windows一台、Mac一台,还有平板。为了让能在不同的电脑上能随时修改、添加笔记,必须放在托管在云端。
\n硬件 \n没有必要租用传统的VPS,太贵了,而且连10%的运算能力都用不上。用共享的Web Hosting就完全能解决需求。比如百度云,或者Azure的Web App。而我是租用 1&1 公司的Web Hosting,每个月 1€
\n\n1 CPU \n500M 内存 \n20G SSD \n \n就算那么低的运算能力,平时我的网站也用不到25%的运算能力。应付起啦,绰绰有余。
\n软件 \n我采用了MM-Wiki
管理平台(以下简称维基平台)。这是一个非常优秀的开源项目,具体请参看作者的文档 。部署超级简单,可以说一键部署,然后就可以用起啦了。简单来说这个平台有以下几个特点:
\n\n[x] 支持空间管理、空间内支持多级目录。 \n[x] 支持Markdown编辑。 \n[x] 支持附件。 \n[x] 有修改记录。 \n[ ] 不支持内容搜索,只支持笔记的题目搜索。 \n[ ] 标签只支持到空间级别,目录和笔记都没有标签。 \n \n但它跟Hexo博客搭配使用,就完全满足我的需求了。其实Hexo博客中,有个仿维基的Wikitten主题,跟MM-Wiki
项目非常像。但毕竟不是所有内容,都适合摆在公开的地方。以MM-Wiki
作为私用平台,增加了私隐保护。
\n我的做法是,在维基平台中开辟一个独立的空间,用来存放博客上所有的源文件。而在Github Pages上托管的静态网站其实都是HTML文件。所有的改动,都必须在源Markdownn文件上修改,然后再推送到博客网站的。
\n在维基平台修改、添加、删除笔记的源文件。然后复制到Hexo的项目目录,编译后推送到Github Pages站点。维基百科内置的在线版Editor.md
编辑器,非常美观实用。基本上我都不太需要在自己的电脑上用Typora等编辑器写MD文本了。思路有了,实现起来还是有一点问题。
\n难点的解决办法 \n首先,在维基平台内,MD文件是分目录存储的。这个目录不能直接拷贝到Hexo的_post
目录。懒得每修改一个,或者添加一个笔记,就立马拷贝到博客中去。解决笔记复制的问题。
\n其次,笔记的物理保存目录,必须 跟Hexo上的「分类」是一一对应的。否则,管理起来会很麻烦。在维基平台移动了笔记的保存目录后,在一一修改内容,也是很吃力的事情。
\n笔记复制的解决办法 \n说来也超级简单,一个脚本命令就够了。先用find
命令在指定目录找出所有的MD文件,然后通过管道传给复制命令cp
,搞定!
\n1 find /root/bibliothek/markdowns/博客草稿/ -type f -name \"*.md\" -exec cp {} /home/_post/ \\;
\n然后hexo d -g
编译、发布,结束!
\n管理笔记的分类 \n这个问题有一点麻烦。因为必须打开每一个文件,读取笔记的头文件描述,然后再比较跟文件的物理位置是否符合。我尝试用shell脚本解决这难题。无奈我的的shell脚本功底是在很差,搞半天未果就放弃了。用Java或者.NET Core啥的,正儿八经写一个Console程序,也不是不行。但有种杀鸡用牛刀的感觉。
\n最后想到了用Javascript。因为编译Hexo是需要安装Node.js的,写一段JavaScript,让Node跑起来。通往罗马的道路千万条,选一条自己最熟悉的就完了。
\n\n\n上面这个脚本使用的都是我个人设置,你如果要用的话需要改成自己实际文件目录。
\n \n
","site":{"data":{}},"excerpt":"管理? \n
","more":"建立博客的初衷 \n虽说这篇笔记的题目是「如何管理」,为了更好的回答这个问题,必须要回到最原始问题上来——我为何要建一个博客,而且是费那么大劲。而我的初衷是建立和维护一个属于自己的「知识库」。通常来说,为了达成这个目的,更好的选择是笔记APP,而不是博客。我确实也是这么做的。一开始用印象笔记,因为它死活不支持多级目录,我又转到国内的为知笔记,做了五年的VIP用户。但它五年来似乎从没改进过。随着近年来有道云异军突起,以及IOS生态圈中琳琅满目的APP,如熊掌记、Notion、谷歌的Keep、阿里的语雀。。。。。。各有各的惊艳,各有各的槽点。
\n随着国外的Github和国内的Coding等公司,相继开放永久免费、不限流量的静态网页托管平台,如Github Pages。我走上了自建Bolg的不归路。当然不是说,搭博客这条路完全没有槽点。而是——自己造的孽,含着泪也会继续造下去。至少它满足了我以下几点「必不可少」的要求:
\n\n[x] 多级目录 \n[x] 支持Markdown文本 \n[x] 支持分类、标签、以及站内全文检索 \n[x] 没有IOS、Windows、Android等平台限制 \n \n说白了,我是利用Github提供的免费平台,把Blog当笔记本来用。最后选了Hexo,简单易用、界面绚丽、插件丰富。除开自用的「知识平台」功能以外,偶尔还能发发博文装大尾巴狼,也是蛮不错的感觉。
\n网上介绍怎么搭建Hexo以及添加绚丽功能的帖子海了去了,但我基本没有发现分享「如何管理」的。因为绝大多数这些博主,搭建Hexo只是用来玩一阵子。回头有更新更好玩的东西,就跑去玩别的了。极少数有博客,站内文章超过50篇的。所以,对他们来说,根本不存在——管理——这个议题。
\n虽然Hexo在逻辑上支持分类
和标签
,但物理上它把所有的Post都放到一个单一的目录下面。而我是打算把它当作知识库,长期、密集使用的。可预见的将来,站内笔记会非常多。不但写新贴,还可能经常更改旧贴。那势必会带来一个问题:如何管理数量少日益膨胀的笔记?
\n解决思路 \n我能想到的办法很简单,也很传统。就是不但逻辑分类,而且也必须物理上分目录存放。理论上在自己的PC分目录保存就好了。但我有好几台电脑,单位一台、自己Windows一台、Mac一台,还有平板。为了让能在不同的电脑上能随时修改、添加笔记,必须放在托管在云端。
\n硬件 \n没有必要租用传统的VPS,太贵了,而且连10%的运算能力都用不上。用共享的Web Hosting就完全能解决需求。比如百度云,或者Azure的Web App。而我是租用 1&1 公司的Web Hosting,每个月 1€
\n\n1 CPU \n500M 内存 \n20G SSD \n \n就算那么低的运算能力,平时我的网站也用不到25%的运算能力。应付起啦,绰绰有余。
\n软件 \n我采用了MM-Wiki
管理平台(以下简称维基平台)。这是一个非常优秀的开源项目,具体请参看作者的文档 。部署超级简单,可以说一键部署,然后就可以用起啦了。简单来说这个平台有以下几个特点:
\n\n[x] 支持空间管理、空间内支持多级目录。 \n[x] 支持Markdown编辑。 \n[x] 支持附件。 \n[x] 有修改记录。 \n[ ] 不支持内容搜索,只支持笔记的题目搜索。 \n[ ] 标签只支持到空间级别,目录和笔记都没有标签。 \n \n但它跟Hexo博客搭配使用,就完全满足我的需求了。其实Hexo博客中,有个仿维基的Wikitten主题,跟MM-Wiki
项目非常像。但毕竟不是所有内容,都适合摆在公开的地方。以MM-Wiki
作为私用平台,增加了私隐保护。
\n我的做法是,在维基平台中开辟一个独立的空间,用来存放博客上所有的源文件。而在Github Pages上托管的静态网站其实都是HTML文件。所有的改动,都必须在源Markdownn文件上修改,然后再推送到博客网站的。
\n在维基平台修改、添加、删除笔记的源文件。然后复制到Hexo的项目目录,编译后推送到Github Pages站点。维基百科内置的在线版Editor.md
编辑器,非常美观实用。基本上我都不太需要在自己的电脑上用Typora等编辑器写MD文本了。思路有了,实现起来还是有一点问题。
\n难点的解决办法 \n首先,在维基平台内,MD文件是分目录存储的。这个目录不能直接拷贝到Hexo的_post
目录。懒得每修改一个,或者添加一个笔记,就立马拷贝到博客中去。解决笔记复制的问题。
\n其次,笔记的物理保存目录,必须 跟Hexo上的「分类」是一一对应的。否则,管理起来会很麻烦。在维基平台移动了笔记的保存目录后,在一一修改内容,也是很吃力的事情。
\n笔记复制的解决办法 \n说来也超级简单,一个脚本命令就够了。先用find
命令在指定目录找出所有的MD文件,然后通过管道传给复制命令cp
,搞定!
\n\n然后hexo d -g
编译、发布,结束!
\n管理笔记的分类 \n这个问题有一点麻烦。因为必须打开每一个文件,读取笔记的头文件描述,然后再比较跟文件的物理位置是否符合。我尝试用shell脚本解决这难题。无奈我的的shell脚本功底是在很差,搞半天未果就放弃了。用Java或者.NET Core啥的,正儿八经写一个Console程序,也不是不行。但有种杀鸡用牛刀的感觉。
\n最后想到了用Javascript。因为编译Hexo是需要安装Node.js的,写一段JavaScript,让Node跑起来。通往罗马的道路千万条,选一条自己最熟悉的就完了。
\n\n\n上面这个脚本使用的都是我个人设置,你如果要用的话需要改成自己实际文件目录。
\n \n
"},{"title":"还在用七牛?","date":"2019-08-14T21:41:28.000Z","urlname":"still-using-qiniu","toc":true,"_content":"\n\n\n自从七牛换了服务条款,每个空间就只分配测试域名, 30天到期。想省钱的用户,必须每30天倒腾一次。如果忘记了,过了期限,据说图都找不回来。不想费那个劲的用户, 得绑定自己的域名。 这样不但增加费用,还要考虑到域名备案。 十分麻烦。\n\n\n\n这是我弃用七牛的主要原因。 第二个原因就是——`慢`! 也许我人在国外的原因吧, 每次打开七牛的后台,刷好几遍都打不开对象存储的页面,只能用第三方软件进行上传下载,那样会相对好一些.\n\n\n\n第三个原因是七牛的图床不能分目录存储。 当图片越积越多的时候,管理和查找起来非常麻烦。比如我昨天用Typora的Pandoc功能将一个Word技术文档转换成MD文件,一个文件就有100来张图。放在七牛得分好几页显示了。如果再想找别的图, 那得多费劲.\n\n\n\n后来还是把心思用在了Github上。 在自己的账号下新开一个仓库, 然后在自己的本地电脑专建立一个文件夹, 用来存放MD文档或者博客中使用到的图片, 把这个专门的文件夹推送到新的仓库就完了! 相比七牛, Github还有不少优势:\n\n- **可以分多级目录存储** \n- **传输速度快** !(*可能国内慢吧, 但国内可以同样的思路, 放到 Coding 或者 CSDN 上* )\n- **免费** \n- **不限流量** \n\n\n\n还要我说啥呢? \n\n\n\n但引用Github图片, 要做一个小小的改动. 比如Github上一个图片的原始地址是:\n\n> https://github.com/maiernte/img/blob/master/books/ng-book2-71/image100.png\n\n需要把其中的 `blob` 改成 `raw`, 变成\n\n> https://github.com/maiernte/img/raw/master/books/ng-book2-71/image100.png\n\n\n\n自打有了Github这个神器, 可以跟七牛说再见! 再也不见!","source":"_posts/IT/skill/还在用七牛.md","raw":"---\ntitle: 还在用七牛?\ndate: 2019-08-14 23:41:28\nurlname: still-using-qiniu\ntoc: true\ntags: [工具]\ncategories: [IT, skill]\n\n---\n\n\n\n自从七牛换了服务条款,每个空间就只分配测试域名, 30天到期。想省钱的用户,必须每30天倒腾一次。如果忘记了,过了期限,据说图都找不回来。不想费那个劲的用户, 得绑定自己的域名。 这样不但增加费用,还要考虑到域名备案。 十分麻烦。\n\n\n\n这是我弃用七牛的主要原因。 第二个原因就是——`慢`! 也许我人在国外的原因吧, 每次打开七牛的后台,刷好几遍都打不开对象存储的页面,只能用第三方软件进行上传下载,那样会相对好一些.\n\n\n\n第三个原因是七牛的图床不能分目录存储。 当图片越积越多的时候,管理和查找起来非常麻烦。比如我昨天用Typora的Pandoc功能将一个Word技术文档转换成MD文件,一个文件就有100来张图。放在七牛得分好几页显示了。如果再想找别的图, 那得多费劲.\n\n\n\n后来还是把心思用在了Github上。 在自己的账号下新开一个仓库, 然后在自己的本地电脑专建立一个文件夹, 用来存放MD文档或者博客中使用到的图片, 把这个专门的文件夹推送到新的仓库就完了! 相比七牛, Github还有不少优势:\n\n- **可以分多级目录存储** \n- **传输速度快** !(*可能国内慢吧, 但国内可以同样的思路, 放到 Coding 或者 CSDN 上* )\n- **免费** \n- **不限流量** \n\n\n\n还要我说啥呢? \n\n\n\n但引用Github图片, 要做一个小小的改动. 比如Github上一个图片的原始地址是:\n\n> https://github.com/maiernte/img/blob/master/books/ng-book2-71/image100.png\n\n需要把其中的 `blob` 改成 `raw`, 变成\n\n> https://github.com/maiernte/img/raw/master/books/ng-book2-71/image100.png\n\n\n\n自打有了Github这个神器, 可以跟七牛说再见! 再也不见!","slug":"IT/skill/还在用七牛","published":1,"updated":"2019-08-15T06:54:53.000Z","_id":"cka1y598d00214huuioh2rw8e","comments":1,"layout":"post","photos":[],"link":"","content":"自从七牛换了服务条款,每个空间就只分配测试域名, 30天到期。想省钱的用户,必须每30天倒腾一次。如果忘记了,过了期限,据说图都找不回来。不想费那个劲的用户, 得绑定自己的域名。 这样不但增加费用,还要考虑到域名备案。 十分麻烦。
\n \n这是我弃用七牛的主要原因。 第二个原因就是——慢
! 也许我人在国外的原因吧, 每次打开七牛的后台,刷好几遍都打不开对象存储的页面,只能用第三方软件进行上传下载,那样会相对好一些.
\n第三个原因是七牛的图床不能分目录存储。 当图片越积越多的时候,管理和查找起来非常麻烦。比如我昨天用Typora的Pandoc功能将一个Word技术文档转换成MD文件,一个文件就有100来张图。放在七牛得分好几页显示了。如果再想找别的图, 那得多费劲.
\n后来还是把心思用在了Github上。 在自己的账号下新开一个仓库, 然后在自己的本地电脑专建立一个文件夹, 用来存放MD文档或者博客中使用到的图片, 把这个专门的文件夹推送到新的仓库就完了! 相比七牛, Github还有不少优势:
\n\n可以分多级目录存储 \n传输速度快 !(可能国内慢吧, 但国内可以同样的思路, 放到 Coding 或者 CSDN 上 ) \n免费 \n不限流量 \n \n还要我说啥呢?
\n但引用Github图片, 要做一个小小的改动. 比如Github上一个图片的原始地址是:
\n\nhttps://github.com/maiernte/img/blob/master/books/ng-book2-71/image100.png
\n \n需要把其中的 blob
改成 raw
, 变成
\n\nhttps://github.com/maiernte/img/raw/master/books/ng-book2-71/image100.png
\n \n自打有了Github这个神器, 可以跟七牛说再见! 再也不见!
\n","site":{"data":{}},"excerpt":"自从七牛换了服务条款,每个空间就只分配测试域名, 30天到期。想省钱的用户,必须每30天倒腾一次。如果忘记了,过了期限,据说图都找不回来。不想费那个劲的用户, 得绑定自己的域名。 这样不但增加费用,还要考虑到域名备案。 十分麻烦。
","more":"这是我弃用七牛的主要原因。 第二个原因就是——慢
! 也许我人在国外的原因吧, 每次打开七牛的后台,刷好几遍都打不开对象存储的页面,只能用第三方软件进行上传下载,那样会相对好一些.
\n第三个原因是七牛的图床不能分目录存储。 当图片越积越多的时候,管理和查找起来非常麻烦。比如我昨天用Typora的Pandoc功能将一个Word技术文档转换成MD文件,一个文件就有100来张图。放在七牛得分好几页显示了。如果再想找别的图, 那得多费劲.
\n后来还是把心思用在了Github上。 在自己的账号下新开一个仓库, 然后在自己的本地电脑专建立一个文件夹, 用来存放MD文档或者博客中使用到的图片, 把这个专门的文件夹推送到新的仓库就完了! 相比七牛, Github还有不少优势:
\n\n可以分多级目录存储 \n传输速度快 !(可能国内慢吧, 但国内可以同样的思路, 放到 Coding 或者 CSDN 上 ) \n免费 \n不限流量 \n \n还要我说啥呢?
\n但引用Github图片, 要做一个小小的改动. 比如Github上一个图片的原始地址是:
\n\nhttps://github.com/maiernte/img/blob/master/books/ng-book2-71/image100.png
\n \n需要把其中的 blob
改成 raw
, 变成
\n\nhttps://github.com/maiernte/img/raw/master/books/ng-book2-71/image100.png
\n \n自打有了Github这个神器, 可以跟七牛说再见! 再也不见!
"},{"title":"佛偈集合","date":"2019-07-29T07:10:50.000Z","urlname":"budahlisisch-poeim-collection","toc":true,"notshow":false,"_content":"\n佛偈(jì) \n\n\n![](https://raw.githubusercontent.com/maiernte/img/master/collection/tempel_3.jpg)\n\n\n\n虚云老和尚悟道偈\n\n杯子扑落地,响声明历历。\n虚空粉碎也,狂心当下息。\n\n烫着手,打碎杯,家破人亡语难开。\n春到花香处处秀,山河大地是如来。\n\n\n\n###### 布袋和尚\n\n手把青秧插满田,低头便见水中天。\n心地清净方为道,退步原来是向前。\n\n###### 赠药山高僧惟俨\n\n练得身形似鹤形,千株松下两函经。\n我来问道无馀说,云在青天水在瓶。\n\n——李翱 \n\n###### 牛头山法融禅师\n\n恰恰用心时,恰恰无心用。曲谭名相劳,直说无繁重。\n无心恰恰用,常用恰恰无。今说无心处,不与有心殊。\n\n——唐永徽年中\n\n###### 天衣义怀禅师\n\n雁过长空,影沉寒底,雁无留影之心,影无遗踪之意。\n\n> 《菜根谭》中的一句古诗:“风来疏竹,风过而竹不留声;雁渡寒潭,雁过而潭不留影。\n>\n> 另一版本:竹影扫阶尘不动,雁过寒潭水无痕。\n\n","source":"_posts/摘录/片段/佛偈集合.md","raw":"---\ntitle: 佛偈集合\ndate: 2019-07-29 09:10:50\nurlname: budahlisisch-poeim-collection\ntoc: true\ntags: [文学]\ncategories: [摘录, 片段]\nnotshow: false\n\n---\n\n佛偈(jì) \n\n\n![](https://raw.githubusercontent.com/maiernte/img/master/collection/tempel_3.jpg)\n\n\n\n虚云老和尚悟道偈\n\n杯子扑落地,响声明历历。\n虚空粉碎也,狂心当下息。\n\n烫着手,打碎杯,家破人亡语难开。\n春到花香处处秀,山河大地是如来。\n\n\n\n###### 布袋和尚\n\n手把青秧插满田,低头便见水中天。\n心地清净方为道,退步原来是向前。\n\n###### 赠药山高僧惟俨\n\n练得身形似鹤形,千株松下两函经。\n我来问道无馀说,云在青天水在瓶。\n\n——李翱 \n\n###### 牛头山法融禅师\n\n恰恰用心时,恰恰无心用。曲谭名相劳,直说无繁重。\n无心恰恰用,常用恰恰无。今说无心处,不与有心殊。\n\n——唐永徽年中\n\n###### 天衣义怀禅师\n\n雁过长空,影沉寒底,雁无留影之心,影无遗踪之意。\n\n> 《菜根谭》中的一句古诗:“风来疏竹,风过而竹不留声;雁渡寒潭,雁过而潭不留影。\n>\n> 另一版本:竹影扫阶尘不动,雁过寒潭水无痕。\n\n","slug":"摘录/片段/佛偈集合","published":1,"updated":"2019-08-15T21:46:14.000Z","_id":"cka1y598f00254huufdsy7udi","comments":1,"layout":"post","photos":[],"link":"","content":"佛偈(jì) \n
\n虚云老和尚悟道偈
\n杯子扑落地,响声明历历。 \n虚空粉碎也,狂心当下息。
\n烫着手,打碎杯,家破人亡语难开。 \n春到花香处处秀,山河大地是如来。
\n \n布袋和尚 \n手把青秧插满田,低头便见水中天。 \n心地清净方为道,退步原来是向前。
\n赠药山高僧惟俨 \n练得身形似鹤形,千株松下两函经。 \n我来问道无馀说,云在青天水在瓶。
\n——李翱
\n牛头山法融禅师 \n恰恰用心时,恰恰无心用。曲谭名相劳,直说无繁重。 \n无心恰恰用,常用恰恰无。今说无心处,不与有心殊。
\n——唐永徽年中
\n天衣义怀禅师 \n雁过长空,影沉寒底,雁无留影之心,影无遗踪之意。
\n\n《菜根谭》中的一句古诗:“风来疏竹,风过而竹不留声;雁渡寒潭,雁过而潭不留影。
\n另一版本:竹影扫阶尘不动,雁过寒潭水无痕。
\n \n","site":{"data":{}},"excerpt":"佛偈(jì) \n
\n虚云老和尚悟道偈
\n杯子扑落地,响声明历历。 \n虚空粉碎也,狂心当下息。
\n烫着手,打碎杯,家破人亡语难开。 \n春到花香处处秀,山河大地是如来。
","more":"布袋和尚 \n手把青秧插满田,低头便见水中天。 \n心地清净方为道,退步原来是向前。
\n赠药山高僧惟俨 \n练得身形似鹤形,千株松下两函经。 \n我来问道无馀说,云在青天水在瓶。
\n——李翱
\n牛头山法融禅师 \n恰恰用心时,恰恰无心用。曲谭名相劳,直说无繁重。 \n无心恰恰用,常用恰恰无。今说无心处,不与有心殊。
\n——唐永徽年中
\n天衣义怀禅师 \n雁过长空,影沉寒底,雁无留影之心,影无遗踪之意。
\n\n《菜根谭》中的一句古诗:“风来疏竹,风过而竹不留声;雁渡寒潭,雁过而潭不留影。
\n另一版本:竹影扫阶尘不动,雁过寒潭水无痕。
\n "},{"title":"搞笑段子","date":"2019-07-29T06:40:50.000Z","urlname":"funny-things-collection","toc":true,"notshow":true,"_content":"\n###### 慢慢就习惯了\n\n某人四十多岁了还碌碌无为,于是跑去找算命先生。算命先生掐指一算,然后问:“一个好消息,一个坏消息,你先听哪个?”哥们说:“那就先听坏的吧”。算命先生说:“坏消息是,你四十岁之前穷困潦倒……”那哥们眉头一挑,问:“那好消息呢?”算命先生幽幽的说到:“四十岁以后,你就习惯了。”\n\n\n\n###### 身体就像一辆车子\n\n身体就像一辆车子,还新的时候,遇到问题花点钱修理一下,就又能风驰电掣。车子越旧,修理费越高。旧到不行了,修理费比换辆新的还贵,还修个啥劲?你「身体」这家企业,当对它的投入远大于产出的时候,上帝都要考虑撤资了,你还拼命追加投资?\n\n###### 凌凌漆\n\n外景:深圳某一市场猪肉摊前。 \n某女甲:你以为你匿喺度就揾唔到你咩? 冇用架! 你啲咁出色嘅难忍(男人),无论喺边度,都好似漆黑中嘅萤火虫一样,咁鲜明,咁出众。 你忧郁嘅眼神,唏嘘嘅须根,神乎其技嘅刀法,同埋嗰杯Dry Martine,都彻底噉将你出卖咗。 不过,你虽然系咁出色,始终行有行规,无论典(点)你都要找埋寻晚嗰条过夜数,叫鸡唔使畀钱呀? \n凌凌漆:我重估我哋嘅交往系建筑喺感情之上,估唔到,原来都系一盘生意。 \n某女甲:讲感情都要畀钱架。 \n凌凌漆:明白嘅,有一早畀咗你啦。 但系近排兴食斋,冇乜人帮衬,不如噉啦,攞篘猪肉返去顶住数先啦。 嚟吖,粗粗地,唔该。 \n某女甲:你好嘢,山水有山逢。 (某女甲提猪肉转身走。) \n凌凌漆: \n有兴趣嘅不如今天再相逢啦。 \n(某女甲把猪肉投向凌凌漆) \n凌凌漆(用刀接住猪肉):悭番。 (顺势将猪肉切成两半,挂喺猪肉钩上) \n某女乙:咩话? 个衰佬唔肯畀钱? 我帮你拖马喐佢! \n某女甲:算啦,话到尾,佢始终都系一个独一无二、风度翩翩嘅猪肉佬。 \n(阿漆依着猪肉摊,品着白兰地。) \n\n###### 情人节广告\n\n14号晚报名打麻将,只报不打,报名费100元,报完名爱干嘛干嘛,爱去哪去哪,爱跟谁跟谁。本人承诺:保证任何人问你的行踪都可以证明你跟我一起打麻将了,你所有报不了的花费都可以说成是被我赢了,具体时间为2月14日17点至凌晨2点,时间地点任选。额外业务:如支付200元,还提供大牌合照以及朋友圈回复业务,做戏做全套!小本经营,童叟无欺!有意者私聊。","source":"_posts/摘录/娱乐/搞笑段子.md","raw":"---\ntitle: 搞笑段子\ndate: 2019-07-29 08:40:50\nurlname: funny-things-collection\ntoc: true\ntags: [娱乐]\ncategories: [摘录, 娱乐]\nnotshow: true\n\n---\n\n###### 慢慢就习惯了\n\n某人四十多岁了还碌碌无为,于是跑去找算命先生。算命先生掐指一算,然后问:“一个好消息,一个坏消息,你先听哪个?”哥们说:“那就先听坏的吧”。算命先生说:“坏消息是,你四十岁之前穷困潦倒……”那哥们眉头一挑,问:“那好消息呢?”算命先生幽幽的说到:“四十岁以后,你就习惯了。”\n\n\n\n###### 身体就像一辆车子\n\n身体就像一辆车子,还新的时候,遇到问题花点钱修理一下,就又能风驰电掣。车子越旧,修理费越高。旧到不行了,修理费比换辆新的还贵,还修个啥劲?你「身体」这家企业,当对它的投入远大于产出的时候,上帝都要考虑撤资了,你还拼命追加投资?\n\n###### 凌凌漆\n\n外景:深圳某一市场猪肉摊前。 \n某女甲:你以为你匿喺度就揾唔到你咩? 冇用架! 你啲咁出色嘅难忍(男人),无论喺边度,都好似漆黑中嘅萤火虫一样,咁鲜明,咁出众。 你忧郁嘅眼神,唏嘘嘅须根,神乎其技嘅刀法,同埋嗰杯Dry Martine,都彻底噉将你出卖咗。 不过,你虽然系咁出色,始终行有行规,无论典(点)你都要找埋寻晚嗰条过夜数,叫鸡唔使畀钱呀? \n凌凌漆:我重估我哋嘅交往系建筑喺感情之上,估唔到,原来都系一盘生意。 \n某女甲:讲感情都要畀钱架。 \n凌凌漆:明白嘅,有一早畀咗你啦。 但系近排兴食斋,冇乜人帮衬,不如噉啦,攞篘猪肉返去顶住数先啦。 嚟吖,粗粗地,唔该。 \n某女甲:你好嘢,山水有山逢。 (某女甲提猪肉转身走。) \n凌凌漆: \n有兴趣嘅不如今天再相逢啦。 \n(某女甲把猪肉投向凌凌漆) \n凌凌漆(用刀接住猪肉):悭番。 (顺势将猪肉切成两半,挂喺猪肉钩上) \n某女乙:咩话? 个衰佬唔肯畀钱? 我帮你拖马喐佢! \n某女甲:算啦,话到尾,佢始终都系一个独一无二、风度翩翩嘅猪肉佬。 \n(阿漆依着猪肉摊,品着白兰地。) \n\n###### 情人节广告\n\n14号晚报名打麻将,只报不打,报名费100元,报完名爱干嘛干嘛,爱去哪去哪,爱跟谁跟谁。本人承诺:保证任何人问你的行踪都可以证明你跟我一起打麻将了,你所有报不了的花费都可以说成是被我赢了,具体时间为2月14日17点至凌晨2点,时间地点任选。额外业务:如支付200元,还提供大牌合照以及朋友圈回复业务,做戏做全套!小本经营,童叟无欺!有意者私聊。","slug":"摘录/娱乐/搞笑段子","published":1,"updated":"2019-07-31T03:51:35.000Z","_id":"cka1y598g00294huuytpjchoh","comments":1,"layout":"post","photos":[],"link":"","content":"慢慢就习惯了 \n某人四十多岁了还碌碌无为,于是跑去找算命先生。算命先生掐指一算,然后问:“一个好消息,一个坏消息,你先听哪个?”哥们说:“那就先听坏的吧”。算命先生说:“坏消息是,你四十岁之前穷困潦倒……”那哥们眉头一挑,问:“那好消息呢?”算命先生幽幽的说到:“四十岁以后,你就习惯了。”
\n \n身体就像一辆车子 \n身体就像一辆车子,还新的时候,遇到问题花点钱修理一下,就又能风驰电掣。车子越旧,修理费越高。旧到不行了,修理费比换辆新的还贵,还修个啥劲?你「身体」这家企业,当对它的投入远大于产出的时候,上帝都要考虑撤资了,你还拼命追加投资?
\n凌凌漆 \n外景:深圳某一市场猪肉摊前。 \n某女甲:你以为你匿喺度就揾唔到你咩? 冇用架! 你啲咁出色嘅难忍(男人),无论喺边度,都好似漆黑中嘅萤火虫一样,咁鲜明,咁出众。 你忧郁嘅眼神,唏嘘嘅须根,神乎其技嘅刀法,同埋嗰杯Dry Martine,都彻底噉将你出卖咗。 不过,你虽然系咁出色,始终行有行规,无论典(点)你都要找埋寻晚嗰条过夜数,叫鸡唔使畀钱呀? \n凌凌漆:我重估我哋嘅交往系建筑喺感情之上,估唔到,原来都系一盘生意。 \n某女甲:讲感情都要畀钱架。 \n凌凌漆:明白嘅,有一早畀咗你啦。 但系近排兴食斋,冇乜人帮衬,不如噉啦,攞篘猪肉返去顶住数先啦。 嚟吖,粗粗地,唔该。 \n某女甲:你好嘢,山水有山逢。 (某女甲提猪肉转身走。) \n凌凌漆: \n有兴趣嘅不如今天再相逢啦。 \n(某女甲把猪肉投向凌凌漆) \n凌凌漆(用刀接住猪肉):悭番。 (顺势将猪肉切成两半,挂喺猪肉钩上) \n某女乙:咩话? 个衰佬唔肯畀钱? 我帮你拖马喐佢! \n某女甲:算啦,话到尾,佢始终都系一个独一无二、风度翩翩嘅猪肉佬。 \n(阿漆依着猪肉摊,品着白兰地。)
\n情人节广告 \n14号晚报名打麻将,只报不打,报名费100元,报完名爱干嘛干嘛,爱去哪去哪,爱跟谁跟谁。本人承诺:保证任何人问你的行踪都可以证明你跟我一起打麻将了,你所有报不了的花费都可以说成是被我赢了,具体时间为2月14日17点至凌晨2点,时间地点任选。额外业务:如支付200元,还提供大牌合照以及朋友圈回复业务,做戏做全套!小本经营,童叟无欺!有意者私聊。
\n","site":{"data":{}},"excerpt":"慢慢就习惯了 \n某人四十多岁了还碌碌无为,于是跑去找算命先生。算命先生掐指一算,然后问:“一个好消息,一个坏消息,你先听哪个?”哥们说:“那就先听坏的吧”。算命先生说:“坏消息是,你四十岁之前穷困潦倒……”那哥们眉头一挑,问:“那好消息呢?”算命先生幽幽的说到:“四十岁以后,你就习惯了。”
","more":"身体就像一辆车子 \n身体就像一辆车子,还新的时候,遇到问题花点钱修理一下,就又能风驰电掣。车子越旧,修理费越高。旧到不行了,修理费比换辆新的还贵,还修个啥劲?你「身体」这家企业,当对它的投入远大于产出的时候,上帝都要考虑撤资了,你还拼命追加投资?
\n凌凌漆 \n外景:深圳某一市场猪肉摊前。 \n某女甲:你以为你匿喺度就揾唔到你咩? 冇用架! 你啲咁出色嘅难忍(男人),无论喺边度,都好似漆黑中嘅萤火虫一样,咁鲜明,咁出众。 你忧郁嘅眼神,唏嘘嘅须根,神乎其技嘅刀法,同埋嗰杯Dry Martine,都彻底噉将你出卖咗。 不过,你虽然系咁出色,始终行有行规,无论典(点)你都要找埋寻晚嗰条过夜数,叫鸡唔使畀钱呀? \n凌凌漆:我重估我哋嘅交往系建筑喺感情之上,估唔到,原来都系一盘生意。 \n某女甲:讲感情都要畀钱架。 \n凌凌漆:明白嘅,有一早畀咗你啦。 但系近排兴食斋,冇乜人帮衬,不如噉啦,攞篘猪肉返去顶住数先啦。 嚟吖,粗粗地,唔该。 \n某女甲:你好嘢,山水有山逢。 (某女甲提猪肉转身走。) \n凌凌漆: \n有兴趣嘅不如今天再相逢啦。 \n(某女甲把猪肉投向凌凌漆) \n凌凌漆(用刀接住猪肉):悭番。 (顺势将猪肉切成两半,挂喺猪肉钩上) \n某女乙:咩话? 个衰佬唔肯畀钱? 我帮你拖马喐佢! \n某女甲:算啦,话到尾,佢始终都系一个独一无二、风度翩翩嘅猪肉佬。 \n(阿漆依着猪肉摊,品着白兰地。)
\n情人节广告 \n14号晚报名打麻将,只报不打,报名费100元,报完名爱干嘛干嘛,爱去哪去哪,爱跟谁跟谁。本人承诺:保证任何人问你的行踪都可以证明你跟我一起打麻将了,你所有报不了的花费都可以说成是被我赢了,具体时间为2月14日17点至凌晨2点,时间地点任选。额外业务:如支付200元,还提供大牌合照以及朋友圈回复业务,做戏做全套!小本经营,童叟无欺!有意者私聊。
"},{"title":"名人语录","date":"2019-07-29T06:40:50.000Z","urlname":"prominaent-slogen-collection","toc":true,"notshow":true,"_content":"\n###### 祈祷文\n\n- 上帝,请赐予我平静让我可以接受我所不能改变的,赐予我勇气让我可以改变我能够改变的,赐予我智慧以分辨这二者的不同。\n- God grand me the serenity to accept the things I cannot change, Courage to change the things I can, and wisdom to know the difference.\n\n###### 尼采\n\nHe who has a strong enough why can bear almost any how. – Friedrich Nietzsche \n\n###### 苏格拉底\n\nBeware the barrenness of a busy life. – Socrates \n\n###### 亚里士多德\n\nWe are what we repeatedly do. Excellence, then, is not an act, but a habit. – Aristotle \n\n###### 维克多 弗兰克\n\n人所拥有的任何东西都可以被剥夺,唯独人性最后的自由——也就是在任何境遇中选择一己态度和生活方式的自由——不能被剥夺。\n\n###### 马克吐温\n\n让你陷入困境的并不是这个世界;真正让你陷入困境的,是这个世界最终并非你所想象。\n\n###### 赛斯\n\n每一个心愿都预设了对于一个缺憾的承认,每一个挑战也预设了有一个要征服的阻碍。\n\n###### 叔本华\n\n痛苦和无聊是人类幸福的两个死敌。欲望不满足就痛苦,满足就无聊。人生如同钟摆在痛苦和无聊两个极点之间摆动。离开一个极点就意味着正在走向另一个极点。\n\n###### 谚语\n\nDon’t shoot the messenger.\n英文有句谚语叫“不要枪毙信使”。枪毙信使并不能改变坏消息。\n\n###### 曾国藩\n\n- 既往不恋,当下不染, 未来不迎。天涯:染,不被当下的情绪感染。要跳出情绪来观察当下。\n- 倚天照海花无数, 流水高山心自知。\n- 久利之事勿为,众争之地勿往。\n- 勿以小恶弃人大美, 勿以小怨忘人大恩。\n\n###### 宗棠\n\n人生最不幸處,是偶一失言而禍不及,偶一失謀而事倖成,偶一恣行而獲小利, 後乃視為故常,而恬不為意。則莫大之患,由此生矣。\n\n###### 俞敏洪\n\n优秀是一种习惯。","source":"_posts/摘录/片段/名人语录.md","raw":"---\ntitle: 名人语录\ndate: 2019-07-29 08:40:50\nurlname: prominaent-slogen-collection\ntoc: true\ntags: [文学]\ncategories: [摘录, 片段]\nnotshow: true\n\n---\n\n###### 祈祷文\n\n- 上帝,请赐予我平静让我可以接受我所不能改变的,赐予我勇气让我可以改变我能够改变的,赐予我智慧以分辨这二者的不同。\n- God grand me the serenity to accept the things I cannot change, Courage to change the things I can, and wisdom to know the difference.\n\n###### 尼采\n\nHe who has a strong enough why can bear almost any how. – Friedrich Nietzsche \n\n###### 苏格拉底\n\nBeware the barrenness of a busy life. – Socrates \n\n###### 亚里士多德\n\nWe are what we repeatedly do. Excellence, then, is not an act, but a habit. – Aristotle \n\n###### 维克多 弗兰克\n\n人所拥有的任何东西都可以被剥夺,唯独人性最后的自由——也就是在任何境遇中选择一己态度和生活方式的自由——不能被剥夺。\n\n###### 马克吐温\n\n让你陷入困境的并不是这个世界;真正让你陷入困境的,是这个世界最终并非你所想象。\n\n###### 赛斯\n\n每一个心愿都预设了对于一个缺憾的承认,每一个挑战也预设了有一个要征服的阻碍。\n\n###### 叔本华\n\n痛苦和无聊是人类幸福的两个死敌。欲望不满足就痛苦,满足就无聊。人生如同钟摆在痛苦和无聊两个极点之间摆动。离开一个极点就意味着正在走向另一个极点。\n\n###### 谚语\n\nDon’t shoot the messenger.\n英文有句谚语叫“不要枪毙信使”。枪毙信使并不能改变坏消息。\n\n###### 曾国藩\n\n- 既往不恋,当下不染, 未来不迎。天涯:染,不被当下的情绪感染。要跳出情绪来观察当下。\n- 倚天照海花无数, 流水高山心自知。\n- 久利之事勿为,众争之地勿往。\n- 勿以小恶弃人大美, 勿以小怨忘人大恩。\n\n###### 宗棠\n\n人生最不幸處,是偶一失言而禍不及,偶一失謀而事倖成,偶一恣行而獲小利, 後乃視為故常,而恬不為意。則莫大之患,由此生矣。\n\n###### 俞敏洪\n\n优秀是一种习惯。","slug":"摘录/片段/名人语录","published":1,"updated":"2019-07-31T03:51:35.000Z","_id":"cka1y598i002d4huu06onppzf","comments":1,"layout":"post","photos":[],"link":"","content":"祈祷文 \n\n上帝,请赐予我平静让我可以接受我所不能改变的,赐予我勇气让我可以改变我能够改变的,赐予我智慧以分辨这二者的不同。 \nGod grand me the serenity to accept the things I cannot change, Courage to change the things I can, and wisdom to know the difference. \n \n尼采 \nHe who has a strong enough why can bear almost any how. – Friedrich Nietzsche
\n苏格拉底 \nBeware the barrenness of a busy life. – Socrates
\n亚里士多德 \nWe are what we repeatedly do. Excellence, then, is not an act, but a habit. – Aristotle
\n维克多 弗兰克 \n人所拥有的任何东西都可以被剥夺,唯独人性最后的自由——也就是在任何境遇中选择一己态度和生活方式的自由——不能被剥夺。
\n马克吐温 \n让你陷入困境的并不是这个世界;真正让你陷入困境的,是这个世界最终并非你所想象。
\n赛斯 \n每一个心愿都预设了对于一个缺憾的承认,每一个挑战也预设了有一个要征服的阻碍。
\n叔本华 \n痛苦和无聊是人类幸福的两个死敌。欲望不满足就痛苦,满足就无聊。人生如同钟摆在痛苦和无聊两个极点之间摆动。离开一个极点就意味着正在走向另一个极点。
\n谚语 \nDon’t shoot the messenger. \n英文有句谚语叫“不要枪毙信使”。枪毙信使并不能改变坏消息。
\n曾国藩 \n\n既往不恋,当下不染, 未来不迎。天涯:染,不被当下的情绪感染。要跳出情绪来观察当下。 \n倚天照海花无数, 流水高山心自知。 \n久利之事勿为,众争之地勿往。 \n勿以小恶弃人大美, 勿以小怨忘人大恩。 \n \n宗棠 \n人生最不幸處,是偶一失言而禍不及,偶一失謀而事倖成,偶一恣行而獲小利, 後乃視為故常,而恬不為意。則莫大之患,由此生矣。
\n俞敏洪 \n优秀是一种习惯。
\n","site":{"data":{}},"excerpt":"","more":"祈祷文 \n\n上帝,请赐予我平静让我可以接受我所不能改变的,赐予我勇气让我可以改变我能够改变的,赐予我智慧以分辨这二者的不同。 \nGod grand me the serenity to accept the things I cannot change, Courage to change the things I can, and wisdom to know the difference. \n \n尼采 \nHe who has a strong enough why can bear almost any how. – Friedrich Nietzsche
\n苏格拉底 \nBeware the barrenness of a busy life. – Socrates
\n亚里士多德 \nWe are what we repeatedly do. Excellence, then, is not an act, but a habit. – Aristotle
\n维克多 弗兰克 \n人所拥有的任何东西都可以被剥夺,唯独人性最后的自由——也就是在任何境遇中选择一己态度和生活方式的自由——不能被剥夺。
\n马克吐温 \n让你陷入困境的并不是这个世界;真正让你陷入困境的,是这个世界最终并非你所想象。
\n赛斯 \n每一个心愿都预设了对于一个缺憾的承认,每一个挑战也预设了有一个要征服的阻碍。
\n叔本华 \n痛苦和无聊是人类幸福的两个死敌。欲望不满足就痛苦,满足就无聊。人生如同钟摆在痛苦和无聊两个极点之间摆动。离开一个极点就意味着正在走向另一个极点。
\n谚语 \nDon’t shoot the messenger. \n英文有句谚语叫“不要枪毙信使”。枪毙信使并不能改变坏消息。
\n曾国藩 \n\n既往不恋,当下不染, 未来不迎。天涯:染,不被当下的情绪感染。要跳出情绪来观察当下。 \n倚天照海花无数, 流水高山心自知。 \n久利之事勿为,众争之地勿往。 \n勿以小恶弃人大美, 勿以小怨忘人大恩。 \n \n宗棠 \n人生最不幸處,是偶一失言而禍不及,偶一失謀而事倖成,偶一恣行而獲小利, 後乃視為故常,而恬不為意。則莫大之患,由此生矣。
\n俞敏洪 \n优秀是一种习惯。
\n"},{"title":"零散句子","date":"2019-07-29T06:50:50.000Z","urlname":"funny-sloga-collection","toc":true,"notshow":true,"_content":"\n###### 幸福的路有两条\n\n中岛美雪写的歌《幸福》(任贤齐翻唱的伤心太平洋):到幸福的路有两条,一条是所有愿望都成真,另外一条是把愿望这东西扔掉。\n\n\n\n###### Matrix\n\n> Cypher: You know, I know this steak doesn't exist. I know that when I put it in my mounth, the Matrix is telling my brain that it is ..... juicy and delicious. After nine years, you know what I realize? en ...... Ignorance is bliss\n\n###### 几个顺口溜\n\n- 认认真真说假话,扎扎实实走过场。\n- 失败乃成功之母——失败生了100个孩子,其中一个叫「成功」,其它99个还叫「失败」。\n- “人类一思考,上帝就发笑。” —— “你一说要学什么东西,人们就发笑。”\n- 晚上想想千条路,早上起来走原路。(有个共同特点:不困难、不痛苦)\n- 暂时的失败要比暂时的成功要好得多。\n- 别让「半途而废」 成为你唯一坚持下来的事情。\n- 世上没有听一遍就管用的道理。\n- (你的脑袋)不要做别人思想的跑马场。\n- 路是自己走的,脚上的泡也是自己好的。\n- 忍一时越想越气,退一步越想越亏。(总是忍的人,从来都不开心。总是退让的人,却从来没有真的海阔天空)\n- 遇到烂事不纠结,遇到烂人不纠缠。\n- 每个人都想努力做,却总是做不好。\n- 曹操评袁绍:「色厉胆薄,好谋无断,干大事而惜身,见小利而忘命。」","source":"_posts/摘录/片段/零散句子.md","raw":"---\ntitle: 零散句子\ndate: 2019-07-29 08:50:50\nurlname: funny-sloga-collection\ntoc: true\ntags: [文学]\ncategories: [摘录, 片段]\nnotshow: true\n\n---\n\n###### 幸福的路有两条\n\n中岛美雪写的歌《幸福》(任贤齐翻唱的伤心太平洋):到幸福的路有两条,一条是所有愿望都成真,另外一条是把愿望这东西扔掉。\n\n\n\n###### Matrix\n\n> Cypher: You know, I know this steak doesn't exist. I know that when I put it in my mounth, the Matrix is telling my brain that it is ..... juicy and delicious. After nine years, you know what I realize? en ...... Ignorance is bliss\n\n###### 几个顺口溜\n\n- 认认真真说假话,扎扎实实走过场。\n- 失败乃成功之母——失败生了100个孩子,其中一个叫「成功」,其它99个还叫「失败」。\n- “人类一思考,上帝就发笑。” —— “你一说要学什么东西,人们就发笑。”\n- 晚上想想千条路,早上起来走原路。(有个共同特点:不困难、不痛苦)\n- 暂时的失败要比暂时的成功要好得多。\n- 别让「半途而废」 成为你唯一坚持下来的事情。\n- 世上没有听一遍就管用的道理。\n- (你的脑袋)不要做别人思想的跑马场。\n- 路是自己走的,脚上的泡也是自己好的。\n- 忍一时越想越气,退一步越想越亏。(总是忍的人,从来都不开心。总是退让的人,却从来没有真的海阔天空)\n- 遇到烂事不纠结,遇到烂人不纠缠。\n- 每个人都想努力做,却总是做不好。\n- 曹操评袁绍:「色厉胆薄,好谋无断,干大事而惜身,见小利而忘命。」","slug":"摘录/片段/零散句子","published":1,"updated":"2019-08-04T18:15:28.000Z","_id":"cka1y598k002h4huuc3fgsb7o","comments":1,"layout":"post","photos":[],"link":"","content":"幸福的路有两条 \n中岛美雪写的歌《幸福》(任贤齐翻唱的伤心太平洋):到幸福的路有两条,一条是所有愿望都成真,另外一条是把愿望这东西扔掉。
\n \nMatrix \n\nCypher: You know, I know this steak doesn’t exist. I know that when I put it in my mounth, the Matrix is telling my brain that it is … juicy and delicious. After nine years, you know what I realize? en … Ignorance is bliss
\n \n几个顺口溜 \n\n认认真真说假话,扎扎实实走过场。 \n失败乃成功之母——失败生了100个孩子,其中一个叫「成功」,其它99个还叫「失败」。 \n“人类一思考,上帝就发笑。” —— “你一说要学什么东西,人们就发笑。” \n晚上想想千条路,早上起来走原路。(有个共同特点:不困难、不痛苦) \n暂时的失败要比暂时的成功要好得多。 \n别让「半途而废」 成为你唯一坚持下来的事情。 \n世上没有听一遍就管用的道理。 \n(你的脑袋)不要做别人思想的跑马场。 \n路是自己走的,脚上的泡也是自己好的。 \n忍一时越想越气,退一步越想越亏。(总是忍的人,从来都不开心。总是退让的人,却从来没有真的海阔天空) \n遇到烂事不纠结,遇到烂人不纠缠。 \n每个人都想努力做,却总是做不好。 \n曹操评袁绍:「色厉胆薄,好谋无断,干大事而惜身,见小利而忘命。」 \n \n","site":{"data":{}},"excerpt":"幸福的路有两条 \n中岛美雪写的歌《幸福》(任贤齐翻唱的伤心太平洋):到幸福的路有两条,一条是所有愿望都成真,另外一条是把愿望这东西扔掉。
","more":"Matrix \n\nCypher: You know, I know this steak doesn’t exist. I know that when I put it in my mounth, the Matrix is telling my brain that it is … juicy and delicious. After nine years, you know what I realize? en … Ignorance is bliss
\n \n几个顺口溜 \n\n认认真真说假话,扎扎实实走过场。 \n失败乃成功之母——失败生了100个孩子,其中一个叫「成功」,其它99个还叫「失败」。 \n“人类一思考,上帝就发笑。” —— “你一说要学什么东西,人们就发笑。” \n晚上想想千条路,早上起来走原路。(有个共同特点:不困难、不痛苦) \n暂时的失败要比暂时的成功要好得多。 \n别让「半途而废」 成为你唯一坚持下来的事情。 \n世上没有听一遍就管用的道理。 \n(你的脑袋)不要做别人思想的跑马场。 \n路是自己走的,脚上的泡也是自己好的。 \n忍一时越想越气,退一步越想越亏。(总是忍的人,从来都不开心。总是退让的人,却从来没有真的海阔天空) \n遇到烂事不纠结,遇到烂人不纠缠。 \n每个人都想努力做,却总是做不好。 \n曹操评袁绍:「色厉胆薄,好谋无断,干大事而惜身,见小利而忘命。」 \n "},{"title":"缠中说禅","date":"2019-07-29T06:40:50.000Z","urlname":"funny-things-collection","toc":true,"notshow":true,"_content":"\n[TOC]\n\n##### 诗词\n\n###### 满江红\n\n万古长空,今犹昔,一朝风月。何处住?\n春花夏雨,秋鸿冬雪。\n百代浮华皆作土,千江吸尽无堪说。\n问世间,多少梦消磨、英雄血。\n星旋轨,天补裂,山崩柱,河倾缺。\n捣神宫鬼府,凤巢龙穴。\n怒剑穿云惊浩宇,狂涛卷日横孤筏。\n纵生死,劫火洗乾坤,齐欢悦。\n\n###### 临江仙\n\n浊水倾波三万里,愀然独坐孤峰。\n龙潜狮睡侯飙风。\n无情皆竖子,有泪亦英雄。\n长剑倚天星斗烂,古今过眼成空。\n乾坤俯仰任穷痛。\n半轮沧海上,一苇大江东。\n\n###### 卜算子\n\n本是后山人,偶做堂前客。\n醉舞经阁半卷书,坐井说天阔。\n大志戏功名,海斗量祸福。\n论到囊中羞涩时,怒指乾坤错。\n\n—— 丁元英","source":"_posts/摘录/片段/缠中说禅.md","raw":"---\ntitle: 缠中说禅\ndate: 2019-07-29 08:40:50\nurlname: funny-things-collection\ntoc: true\ntags: [文学]\ncategories: [摘录, 片段]\nnotshow: true\n\n---\n\n[TOC]\n\n##### 诗词\n\n###### 满江红\n\n万古长空,今犹昔,一朝风月。何处住?\n春花夏雨,秋鸿冬雪。\n百代浮华皆作土,千江吸尽无堪说。\n问世间,多少梦消磨、英雄血。\n星旋轨,天补裂,山崩柱,河倾缺。\n捣神宫鬼府,凤巢龙穴。\n怒剑穿云惊浩宇,狂涛卷日横孤筏。\n纵生死,劫火洗乾坤,齐欢悦。\n\n###### 临江仙\n\n浊水倾波三万里,愀然独坐孤峰。\n龙潜狮睡侯飙风。\n无情皆竖子,有泪亦英雄。\n长剑倚天星斗烂,古今过眼成空。\n乾坤俯仰任穷痛。\n半轮沧海上,一苇大江东。\n\n###### 卜算子\n\n本是后山人,偶做堂前客。\n醉舞经阁半卷书,坐井说天阔。\n大志戏功名,海斗量祸福。\n论到囊中羞涩时,怒指乾坤错。\n\n—— 丁元英","slug":"摘录/片段/缠中说禅","published":1,"updated":"2019-07-31T03:51:35.000Z","_id":"cka1y598o002l4huuoby01avt","comments":1,"layout":"post","photos":[],"link":"","content":"[TOC]
\n诗词 \n满江红 \n万古长空,今犹昔,一朝风月。何处住? \n春花夏雨,秋鸿冬雪。 \n百代浮华皆作土,千江吸尽无堪说。 \n问世间,多少梦消磨、英雄血。 \n星旋轨,天补裂,山崩柱,河倾缺。 \n捣神宫鬼府,凤巢龙穴。 \n怒剑穿云惊浩宇,狂涛卷日横孤筏。 \n纵生死,劫火洗乾坤,齐欢悦。
\n临江仙 \n浊水倾波三万里,愀然独坐孤峰。 \n龙潜狮睡侯飙风。 \n无情皆竖子,有泪亦英雄。 \n长剑倚天星斗烂,古今过眼成空。 \n乾坤俯仰任穷痛。 \n半轮沧海上,一苇大江东。
\n卜算子 \n本是后山人,偶做堂前客。 \n醉舞经阁半卷书,坐井说天阔。 \n大志戏功名,海斗量祸福。 \n论到囊中羞涩时,怒指乾坤错。
\n—— 丁元英
\n","site":{"data":{}},"excerpt":"","more":"[TOC]
\n诗词 \n满江红 \n万古长空,今犹昔,一朝风月。何处住? \n春花夏雨,秋鸿冬雪。 \n百代浮华皆作土,千江吸尽无堪说。 \n问世间,多少梦消磨、英雄血。 \n星旋轨,天补裂,山崩柱,河倾缺。 \n捣神宫鬼府,凤巢龙穴。 \n怒剑穿云惊浩宇,狂涛卷日横孤筏。 \n纵生死,劫火洗乾坤,齐欢悦。
\n临江仙 \n浊水倾波三万里,愀然独坐孤峰。 \n龙潜狮睡侯飙风。 \n无情皆竖子,有泪亦英雄。 \n长剑倚天星斗烂,古今过眼成空。 \n乾坤俯仰任穷痛。 \n半轮沧海上,一苇大江东。
\n卜算子 \n本是后山人,偶做堂前客。 \n醉舞经阁半卷书,坐井说天阔。 \n大志戏功名,海斗量祸福。 \n论到囊中羞涩时,怒指乾坤错。
\n—— 丁元英
\n"},{"title":"简短书摘","date":"2019-07-29T07:00:50.000Z","urlname":"brief-notions-collection","toc":true,"notshow":true,"_content":"\n###### 癌症\n\n“以我个人有限的接触癌症的经历总结,似乎越是传统意义上的“好人”越是容易生癌。这些人往往脾气很好,性格内向,照顾周围,万事替别人考虑,总是在乎别人眼里的自己,总是担心一些可能发生的小概率负面事件。”\n\n—— 冯唐. “无所畏【冯唐2018全新作品,一部坦露自我的真诚之作!】。” \n\n\n\n###### 暗算\n\n金风未动蝉先觉,暗算无常死不知。\n青山只会明今古,绿水何曾洗是非?\n\n###### 五个人生思维\n\n- 能把问题清楚的写下来,就是解决了问题的一半。发现问题比解决问题更重要。\n- 墨菲定律:如果事情有变坏的可能,那它就一定会发生。\n- 吉伯特法则:真正的危险是没有人告诉你有危险。「人在事中迷,就怕没人提」。\n- 福克兰定律:当你不知道如何行动时,最好的行动就是不要行动,最好的决策就是没有决策。\n- 费斯诺定律:人有两只耳朵,却只有一张嘴巴。就是说,人应该多听少讲。","source":"_posts/摘录/片段/简短书摘.md","raw":"---\ntitle: 简短书摘\ndate: 2019-07-29 09:00:50\nurlname: brief-notions-collection\ntoc: true\ntags: [文学]\ncategories: [摘录, 片段]\nnotshow: true\n\n---\n\n###### 癌症\n\n“以我个人有限的接触癌症的经历总结,似乎越是传统意义上的“好人”越是容易生癌。这些人往往脾气很好,性格内向,照顾周围,万事替别人考虑,总是在乎别人眼里的自己,总是担心一些可能发生的小概率负面事件。”\n\n—— 冯唐. “无所畏【冯唐2018全新作品,一部坦露自我的真诚之作!】。” \n\n\n\n###### 暗算\n\n金风未动蝉先觉,暗算无常死不知。\n青山只会明今古,绿水何曾洗是非?\n\n###### 五个人生思维\n\n- 能把问题清楚的写下来,就是解决了问题的一半。发现问题比解决问题更重要。\n- 墨菲定律:如果事情有变坏的可能,那它就一定会发生。\n- 吉伯特法则:真正的危险是没有人告诉你有危险。「人在事中迷,就怕没人提」。\n- 福克兰定律:当你不知道如何行动时,最好的行动就是不要行动,最好的决策就是没有决策。\n- 费斯诺定律:人有两只耳朵,却只有一张嘴巴。就是说,人应该多听少讲。","slug":"摘录/片段/简短书摘","published":1,"updated":"2019-07-31T03:51:35.000Z","_id":"cka1y598q002p4huudjt7uk0a","comments":1,"layout":"post","photos":[],"link":"","content":"癌症 \n“以我个人有限的接触癌症的经历总结,似乎越是传统意义上的“好人”越是容易生癌。这些人往往脾气很好,性格内向,照顾周围,万事替别人考虑,总是在乎别人眼里的自己,总是担心一些可能发生的小概率负面事件。”
\n—— 冯唐. “无所畏【冯唐2018全新作品,一部坦露自我的真诚之作!】。”
\n \n暗算 \n金风未动蝉先觉,暗算无常死不知。 \n青山只会明今古,绿水何曾洗是非?
\n五个人生思维 \n\n能把问题清楚的写下来,就是解决了问题的一半。发现问题比解决问题更重要。 \n墨菲定律:如果事情有变坏的可能,那它就一定会发生。 \n吉伯特法则:真正的危险是没有人告诉你有危险。「人在事中迷,就怕没人提」。 \n福克兰定律:当你不知道如何行动时,最好的行动就是不要行动,最好的决策就是没有决策。 \n费斯诺定律:人有两只耳朵,却只有一张嘴巴。就是说,人应该多听少讲。 \n \n","site":{"data":{}},"excerpt":"癌症 \n“以我个人有限的接触癌症的经历总结,似乎越是传统意义上的“好人”越是容易生癌。这些人往往脾气很好,性格内向,照顾周围,万事替别人考虑,总是在乎别人眼里的自己,总是担心一些可能发生的小概率负面事件。”
\n—— 冯唐. “无所畏【冯唐2018全新作品,一部坦露自我的真诚之作!】。”
","more":"暗算 \n金风未动蝉先觉,暗算无常死不知。 \n青山只会明今古,绿水何曾洗是非?
\n五个人生思维 \n\n能把问题清楚的写下来,就是解决了问题的一半。发现问题比解决问题更重要。 \n墨菲定律:如果事情有变坏的可能,那它就一定会发生。 \n吉伯特法则:真正的危险是没有人告诉你有危险。「人在事中迷,就怕没人提」。 \n福克兰定律:当你不知道如何行动时,最好的行动就是不要行动,最好的决策就是没有决策。 \n费斯诺定律:人有两只耳朵,却只有一张嘴巴。就是说,人应该多听少讲。 \n "},{"title":"有用的Shell命令","date":"2019-07-30T15:30:28.000Z","urlname":"helpfull-shell-command","toc":true,"notshow":true,"_content":"\n在线网站可以找到基本的东西:[Linux命令大全](https://man.linuxde.net/) [shell 正则表达式](https://man.linuxde.net/docs/shell_regex.html)\n\n# 文件&内容检索\n\n## 正则表达式注意的地方\n\n- 花括号之前要加转义字符 `[a-z]\\{3\\}`\n- 空格就是转义加空格`\\ `,而不是`\\s` 。如 `[a-z0-9_\\ ]\\{3,\\}`\n- 这几个符号 `_ - . #`都不需要加转义符。\n- 不要轻易加==行结束符==$,可能回车才是最后符号,所以可能找不到。\n\n\n\n## grep\n\n```sh\n# -r 递归搜索子目录\n# -l 只显示文件\n# -n 显示文件和匹配的行\n# 搜索 “markdown” 字符串并输入到文件里\n# Formating the Results...\ngrep $begrif $directory $args |awk '{ print \"[\" $1 \"](\" $1 \")\\n\" }' > suchergebnisse.md\n# 将结果转为Windows目录\nsed -i -- 's/\\/D\\//D:\\/\\//g' suchergebnisse.md\necho \"Fertig! Ergebnisse siehe Datei 'suchergebnisse.md'\"\nread\n```\n\n[更多参数请读此文](https://blog.csdn.net/u013485792/article/details/52243479) 示例脚本\n\n`grep` 正则表达式的例子\n\n```sh\n#!bin/bash\n# {#part0000_split_050.html#nav_point-99 .calibre13}\nresult=$(grep '{#part0000_split_[0-9]\\{3\\}.html[a-z0-9_\\ -.#]\\{3,\\}calibre13}' 文件名)\n\nif [ \"$result\" = \"\" ];\nthen\n\techo \"Nichts gefunden!\"\nfi\n\necho $result\nread\n```\n\ngrep或操作\n\n```sh\ngrep -E '123|abc' filename // 找出文件(filename)中包含123或者包含abc的行\negrep '123|abc' filename // 用egrep同样可以实现\nawk '/123|abc/' filename // awk 的实现方式\n```\n\ngrep与操作\n\n```sh\ngrep pattern1 files | grep pattern2 //显示既匹配 pattern1 又匹配 pattern2 的行。\n```\n\n其它常用选项\n\n```sh\ngrep -i pattern files //不区分大小写地搜索。默认情况区分大小写,\ngrep -l pattern files //只列出匹配的文件名,\ngrep -L pattern files //列出不匹配的文件名,\ngrep -w pattern files //只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),\ngrep -C number pattern files //匹配的上下文分别显示[number]行,\n```\n\n{% fold 点击显/隐代码 %}\n\n\n{% endfold %}\n\n## sed 命令\n\n[参考文献](https://man.linuxde.net/sed)\n\n### 文本替代\n\n以下文本替换通过`pandoc`导入后的文件,残留很多内部跳转链接:如\n\n```sh\n{#part0000_split_003.html#nav_point_1 .not-in-toc}\n```\n\n\n\n```bash\n#!bin/bash\necho running\n#sed 's/^#part0000_split_$/p' -f ../Linux_shell_Anleitung.md ;\nsed -i -- 's/^\\[\\]{#part0000_split_[0-9]\\{3\\}.html}$//g' ../Linux_shell_Anleitung.md \n\n#{#part0000_split_017.html#nav_point_21 .calibre8} {#part0000_split_003.html#nav_point_1 .not-in-toc}\nsed -i -- 's/{#part0000_split_[0-9]\\{3\\}.html#[a-z0-9_-]\\+ .[a-z0-9_-]\\+}//g' ../Linux_shell_Anleitung.md \n\necho fertig!\nread\n```\n\n### 整行替代\n\n[参考文献](https://www.cnblogs.com/wangqiguo/p/6718512.html)\n\n替代以 `categories:` 开头的整行(允许行开头有空格或制表符)。`c` 代表整行,以字符串 *categories: [IE]* 替代整行。\n\n```sh\n# Linux 下的写法\nsed -i -- '/^[[:blank:]]*categories:/c categories: [IE]' result.txt \n# Mac 下的写法\nsed -i '' 's/^[[:blank:]]*tags:.*/tags: [心理]/' $1 \n```\n\n错误:如果将参数 `c` 写在前面,会将整个文本每一行都替换掉。\n\n```sh\n# Linux 下的写法\nsed -i -- 'c/^[[:blank:]]*categories:/categories: [IE]/' result.txt \n```\n\n\n\n## find\n\n```sh\n# 查找所有的 md 文件\nfind /root/bibliothek/markdowns/blog_posts/ -type f -name \"*.md\" \n# 查找一天之前的文件, 一小时前时 -1h,一周 -1w\nfind . -type f -mtime -1d\n```\n\n如果要处理复杂的事情,就要用到函数\n\n```sh\n# 定义函数\nshowFileInfo(){\n echo $1\n}\n\n# 声明函数\nexport -f showFileInfo\n# 使用函数\nfind $dirPath -name \"*.md\" | xargs -n 1 -P 10 -I {} bash -c 'showFileInfo \"$@\"' _ {} \\;\n```\n\n\n\n## 查找最新文件\n\n- 将文件按从新到旧排列,取第一个。\n\n `ls -t *.cpp | head -1`\n\n- 将文件按从旧到新排列,取最后一个。\n\n `ls -rt *.cpp | tail -1`\n\n- 列出文件时间戳\n\n `ls -l simpleNode.js |awk '{print $6 \"-\" $7 \"-\" $8 }'`\n\n- 整合以上两个命令,找到最新的文件,读取时间戳 \n\n `ls -t *.* | head -1 | xargs ls -l | awk '{print $6 \"-\" $7 \"-\" $8 }'`\n\n\n\n# 字符串处理\n\n[字符串处理参考文献](https://www.jianshu.com/p/5709118af1c6) [将分隔符的字符串转为数组的几种方法](https://blog.csdn.net/Jerry_1126/article/details/83930956)\n\n配合使用,可以直接用 shell 实现文件内标签和分类的替换。\n\n## 数组转字符串\n\n使用分隔符将数组转字符串:\n\n```sh\nids=(1 2 3 4); \nlst=$( IFS='/'; echo \"${ids[*]}\" ); \necho $lst\n# 结果是:1/2/3/4\n```\n\n## 字符串转数组\n\n[懒得写,看范例](https://blog.csdn.net/Jerry_1126/article/details/83930956)\n\n## 字符串替换\n\n```sh\n# 原串 [娱乐,经济,重要] => 目标串 [娱乐, 经济, 重要]\n${tags/,/, } # 只替换了一个,结果变成 [娱乐, 经济,重要]\n${tags//,/, } # 替换了所有符合的,结果变成 [娱乐, 经济, 重要]\n# 原串 [重要] => 目标串 重要\n${tags//[\\[\\] ]/}\n```\n\n### 消除回车符、换行符、制表符\n\n```sh\n# arg是个字符串变量, 可能带有回车符\\r\n# 把它整个作为参数使用会带来很多麻烦。用以下命令将其替换掉\nnewvar=${arg//[$'\\t\\r\\n']/}\n```\n\n\n\n## 详细用法\n\n[参考文献](https://blog.csdn.net/ljianhui/article/details/43128465)\n\n1. `${var##*/}`\n该命令的作用是去掉变量var从左边算起的最后一个'/'字符及其左边的内容,返回从左边算起的最后一个'/'(不含该字符)的右边的内容。使用例子及结果如下:\n\n```sh\nvar=dir1/dir2/file.txt \n--> file.txt\n```\n\n从运行结果可以看到,使用该命令,可以提取出我们需要的文件名*file.txt*。\n\n若使用时在shell程序文件中,可以使用变量来保存这个结果,再加以利用,如file=`${var##*/}`\n\n2. `${var##*.}`\n该命令的作用是去掉变量var从左边算起的最后一个'.'字符及其左边的内容,返回从左边算起的最后一个'.'(不含该字符)的右边的内容。使用例子及结果如下:\n\n```sh\nvar=dir1/dir2/file.txt \n--> txt\n```\n\n从运行结果可以看到,使用该命令,可以提取出我们需要的文件后缀。\n\n如果文件的后缀不仅有一个,例如,file.tar.gz,命令`${var##*.}`仅能提取最后一个后缀,而我想提取tar.gz时该怎么办?那么就要用下面所说的`${var#*.}`命令了。\n\n3. `${var#*.}`\n该命令的作用是去掉变量var从左边算起的第一个'.'字符及其左边的内容,返回从左边算起第一个'.'(不含该字符)的右边部分的内容。使用例子及结果如下:\n\n```sh\nvar=dir1/dir2/file.tar.gz \n--> tar.gz\n```\n\n从运行结果可以看到,使用该命令,可以提取出文件的多个后缀。\n\n4. `${var%/*}`\n 该命令的使用是去掉变量var从右边算起的第一个'/'字符及其右边的内容,返回从右边算起的第一个'/'(不含该字符)的左边的内容。使用例子及结果如下:\n\n```sh\nvar=dir1/dir2/file.txt \n--> dir1/dir2\n```\n\n\n\n从运行的结果可以看到,使用该命令,可以提取出我们需要的文件所在的目录\n\n5. `${var%%.*}`\n该命令的使用是去掉变量var从右边算起的最后一个'.'字符及其右边的内容,返回从右边算起的最后一个'.'(不含该字符)的左边的内容。使用例子及结果如下:\n\n```sh\nvar=dir1/dir2/file.txt \n--> dir1/dir2/file\n```\n\n当我们需要建立一个与文件名相同名字(没有后缀)的目录与对应的文件相对应时,就可以使用该命令来进行操作。例如,解压文件的情况就与此类似,我们压缩文件file.zip时,会在与file.zip同级目录下建立一个名为file的目录。\n\n6. 总结\n\n 其实${}并不是专门为提取文件名或目录名的,它的使用是变量的提取和替换等等操作,它可以提取非常多的内容,并不一定是上面五个例子中的'/'或'.'。也就是说,上面的使用方法只是它使用的一个特例。\n\n\n\n看到上面的这些命令,可能会让人感到非常难以理解和记忆,其实不然,它们都是有规律的。\n\n- \\#:表示从左边算起第一个\n\n- %:表示从右边算起第一个\n\n- \\##:表示从左边算起最后一个\n\n- %%:表示从右边算起最后一个\n\n换句话来说,#总是表示左边算起,%总是表示右边算起。\n\n*:表示要删除的内容,对于#和##的情况,它位于指定的字符(例子中的'/'和'.')的左边,表于删除指定字符及其左边的内容;对于%和%%的情况,它位于指定的字符(例子中的'/'和'.')的右边,表示删除指定字符及其右边的内容。这里的'*'的位置不能互换,即不能把*号放在#或##的右边,反之亦然。\n\n例如:`${var%%x*}`表示找出从右边算起最后一个字符x,并删除字符x及其右边的字符。\n\n看到这里,就可以知道,其实该命令的用途非常广泛,上面只是指针文件名和目录名的命名特性来进行提取的一些特例而已。\n\n## basename和dirname\n\n`${}`并不是专门为提取文件名和目录名设计的命令,那么`basename`和`dirname`命令就是专门为做这一件事而已准备的了。\n\n1. `basename`\n 该命令的作用是从路径中提取出文件名,使用方法为basename NAME [SUFFIX]。\n\n 1.1 从路径中提出出文件名(带后缀),例子如下:\n\n 1.2 从上面命令的用法中可以看到,后缀(SUFFIX)是一个可选项。所以,若只想提取出文件名file,而不带有后缀,还可以在变量的后面加上后缀名,例子如下:\n\n\n2. `dirname`\n该命令的作用是从路径中提取出目录名,使用方法为 dirname NAME。使用例子如下:\n\n这样就提取出了file.txt文件所在的目录。\n\n注:该命令不仅能提取出普通文件所的目录,它能提取出任何文件所在的目录,例如目录所在的目录,如下:\n\n它提取出了目录dir2所在的目录dir1.\n\n---------------------\n\n\n\n# 查看硬盘剩余空间\n\n```sh\n# 整个硬盘空间\ndf -hl\n# 查看某个文件夹大小\ndu -h your_directory # 列出每个子文件夹大小\ndu -hcs your_directory # 汇总\n```\n\n\n\n## 查看 package 版本\n\n```sh\napt-cache show packagename\n```\n\n\n\n# Windwos 下的脚本\n\nwindows 下显示环境变量\n\n`echo %http_proxy%`\n\nwindows 下设置代理服务器\n$$\n\n$$\n\n```sh\nset http_proxy=http://username:pwd$$$@proxy-rzf:8080\nset https_proxy=http://username:pwd$$$@proxy-rzf:8080\n```\n\n","source":"_posts/IT/Tools/有用的shell命令.md","raw":"---\ntitle: 有用的Shell命令\ndate: 2019-07-30 17:30:28\nurlname: helpfull-shell-command\ntoc: true\ntags: [工具]\ncategories: [IT, Tools]\nnotshow: true\n---\n\n在线网站可以找到基本的东西:[Linux命令大全](https://man.linuxde.net/) [shell 正则表达式](https://man.linuxde.net/docs/shell_regex.html)\n\n# 文件&内容检索\n\n## 正则表达式注意的地方\n\n- 花括号之前要加转义字符 `[a-z]\\{3\\}`\n- 空格就是转义加空格`\\ `,而不是`\\s` 。如 `[a-z0-9_\\ ]\\{3,\\}`\n- 这几个符号 `_ - . #`都不需要加转义符。\n- 不要轻易加==行结束符==$,可能回车才是最后符号,所以可能找不到。\n\n\n\n## grep\n\n```sh\n# -r 递归搜索子目录\n# -l 只显示文件\n# -n 显示文件和匹配的行\n# 搜索 “markdown” 字符串并输入到文件里\n# Formating the Results...\ngrep $begrif $directory $args |awk '{ print \"[\" $1 \"](\" $1 \")\\n\" }' > suchergebnisse.md\n# 将结果转为Windows目录\nsed -i -- 's/\\/D\\//D:\\/\\//g' suchergebnisse.md\necho \"Fertig! Ergebnisse siehe Datei 'suchergebnisse.md'\"\nread\n```\n\n[更多参数请读此文](https://blog.csdn.net/u013485792/article/details/52243479) 示例脚本\n\n`grep` 正则表达式的例子\n\n```sh\n#!bin/bash\n# {#part0000_split_050.html#nav_point-99 .calibre13}\nresult=$(grep '{#part0000_split_[0-9]\\{3\\}.html[a-z0-9_\\ -.#]\\{3,\\}calibre13}' 文件名)\n\nif [ \"$result\" = \"\" ];\nthen\n\techo \"Nichts gefunden!\"\nfi\n\necho $result\nread\n```\n\ngrep或操作\n\n```sh\ngrep -E '123|abc' filename // 找出文件(filename)中包含123或者包含abc的行\negrep '123|abc' filename // 用egrep同样可以实现\nawk '/123|abc/' filename // awk 的实现方式\n```\n\ngrep与操作\n\n```sh\ngrep pattern1 files | grep pattern2 //显示既匹配 pattern1 又匹配 pattern2 的行。\n```\n\n其它常用选项\n\n```sh\ngrep -i pattern files //不区分大小写地搜索。默认情况区分大小写,\ngrep -l pattern files //只列出匹配的文件名,\ngrep -L pattern files //列出不匹配的文件名,\ngrep -w pattern files //只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),\ngrep -C number pattern files //匹配的上下文分别显示[number]行,\n```\n\n{% fold 点击显/隐代码 %}\n\n\n{% endfold %}\n\n## sed 命令\n\n[参考文献](https://man.linuxde.net/sed)\n\n### 文本替代\n\n以下文本替换通过`pandoc`导入后的文件,残留很多内部跳转链接:如\n\n```sh\n{#part0000_split_003.html#nav_point_1 .not-in-toc}\n```\n\n\n\n```bash\n#!bin/bash\necho running\n#sed 's/^#part0000_split_$/p' -f ../Linux_shell_Anleitung.md ;\nsed -i -- 's/^\\[\\]{#part0000_split_[0-9]\\{3\\}.html}$//g' ../Linux_shell_Anleitung.md \n\n#{#part0000_split_017.html#nav_point_21 .calibre8} {#part0000_split_003.html#nav_point_1 .not-in-toc}\nsed -i -- 's/{#part0000_split_[0-9]\\{3\\}.html#[a-z0-9_-]\\+ .[a-z0-9_-]\\+}//g' ../Linux_shell_Anleitung.md \n\necho fertig!\nread\n```\n\n### 整行替代\n\n[参考文献](https://www.cnblogs.com/wangqiguo/p/6718512.html)\n\n替代以 `categories:` 开头的整行(允许行开头有空格或制表符)。`c` 代表整行,以字符串 *categories: [IE]* 替代整行。\n\n```sh\n# Linux 下的写法\nsed -i -- '/^[[:blank:]]*categories:/c categories: [IE]' result.txt \n# Mac 下的写法\nsed -i '' 's/^[[:blank:]]*tags:.*/tags: [心理]/' $1 \n```\n\n错误:如果将参数 `c` 写在前面,会将整个文本每一行都替换掉。\n\n```sh\n# Linux 下的写法\nsed -i -- 'c/^[[:blank:]]*categories:/categories: [IE]/' result.txt \n```\n\n\n\n## find\n\n```sh\n# 查找所有的 md 文件\nfind /root/bibliothek/markdowns/blog_posts/ -type f -name \"*.md\" \n# 查找一天之前的文件, 一小时前时 -1h,一周 -1w\nfind . -type f -mtime -1d\n```\n\n如果要处理复杂的事情,就要用到函数\n\n```sh\n# 定义函数\nshowFileInfo(){\n echo $1\n}\n\n# 声明函数\nexport -f showFileInfo\n# 使用函数\nfind $dirPath -name \"*.md\" | xargs -n 1 -P 10 -I {} bash -c 'showFileInfo \"$@\"' _ {} \\;\n```\n\n\n\n## 查找最新文件\n\n- 将文件按从新到旧排列,取第一个。\n\n `ls -t *.cpp | head -1`\n\n- 将文件按从旧到新排列,取最后一个。\n\n `ls -rt *.cpp | tail -1`\n\n- 列出文件时间戳\n\n `ls -l simpleNode.js |awk '{print $6 \"-\" $7 \"-\" $8 }'`\n\n- 整合以上两个命令,找到最新的文件,读取时间戳 \n\n `ls -t *.* | head -1 | xargs ls -l | awk '{print $6 \"-\" $7 \"-\" $8 }'`\n\n\n\n# 字符串处理\n\n[字符串处理参考文献](https://www.jianshu.com/p/5709118af1c6) [将分隔符的字符串转为数组的几种方法](https://blog.csdn.net/Jerry_1126/article/details/83930956)\n\n配合使用,可以直接用 shell 实现文件内标签和分类的替换。\n\n## 数组转字符串\n\n使用分隔符将数组转字符串:\n\n```sh\nids=(1 2 3 4); \nlst=$( IFS='/'; echo \"${ids[*]}\" ); \necho $lst\n# 结果是:1/2/3/4\n```\n\n## 字符串转数组\n\n[懒得写,看范例](https://blog.csdn.net/Jerry_1126/article/details/83930956)\n\n## 字符串替换\n\n```sh\n# 原串 [娱乐,经济,重要] => 目标串 [娱乐, 经济, 重要]\n${tags/,/, } # 只替换了一个,结果变成 [娱乐, 经济,重要]\n${tags//,/, } # 替换了所有符合的,结果变成 [娱乐, 经济, 重要]\n# 原串 [重要] => 目标串 重要\n${tags//[\\[\\] ]/}\n```\n\n### 消除回车符、换行符、制表符\n\n```sh\n# arg是个字符串变量, 可能带有回车符\\r\n# 把它整个作为参数使用会带来很多麻烦。用以下命令将其替换掉\nnewvar=${arg//[$'\\t\\r\\n']/}\n```\n\n\n\n## 详细用法\n\n[参考文献](https://blog.csdn.net/ljianhui/article/details/43128465)\n\n1. `${var##*/}`\n该命令的作用是去掉变量var从左边算起的最后一个'/'字符及其左边的内容,返回从左边算起的最后一个'/'(不含该字符)的右边的内容。使用例子及结果如下:\n\n```sh\nvar=dir1/dir2/file.txt \n--> file.txt\n```\n\n从运行结果可以看到,使用该命令,可以提取出我们需要的文件名*file.txt*。\n\n若使用时在shell程序文件中,可以使用变量来保存这个结果,再加以利用,如file=`${var##*/}`\n\n2. `${var##*.}`\n该命令的作用是去掉变量var从左边算起的最后一个'.'字符及其左边的内容,返回从左边算起的最后一个'.'(不含该字符)的右边的内容。使用例子及结果如下:\n\n```sh\nvar=dir1/dir2/file.txt \n--> txt\n```\n\n从运行结果可以看到,使用该命令,可以提取出我们需要的文件后缀。\n\n如果文件的后缀不仅有一个,例如,file.tar.gz,命令`${var##*.}`仅能提取最后一个后缀,而我想提取tar.gz时该怎么办?那么就要用下面所说的`${var#*.}`命令了。\n\n3. `${var#*.}`\n该命令的作用是去掉变量var从左边算起的第一个'.'字符及其左边的内容,返回从左边算起第一个'.'(不含该字符)的右边部分的内容。使用例子及结果如下:\n\n```sh\nvar=dir1/dir2/file.tar.gz \n--> tar.gz\n```\n\n从运行结果可以看到,使用该命令,可以提取出文件的多个后缀。\n\n4. `${var%/*}`\n 该命令的使用是去掉变量var从右边算起的第一个'/'字符及其右边的内容,返回从右边算起的第一个'/'(不含该字符)的左边的内容。使用例子及结果如下:\n\n```sh\nvar=dir1/dir2/file.txt \n--> dir1/dir2\n```\n\n\n\n从运行的结果可以看到,使用该命令,可以提取出我们需要的文件所在的目录\n\n5. `${var%%.*}`\n该命令的使用是去掉变量var从右边算起的最后一个'.'字符及其右边的内容,返回从右边算起的最后一个'.'(不含该字符)的左边的内容。使用例子及结果如下:\n\n```sh\nvar=dir1/dir2/file.txt \n--> dir1/dir2/file\n```\n\n当我们需要建立一个与文件名相同名字(没有后缀)的目录与对应的文件相对应时,就可以使用该命令来进行操作。例如,解压文件的情况就与此类似,我们压缩文件file.zip时,会在与file.zip同级目录下建立一个名为file的目录。\n\n6. 总结\n\n 其实${}并不是专门为提取文件名或目录名的,它的使用是变量的提取和替换等等操作,它可以提取非常多的内容,并不一定是上面五个例子中的'/'或'.'。也就是说,上面的使用方法只是它使用的一个特例。\n\n\n\n看到上面的这些命令,可能会让人感到非常难以理解和记忆,其实不然,它们都是有规律的。\n\n- \\#:表示从左边算起第一个\n\n- %:表示从右边算起第一个\n\n- \\##:表示从左边算起最后一个\n\n- %%:表示从右边算起最后一个\n\n换句话来说,#总是表示左边算起,%总是表示右边算起。\n\n*:表示要删除的内容,对于#和##的情况,它位于指定的字符(例子中的'/'和'.')的左边,表于删除指定字符及其左边的内容;对于%和%%的情况,它位于指定的字符(例子中的'/'和'.')的右边,表示删除指定字符及其右边的内容。这里的'*'的位置不能互换,即不能把*号放在#或##的右边,反之亦然。\n\n例如:`${var%%x*}`表示找出从右边算起最后一个字符x,并删除字符x及其右边的字符。\n\n看到这里,就可以知道,其实该命令的用途非常广泛,上面只是指针文件名和目录名的命名特性来进行提取的一些特例而已。\n\n## basename和dirname\n\n`${}`并不是专门为提取文件名和目录名设计的命令,那么`basename`和`dirname`命令就是专门为做这一件事而已准备的了。\n\n1. `basename`\n 该命令的作用是从路径中提取出文件名,使用方法为basename NAME [SUFFIX]。\n\n 1.1 从路径中提出出文件名(带后缀),例子如下:\n\n 1.2 从上面命令的用法中可以看到,后缀(SUFFIX)是一个可选项。所以,若只想提取出文件名file,而不带有后缀,还可以在变量的后面加上后缀名,例子如下:\n\n\n2. `dirname`\n该命令的作用是从路径中提取出目录名,使用方法为 dirname NAME。使用例子如下:\n\n这样就提取出了file.txt文件所在的目录。\n\n注:该命令不仅能提取出普通文件所的目录,它能提取出任何文件所在的目录,例如目录所在的目录,如下:\n\n它提取出了目录dir2所在的目录dir1.\n\n---------------------\n\n\n\n# 查看硬盘剩余空间\n\n```sh\n# 整个硬盘空间\ndf -hl\n# 查看某个文件夹大小\ndu -h your_directory # 列出每个子文件夹大小\ndu -hcs your_directory # 汇总\n```\n\n\n\n## 查看 package 版本\n\n```sh\napt-cache show packagename\n```\n\n\n\n# Windwos 下的脚本\n\nwindows 下显示环境变量\n\n`echo %http_proxy%`\n\nwindows 下设置代理服务器\n$$\n\n$$\n\n```sh\nset http_proxy=http://username:pwd$$$@proxy-rzf:8080\nset https_proxy=http://username:pwd$$$@proxy-rzf:8080\n```\n\n","slug":"IT/Tools/有用的shell命令","published":1,"updated":"2019-08-14T13:12:36.000Z","_id":"cka1y599o004i4huuvxxo90p7","comments":1,"layout":"post","photos":[],"link":"","content":"在线网站可以找到基本的东西:Linux命令大全 shell 正则表达式
\n文件&内容检索 \n正则表达式注意的地方 \n\n花括号之前要加转义字符 [a-z]\\{3\\}
\n空格就是转义加空格\\
,而不是\\s
。如 [a-z0-9_\\ ]\\{3,\\}
\n这几个符号 _ - . #
都不需要加转义符。 \n不要轻易加==行结束符==$,可能回车才是最后符号,所以可能找不到。 \n \n \ngrep \n1 2 3 4 5 6 7 8 9 10 grep $begrif $directory $args |awk '{ print \"[\" $1 \"](\" $1 \")\\n\" }' > suchergebnisse.md sed -i -- 's/\\/D\\//D:\\/\\//g' suchergebnisse.md echo \"Fertig! Ergebnisse siehe Datei 'suchergebnisse.md'\" read
\n更多参数请读此文 示例脚本
\ngrep
正则表达式的例子
\n1 2 3 4 5 6 7 8 9 10 11 #!bin/bash result=$(grep '{#part0000_split_[0-9]\\{3\\}.html[a-z0-9_\\ -.#]\\{3,\\}calibre13}' 文件名) if [ \"$result \" = \"\" ];then \techo \"Nichts gefunden!\" fi echo $result read
\ngrep或操作
\n1 2 3 grep -E '123|abc' filename // 找出文件(filename)中包含123或者包含abc的行 egrep '123|abc' filename // 用egrep同样可以实现 awk '/123|abc/' filename // awk 的实现方式
\ngrep与操作
\n1 grep pattern1 files | grep pattern2 //显示既匹配 pattern1 又匹配 pattern2 的行。
\n其它常用选项
\n1 2 3 4 5 grep -i pattern files //不区分大小写地搜索。默认情况区分大小写, grep -l pattern files //只列出匹配的文件名, grep -L pattern files //列出不匹配的文件名, grep -w pattern files //只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’), grep -C number pattern files //匹配的上下文分别显示[number]行,
\n\nsed 命令 \n参考文献
\n文本替代 \n以下文本替换通过pandoc
导入后的文件,残留很多内部跳转链接:如
\n \n1 2 3 4 5 6 7 8 9 10 #!bin/bash echo runningsed -i -- 's/^\\[\\]{#part0000_split_[0-9]\\{3\\}.html}$//g' ../Linux_shell_Anleitung.md sed -i -- 's/{#part0000_split_[0-9]\\{3\\}.html#[a-z0-9_-]\\+ .[a-z0-9_-]\\+}//g' ../Linux_shell_Anleitung.md echo fertig!read
\n整行替代 \n参考文献
\n替代以 categories:
开头的整行(允许行开头有空格或制表符)。c
代表整行,以字符串 categories: [IE] 替代整行。
\n1 2 3 4 sed -i -- '/^[[:blank:]]*categories:/c categories: [IE]' result.txt sed -i '' 's/^[[:blank:]]*tags:.*/tags: [心理]/' $1
\n错误:如果将参数 c
写在前面,会将整个文本每一行都替换掉。
\n1 2 sed -i -- 'c/^[[:blank:]]*categories:/categories: [IE]/' result.txt
\nfind \n1 2 3 4 find /root/bibliothek/markdowns/blog_posts/ -type f -name \"*.md\" find . -type f -mtime -1d
\n如果要处理复杂的事情,就要用到函数
\n1 2 3 4 5 6 7 8 9 showFileInfo (){ echo $1 } export -f showFileInfofind $dirPath -name \"*.md\" | xargs -n 1 -P 10 -I {} bash -c 'showFileInfo \"$@\"' _ {} \\;
\n查找最新文件 \n\n字符串处理 \n字符串处理参考文献 将分隔符的字符串转为数组的几种方法
\n配合使用,可以直接用 shell 实现文件内标签和分类的替换。
\n数组转字符串 \n使用分隔符将数组转字符串:
\n1 2 3 4 ids=(1 2 3 4); lst=$( IFS='/' ; echo \"${ids[*]} \" ); echo $lst
\n字符串转数组 \n懒得写,看范例
\n字符串替换 \n1 2 3 4 5 ${tags/,/, } ${tags//,/, } ${tags//[\\[\\] ]/}
\n消除回车符、换行符、制表符 \n1 2 3 newvar=${arg//[$'\\t\\r\\n']/}
\n详细用法 \n参考文献
\n\n${var##*/}
\n该命令的作用是去掉变量var从左边算起的最后一个’/‘字符及其左边的内容,返回从左边算起的最后一个’/’(不含该字符)的右边的内容。使用例子及结果如下: \n \n1 2 var=dir1/dir2/file.txt --> file.txt
\n从运行结果可以看到,使用该命令,可以提取出我们需要的文件名file.txt 。
\n若使用时在shell程序文件中,可以使用变量来保存这个结果,再加以利用,如file=${var##*/}
\n\n${var##*.}
\n该命令的作用是去掉变量var从左边算起的最后一个’.‘字符及其左边的内容,返回从左边算起的最后一个’.’(不含该字符)的右边的内容。使用例子及结果如下: \n \n1 2 var=dir1/dir2/file.txt --> txt
\n从运行结果可以看到,使用该命令,可以提取出我们需要的文件后缀。
\n如果文件的后缀不仅有一个,例如,file.tar.gz,命令${var##*.}
仅能提取最后一个后缀,而我想提取tar.gz时该怎么办?那么就要用下面所说的${var#*.}
命令了。
\n\n${var#*.}
\n该命令的作用是去掉变量var从左边算起的第一个’.‘字符及其左边的内容,返回从左边算起第一个’.’(不含该字符)的右边部分的内容。使用例子及结果如下: \n \n1 2 var=dir1/dir2/file.tar.gz --> tar.gz
\n从运行结果可以看到,使用该命令,可以提取出文件的多个后缀。
\n\n${var%/*}
\n该命令的使用是去掉变量var从右边算起的第一个’/‘字符及其右边的内容,返回从右边算起的第一个’/’(不含该字符)的左边的内容。使用例子及结果如下: \n \n1 2 var=dir1/dir2/file.txt --> dir1/dir2
\n从运行的结果可以看到,使用该命令,可以提取出我们需要的文件所在的目录
\n\n${var%%.*}
\n该命令的使用是去掉变量var从右边算起的最后一个’.‘字符及其右边的内容,返回从右边算起的最后一个’.’(不含该字符)的左边的内容。使用例子及结果如下: \n \n1 2 var=dir1/dir2/file.txt --> dir1/dir2/file
\n当我们需要建立一个与文件名相同名字(没有后缀)的目录与对应的文件相对应时,就可以使用该命令来进行操作。例如,解压文件的情况就与此类似,我们压缩文件file.zip时,会在与file.zip同级目录下建立一个名为file的目录。
\n\n总结 \n \n其实${}并不是专门为提取文件名或目录名的,它的使用是变量的提取和替换等等操作,它可以提取非常多的内容,并不一定是上面五个例子中的’/‘或’.’。也就是说,上面的使用方法只是它使用的一个特例。
\n看到上面的这些命令,可能会让人感到非常难以理解和记忆,其实不然,它们都是有规律的。
\n\n\n#:表示从左边算起第一个
\n \n\n%:表示从右边算起第一个
\n \n\n##:表示从左边算起最后一个
\n \n\n%%:表示从右边算起最后一个
\n \n \n换句话来说,#总是表示左边算起,%总是表示右边算起。
\n*:表示要删除的内容,对于#和##的情况,它位于指定的字符(例子中的’/‘和’.’)的左边,表于删除指定字符及其左边的内容;对于%和%%的情况,它位于指定的字符(例子中的’/‘和’.’)的右边,表示删除指定字符及其右边的内容。这里的’'的位置不能互换,即不能把 号放在#或##的右边,反之亦然。
\n例如:${var%%x*}
表示找出从右边算起最后一个字符x,并删除字符x及其右边的字符。
\n看到这里,就可以知道,其实该命令的用途非常广泛,上面只是指针文件名和目录名的命名特性来进行提取的一些特例而已。
\nbasename和dirname \n${}
并不是专门为提取文件名和目录名设计的命令,那么basename
和dirname
命令就是专门为做这一件事而已准备的了。
\n\nbasename
\n该命令的作用是从路径中提取出文件名,使用方法为basename NAME [SUFFIX]。 \n \n1.1 从路径中提出出文件名(带后缀),例子如下:
\n1.2 从上面命令的用法中可以看到,后缀(SUFFIX)是一个可选项。所以,若只想提取出文件名file,而不带有后缀,还可以在变量的后面加上后缀名,例子如下:
\n\ndirname
\n该命令的作用是从路径中提取出目录名,使用方法为 dirname NAME。使用例子如下: \n \n这样就提取出了file.txt文件所在的目录。
\n注:该命令不仅能提取出普通文件所的目录,它能提取出任何文件所在的目录,例如目录所在的目录,如下:
\n它提取出了目录dir2所在的目录dir1.
\n \n查看硬盘剩余空间 \n1 2 3 4 5 df -hl du -h your_directory du -hcs your_directory
\n查看 package 版本 \n1 apt-cache show packagename
\nWindwos 下的脚本 \nwindows 下显示环境变量
\necho %http_proxy%
\nwindows 下设置代理服务器 \n$$
\n$$
\n1 2 set http_proxy=http://username:pwd $$$@proxy -rzf:8080set https_proxy=http://username:pwd $$$@proxy -rzf:8080
\n","site":{"data":{}},"excerpt":"在线网站可以找到基本的东西:Linux命令大全 shell 正则表达式
\n文件&内容检索 \n正则表达式注意的地方 \n\n花括号之前要加转义字符 [a-z]\\{3\\}
\n空格就是转义加空格\\
,而不是\\s
。如 [a-z0-9_\\ ]\\{3,\\}
\n这几个符号 _ - . #
都不需要加转义符。 \n不要轻易加==行结束符==$,可能回车才是最后符号,所以可能找不到。 \n ","more":"grep \n\n更多参数请读此文 示例脚本
\ngrep
正则表达式的例子
\n\ngrep或操作
\n\ngrep与操作
\n\n其它常用选项
\n\n\nsed 命令 \n参考文献
\n文本替代 \n以下文本替换通过pandoc
导入后的文件,残留很多内部跳转链接:如
\n\n\n整行替代 \n参考文献
\n替代以 categories:
开头的整行(允许行开头有空格或制表符)。c
代表整行,以字符串 categories: [IE] 替代整行。
\n\n错误:如果将参数 c
写在前面,会将整个文本每一行都替换掉。
\n\nfind \n\n如果要处理复杂的事情,就要用到函数
\n\n查找最新文件 \n\n字符串处理 \n字符串处理参考文献 将分隔符的字符串转为数组的几种方法
\n配合使用,可以直接用 shell 实现文件内标签和分类的替换。
\n数组转字符串 \n使用分隔符将数组转字符串:
\n\n字符串转数组 \n懒得写,看范例
\n字符串替换 \n\n消除回车符、换行符、制表符 \n\n详细用法 \n参考文献
\n\n${var##*/}
\n该命令的作用是去掉变量var从左边算起的最后一个’/‘字符及其左边的内容,返回从左边算起的最后一个’/’(不含该字符)的右边的内容。使用例子及结果如下: \n \n\n从运行结果可以看到,使用该命令,可以提取出我们需要的文件名file.txt 。
\n若使用时在shell程序文件中,可以使用变量来保存这个结果,再加以利用,如file=${var##*/}
\n\n${var##*.}
\n该命令的作用是去掉变量var从左边算起的最后一个’.‘字符及其左边的内容,返回从左边算起的最后一个’.’(不含该字符)的右边的内容。使用例子及结果如下: \n \n\n从运行结果可以看到,使用该命令,可以提取出我们需要的文件后缀。
\n如果文件的后缀不仅有一个,例如,file.tar.gz,命令${var##*.}
仅能提取最后一个后缀,而我想提取tar.gz时该怎么办?那么就要用下面所说的${var#*.}
命令了。
\n\n${var#*.}
\n该命令的作用是去掉变量var从左边算起的第一个’.‘字符及其左边的内容,返回从左边算起第一个’.’(不含该字符)的右边部分的内容。使用例子及结果如下: \n \n\n从运行结果可以看到,使用该命令,可以提取出文件的多个后缀。
\n\n${var%/*}
\n该命令的使用是去掉变量var从右边算起的第一个’/‘字符及其右边的内容,返回从右边算起的第一个’/’(不含该字符)的左边的内容。使用例子及结果如下: \n \n\n从运行的结果可以看到,使用该命令,可以提取出我们需要的文件所在的目录
\n\n${var%%.*}
\n该命令的使用是去掉变量var从右边算起的最后一个’.‘字符及其右边的内容,返回从右边算起的最后一个’.’(不含该字符)的左边的内容。使用例子及结果如下: \n \n\n当我们需要建立一个与文件名相同名字(没有后缀)的目录与对应的文件相对应时,就可以使用该命令来进行操作。例如,解压文件的情况就与此类似,我们压缩文件file.zip时,会在与file.zip同级目录下建立一个名为file的目录。
\n\n总结 \n \n其实${}并不是专门为提取文件名或目录名的,它的使用是变量的提取和替换等等操作,它可以提取非常多的内容,并不一定是上面五个例子中的’/‘或’.’。也就是说,上面的使用方法只是它使用的一个特例。
\n看到上面的这些命令,可能会让人感到非常难以理解和记忆,其实不然,它们都是有规律的。
\n\n\n#:表示从左边算起第一个
\n \n\n%:表示从右边算起第一个
\n \n\n##:表示从左边算起最后一个
\n \n\n%%:表示从右边算起最后一个
\n \n \n换句话来说,#总是表示左边算起,%总是表示右边算起。
\n*:表示要删除的内容,对于#和##的情况,它位于指定的字符(例子中的’/‘和’.’)的左边,表于删除指定字符及其左边的内容;对于%和%%的情况,它位于指定的字符(例子中的’/‘和’.’)的右边,表示删除指定字符及其右边的内容。这里的’'的位置不能互换,即不能把 号放在#或##的右边,反之亦然。
\n例如:${var%%x*}
表示找出从右边算起最后一个字符x,并删除字符x及其右边的字符。
\n看到这里,就可以知道,其实该命令的用途非常广泛,上面只是指针文件名和目录名的命名特性来进行提取的一些特例而已。
\nbasename和dirname \n${}
并不是专门为提取文件名和目录名设计的命令,那么basename
和dirname
命令就是专门为做这一件事而已准备的了。
\n\nbasename
\n该命令的作用是从路径中提取出文件名,使用方法为basename NAME [SUFFIX]。 \n \n1.1 从路径中提出出文件名(带后缀),例子如下:
\n1.2 从上面命令的用法中可以看到,后缀(SUFFIX)是一个可选项。所以,若只想提取出文件名file,而不带有后缀,还可以在变量的后面加上后缀名,例子如下:
\n\ndirname
\n该命令的作用是从路径中提取出目录名,使用方法为 dirname NAME。使用例子如下: \n \n这样就提取出了file.txt文件所在的目录。
\n注:该命令不仅能提取出普通文件所的目录,它能提取出任何文件所在的目录,例如目录所在的目录,如下:
\n它提取出了目录dir2所在的目录dir1.
\n \n查看硬盘剩余空间 \n\n查看 package 版本 \n\nWindwos 下的脚本 \nwindows 下显示环境变量
\necho %http_proxy%
\nwindows 下设置代理服务器 \n$$
\n$$
\n"},{"title":"用TypeScript编写JS函数库","date":"2019-08-16T20:15:28.000Z","urlname":"TypeScript-build-JS-Package","toc":true,"_content":"\n本文具体介绍如何用TypeScript编写JavaScript库文件,以及制作npm工具包。主要参考下面两篇文章。我也省却一步步解释,只罗列相关的代码和我遇到的坑。想知道代码含义的请参阅原帖\n\n- [TypeScript第一步](http://imzc.me/dev/2016/11/22/getting-start-with-typescript/)\n- [如何使用Gulp构建TypeScript](https://www.gowhich.com/blog/869)\n- [从Javascript迁移到Typescript](https://zhongsp.gitbooks.io/typescript-handbook/doc/handbook/tutorials/Migrating%20from%20JavaScript.html) *只看相关的那一章就可以*\n\n\n\n\n# 安装 TypeScript\n\n终端执行 `npm install typescript -g` \n\n```sh\n$ tsc --version\nVersion 3.5.3\n```\n\n# 创建工程\n\n1. 初始化项目\n\n```sh\nmkdir typescript_demo && cd typescript_demo\nnpm init -y # 初始化项目,会生成 package.json 文件\n```\n\n2. 安装Gulp, 并在项目根目录下新建 `gulpfile.js` 文件\n\n```sh\nnpm install gulp-cli gulp typescript gulp-typescript --save-dev\n```\n\n3. 在命令行中执行 `tsc --init` 可以在当前目录中快速创建一个 tsconfig.json 文件。\n\n4. 安装 Browserify :目的是把所有**ts**文件打包成一个单一的**js**文件。\n\n```sh\nnpm install browserify tsify vinyl-source-stream --save-dev\n```\n\n5. Watchify、Babel和Uglify :目的是让编译器保持运行,无需每次修改手动编译。\n\nnpm install watchify gulp-util --save-dev\n\n```sh\nnpm install watchify gulp-util --save-dev\n```\n\n6. 安装 Uglify : 将输出文件 bundle.js 压缩\n\n```sh\nnpm install gulp-uglify vinyl-buffer gulp-sourcemaps --save-dev\n```\n\n7. Babel :允许按新标准**ES6**编写代码,而最终会编译**es05**标准,兼容低版本浏览器。\n\n```sh\nnpm install babelify babel-core babel-preset-env vinyl-buffer gulp-sourcemaps --save-dev\n```\n\n:bangbang: 安装中出现了错误, 显示babelify 版本太低. 将命令改为 `npm install babelify@8` 就能顺利进行下去了.\n\n\n\n\n8. 编写主文件 `src/main.ts` (*名字随便起*),在 `package.json` 中改为 $ \"main\": \"./dist/main.js\", $。创建两文件夹 `src` 和 `dist`,分别放置原文件和编译后的文件。为演示调用,再新建一个 `src/greet.ts` 文件\n\n ```typescript\n # src/greet.ts\n declare function require(path: string): any;\n \n export function sayHello(name: string) {\n console.log(ln)\n return `Hallo von ${name}`;\n }\n ```\n\n ```typescript\n # src/main.ts\n import { sayHello } from \"./greet\";\n \n function showHello(idName: string, name: string) {\n const elt = document.getElementById(idName);\n elt.innerText = sayHello(name);\n }\n \n showHello(\"greeting\", \"TypeScript\");\n ```\n\n9. 新建 `src/index.html` \n\n```html\n\n\n \n \n Hello World! \n \n \n Loading ...
\n \n \n\n```\n\n10. 修改 `gulpfile.js` \n\n```javascript\nconst gulp = require(\"gulp\");\nconst browserify = require(\"browserify\");\nconst source = require('vinyl-source-stream');\nconst tsify = require(\"tsify\");\nconst watchify = require(\"watchify\");\nconst gutil = require(\"gulp-util\");\nconst uglify = require('gulp-uglify');\nconst sourcemaps = require('gulp-sourcemaps');\nconst buffer = require('vinyl-buffer');\nconst paths = {\n pages: ['src/*.html']\n};\n\nconst watchedBrowserify = watchify(browserify({\n basedir: '.',\n debug: true,\n entries: ['src/main.ts'],\n cache: {},\n packageCache: {}\n}).plugin(tsify));\n\ngulp.task(\"copy-html\", function () {\n return gulp.src(paths.pages)\n .pipe(gulp.dest(\"dist\"));\n})\n\nfunction browserifyBundle() {\n return watchedBrowserify\n .transform('babelify', {\n presets: ['env'],\n extensions: ['.ts']\n })\n .bundle()\n .pipe(source('bundle.js'))\n .pipe(buffer())\n .pipe(sourcemaps.init({\n loadMaps: true\n }))\n .pipe(uglify())\n .pipe(sourcemaps.write('./'))\n .pipe(gulp.dest(\"dist\"));\n}\n\ngulp.task(\"browserify\", function () {\n return browserifyBundle();\n})\n\ngulp.task(\"default\", gulp.series('copy-html', 'browserify'));\nwatchedBrowserify.on(\"update\", browserifyBundle);\nwatchedBrowserify.on(\"log\", gutil.log);\n```\n11. 修改 tsconfig.json\n\n ```json\n {\n \"files\": [\n \"src/*.ts\"\n ],\n \"compilerOptions\": {\n \"noImplicitAny\": true,\n \"target\": \"es2015\"\n }\n }\n ```\n\n12. 编译并在浏览器打开 `dist/index.html`\n\n```sh\n# 通过gulp编译代码\nnpx gulp\n```\n\n> 显示器中会显示 “Hello from TypeScript” 字样。\n\n\n\n我们看到 main.ts 调用了 greet.ts 的函数, 并生成一个 bundle.js 文件, 在 index.html 中被加载使用. \n\n\n\n# 调用JavaScript文件\n\n为了使用以前已经存在的JavaScript库文件, 在 src 下新建一个文件夹 libs 用来存放第三方JavaScript. \n\n> projectRoot\n> ├── src/\n> │ ├── libs/\n> │ │ ├── lunar.js\n> │ ├── main.ts\n> │ └── greet.ts\n> │ \n> ├── dist/\n> └── tsconfig.json\n\n```javascript\n# src/libs/lunar.js\n\nLunar = {\n Name: \"Dick\",\n sayHallo:function(){\n return 'i am Lunar';\n }\n} \n\nfunction Ab () {\n this.a = 1\n }\n \nAb.prototype.seta = function (num) {\n this.a = num\n }\n \nAb.prototype.geta = function (num) {\n return this.a\n }\n \nexports.Ab = Ab\nexports.Lunar = Lunar;\n\n```\n\n修改 `greet.ts` 文件, 调用 `src/libs/lunar.js` 中的函数和对象\n\n```typescript\ndeclare function require(path: string): any;\n\nvar ln = require(\"./libs/lunar\");\n\nexport function sayHello(name: string) {\n \tln.Ab = 10\n console.log(ln.Ab)\n return `Hallo von ${name}, ${ln.Lunar.Name}`;\n}\n```\n\nTypeScript使用`tsconfig.json`文件管理工程配置,例如想包含哪些文件和进行哪些检查。\n\n```json\n{\n \"compilerOptions\": {\n \t\t\"noImplicitAny\": true, \n //\"outDir\": \"./dist\", //不需要. gulpfile.js 已经处理过了\n \"allowJs\": true,\n \"target\": \"es2015\",\n \"esModuleInterop\": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */\n },\n \"files\": [\n \"src/*.ts\"\n ],\n \"include\": [\n \"./src/**/*.js\"\n ]\n}\n```\n\n\n\n我们看到网页显示 *Hallo von TypeScript, Dick*, 打开chrome的开发者工具, 看到console 中写出 `10`. \n\n\n\n# Unit-Test\n\n[参考:Unit testing node applications with Typescript -- using nocha and chai](https://journal.artfuldev.com/unit-testing-node-applications-with-typescript-using-mocha-and-chai-384ef05f32b2)\n\n1. 安装测试包文件\n\n```sh\nnpm install chai mocha ts-node @types/chai @types/mocha --save-dev\n```\n\n2. 新建一个test目录专门存放测试文件,并新建一个测试文件 `test/ganzhi.spec.ts`\n\n```typescript\nimport { expect } from 'chai';\nimport 'mocha';\n\ndescribe('干支 function', () => {\n\n it('should return hello world', () => {\n const result = 'Hello world!';\n expect(result).to.equal('Hello world!');\n });\n \n });\n```\n\n3. 在 `package.json` 文件中配置测试参数和路径\n\n```json\n{\n \"scripts\": {\n \"test\": \"mocha -r ts-node/register test/**/*.spec.ts\"\n }\n}\n```\n\n4. 运行测试\n\n> $ npm run test\n>\n> \\> huahets@1.0.0 test /Users/mai/Projects/huahets\n>\n> \\> mocha -r ts-node/register test/**/*.spec.ts\n>\n> 干支 function\n>\n> ✓ should return hello world\n>\n> 1 passing (19ms)\n\n\n\n## 错误处理\n\n假设有以下函数调用中`LandMaps.FindCity`会给出一个异常。\n\n```typescript\nvar result = LandMaps.FindCity(\"xx省\", \"xx市\");\nexpect(LandMaps.FindCity.bind(LandMaps, \"err\", \"\")).throw(\"Error Message\") # 或者\nexpect(LandMaps.FindCity.bind(LandMaps, \"err\", \"\")).throw(new Error(\"Error Message\"))\n```\n\n\n\n# 打包\n\n[用 TypeScript 编写函数库](https://www.xuejiayuan.net/blog/27db473912f642d8a5fa0e32af3bb600)\n\n[require.js 官方文档](https://requirejs.org/docs/start.html)\n\n通过上述方式生成的 bundle.js 文件不能被浏览器直接使用。参考上面两个网页提供的方式,可以生成给浏览器用的单一js文件。\n\n1. 新建一个入口文件,将所有接口都连接起来,并统一导出\n\n ```typescript\n # yixue.ts\n import {TYDate, TYLunar} from \"./tylunar\";\n import {GanZhi} from \"./ganzhi\";\n import {ShenSha} from \"./shensha\";\n import {WuXing, FetchWuXing} from \"./wuxing\";\n import {Gua} from './gua'\n import {LandMaps} from \"./landmaps\"\n \n exports.GanZhi = GanZhi\n exports.TYDate = TYDate\n exports.Gua = Gua\n ```\n2. 设置`tsconfig.json`让编译后的文件导出到`dist/cmjs`目录\n\n```json\n{\n \"compilerOptions\": {\n \"target\": \"es5\",\n \"module\": \"commonjs\",\n \"moduleResolution\": \"node\",\n \"outDir\": \"dist/cmjs\",\n \"rootDir\": \"./src\",\n \"declaration\": true,\n \"sourceMap\": true,\n \"lib\": [\"dom\", \"es6\"]\n }\n}\n```\n\n3. 通过命令 tsc 编译\n\n```sh\ntsc -P tsconfig.json\n```\n\n也可以在 package.json 中设定,然后运行 `npm run build:cmjs` 编译。编译后的 yixue.js 文件就是统一入口。\n\n4. yi xue.js 实际就是个目录,我需要将其打包成一个单一文件。 安装 browserify , \n\n```sh\nbrowserify dist/cmjs/base/yixue.js --standalone huahejs -o dist/web/yixue.js\n```\n\n5. 下载 [require.js](https://requirejs.org/docs/start.html), 并放到项目目录中。以下方式将 yixue.js 中的 `class GanZhi` 设为当前网页的一个全局函数。其它函数就可以调用。 \n\n```html\n\n\n \n \n 易学包 \n \n \n 易学包测试
\n \n\n
\n gua
\n \n\n```\n\n6. 在 Node.js 中调用更简单\n\n1. ```javascript\n const {Gua, GanZhi, TYDate} = require(\"./web/yixue\")\n ```\n\n\n\n\n\n\n\n\n需要更详细代码请下载项目:\n\n[演示项目地址](https://gitee.com/maiernte/typescript-build-js-package)","source":"_posts/IT/skill/用Typescript编写JS函数库.md","raw":"---\ntitle: 用TypeScript编写JS函数库\ndate: 2019-08-16 22:15:28\nurlname: TypeScript-build-JS-Package\ntoc: true\ntags: [工具]\ncategories: [IT, skill]\n---\n\n本文具体介绍如何用TypeScript编写JavaScript库文件,以及制作npm工具包。主要参考下面两篇文章。我也省却一步步解释,只罗列相关的代码和我遇到的坑。想知道代码含义的请参阅原帖\n\n- [TypeScript第一步](http://imzc.me/dev/2016/11/22/getting-start-with-typescript/)\n- [如何使用Gulp构建TypeScript](https://www.gowhich.com/blog/869)\n- [从Javascript迁移到Typescript](https://zhongsp.gitbooks.io/typescript-handbook/doc/handbook/tutorials/Migrating%20from%20JavaScript.html) *只看相关的那一章就可以*\n\n\n\n\n# 安装 TypeScript\n\n终端执行 `npm install typescript -g` \n\n```sh\n$ tsc --version\nVersion 3.5.3\n```\n\n# 创建工程\n\n1. 初始化项目\n\n```sh\nmkdir typescript_demo && cd typescript_demo\nnpm init -y # 初始化项目,会生成 package.json 文件\n```\n\n2. 安装Gulp, 并在项目根目录下新建 `gulpfile.js` 文件\n\n```sh\nnpm install gulp-cli gulp typescript gulp-typescript --save-dev\n```\n\n3. 在命令行中执行 `tsc --init` 可以在当前目录中快速创建一个 tsconfig.json 文件。\n\n4. 安装 Browserify :目的是把所有**ts**文件打包成一个单一的**js**文件。\n\n```sh\nnpm install browserify tsify vinyl-source-stream --save-dev\n```\n\n5. Watchify、Babel和Uglify :目的是让编译器保持运行,无需每次修改手动编译。\n\nnpm install watchify gulp-util --save-dev\n\n```sh\nnpm install watchify gulp-util --save-dev\n```\n\n6. 安装 Uglify : 将输出文件 bundle.js 压缩\n\n```sh\nnpm install gulp-uglify vinyl-buffer gulp-sourcemaps --save-dev\n```\n\n7. Babel :允许按新标准**ES6**编写代码,而最终会编译**es05**标准,兼容低版本浏览器。\n\n```sh\nnpm install babelify babel-core babel-preset-env vinyl-buffer gulp-sourcemaps --save-dev\n```\n\n:bangbang: 安装中出现了错误, 显示babelify 版本太低. 将命令改为 `npm install babelify@8` 就能顺利进行下去了.\n\n\n\n\n8. 编写主文件 `src/main.ts` (*名字随便起*),在 `package.json` 中改为 $ \"main\": \"./dist/main.js\", $。创建两文件夹 `src` 和 `dist`,分别放置原文件和编译后的文件。为演示调用,再新建一个 `src/greet.ts` 文件\n\n ```typescript\n # src/greet.ts\n declare function require(path: string): any;\n \n export function sayHello(name: string) {\n console.log(ln)\n return `Hallo von ${name}`;\n }\n ```\n\n ```typescript\n # src/main.ts\n import { sayHello } from \"./greet\";\n \n function showHello(idName: string, name: string) {\n const elt = document.getElementById(idName);\n elt.innerText = sayHello(name);\n }\n \n showHello(\"greeting\", \"TypeScript\");\n ```\n\n9. 新建 `src/index.html` \n\n```html\n\n\n \n \n Hello World! \n \n \n Loading ...
\n \n \n\n```\n\n10. 修改 `gulpfile.js` \n\n```javascript\nconst gulp = require(\"gulp\");\nconst browserify = require(\"browserify\");\nconst source = require('vinyl-source-stream');\nconst tsify = require(\"tsify\");\nconst watchify = require(\"watchify\");\nconst gutil = require(\"gulp-util\");\nconst uglify = require('gulp-uglify');\nconst sourcemaps = require('gulp-sourcemaps');\nconst buffer = require('vinyl-buffer');\nconst paths = {\n pages: ['src/*.html']\n};\n\nconst watchedBrowserify = watchify(browserify({\n basedir: '.',\n debug: true,\n entries: ['src/main.ts'],\n cache: {},\n packageCache: {}\n}).plugin(tsify));\n\ngulp.task(\"copy-html\", function () {\n return gulp.src(paths.pages)\n .pipe(gulp.dest(\"dist\"));\n})\n\nfunction browserifyBundle() {\n return watchedBrowserify\n .transform('babelify', {\n presets: ['env'],\n extensions: ['.ts']\n })\n .bundle()\n .pipe(source('bundle.js'))\n .pipe(buffer())\n .pipe(sourcemaps.init({\n loadMaps: true\n }))\n .pipe(uglify())\n .pipe(sourcemaps.write('./'))\n .pipe(gulp.dest(\"dist\"));\n}\n\ngulp.task(\"browserify\", function () {\n return browserifyBundle();\n})\n\ngulp.task(\"default\", gulp.series('copy-html', 'browserify'));\nwatchedBrowserify.on(\"update\", browserifyBundle);\nwatchedBrowserify.on(\"log\", gutil.log);\n```\n11. 修改 tsconfig.json\n\n ```json\n {\n \"files\": [\n \"src/*.ts\"\n ],\n \"compilerOptions\": {\n \"noImplicitAny\": true,\n \"target\": \"es2015\"\n }\n }\n ```\n\n12. 编译并在浏览器打开 `dist/index.html`\n\n```sh\n# 通过gulp编译代码\nnpx gulp\n```\n\n> 显示器中会显示 “Hello from TypeScript” 字样。\n\n\n\n我们看到 main.ts 调用了 greet.ts 的函数, 并生成一个 bundle.js 文件, 在 index.html 中被加载使用. \n\n\n\n# 调用JavaScript文件\n\n为了使用以前已经存在的JavaScript库文件, 在 src 下新建一个文件夹 libs 用来存放第三方JavaScript. \n\n> projectRoot\n> ├── src/\n> │ ├── libs/\n> │ │ ├── lunar.js\n> │ ├── main.ts\n> │ └── greet.ts\n> │ \n> ├── dist/\n> └── tsconfig.json\n\n```javascript\n# src/libs/lunar.js\n\nLunar = {\n Name: \"Dick\",\n sayHallo:function(){\n return 'i am Lunar';\n }\n} \n\nfunction Ab () {\n this.a = 1\n }\n \nAb.prototype.seta = function (num) {\n this.a = num\n }\n \nAb.prototype.geta = function (num) {\n return this.a\n }\n \nexports.Ab = Ab\nexports.Lunar = Lunar;\n\n```\n\n修改 `greet.ts` 文件, 调用 `src/libs/lunar.js` 中的函数和对象\n\n```typescript\ndeclare function require(path: string): any;\n\nvar ln = require(\"./libs/lunar\");\n\nexport function sayHello(name: string) {\n \tln.Ab = 10\n console.log(ln.Ab)\n return `Hallo von ${name}, ${ln.Lunar.Name}`;\n}\n```\n\nTypeScript使用`tsconfig.json`文件管理工程配置,例如想包含哪些文件和进行哪些检查。\n\n```json\n{\n \"compilerOptions\": {\n \t\t\"noImplicitAny\": true, \n //\"outDir\": \"./dist\", //不需要. gulpfile.js 已经处理过了\n \"allowJs\": true,\n \"target\": \"es2015\",\n \"esModuleInterop\": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */\n },\n \"files\": [\n \"src/*.ts\"\n ],\n \"include\": [\n \"./src/**/*.js\"\n ]\n}\n```\n\n\n\n我们看到网页显示 *Hallo von TypeScript, Dick*, 打开chrome的开发者工具, 看到console 中写出 `10`. \n\n\n\n# Unit-Test\n\n[参考:Unit testing node applications with Typescript -- using nocha and chai](https://journal.artfuldev.com/unit-testing-node-applications-with-typescript-using-mocha-and-chai-384ef05f32b2)\n\n1. 安装测试包文件\n\n```sh\nnpm install chai mocha ts-node @types/chai @types/mocha --save-dev\n```\n\n2. 新建一个test目录专门存放测试文件,并新建一个测试文件 `test/ganzhi.spec.ts`\n\n```typescript\nimport { expect } from 'chai';\nimport 'mocha';\n\ndescribe('干支 function', () => {\n\n it('should return hello world', () => {\n const result = 'Hello world!';\n expect(result).to.equal('Hello world!');\n });\n \n });\n```\n\n3. 在 `package.json` 文件中配置测试参数和路径\n\n```json\n{\n \"scripts\": {\n \"test\": \"mocha -r ts-node/register test/**/*.spec.ts\"\n }\n}\n```\n\n4. 运行测试\n\n> $ npm run test\n>\n> \\> huahets@1.0.0 test /Users/mai/Projects/huahets\n>\n> \\> mocha -r ts-node/register test/**/*.spec.ts\n>\n> 干支 function\n>\n> ✓ should return hello world\n>\n> 1 passing (19ms)\n\n\n\n## 错误处理\n\n假设有以下函数调用中`LandMaps.FindCity`会给出一个异常。\n\n```typescript\nvar result = LandMaps.FindCity(\"xx省\", \"xx市\");\nexpect(LandMaps.FindCity.bind(LandMaps, \"err\", \"\")).throw(\"Error Message\") # 或者\nexpect(LandMaps.FindCity.bind(LandMaps, \"err\", \"\")).throw(new Error(\"Error Message\"))\n```\n\n\n\n# 打包\n\n[用 TypeScript 编写函数库](https://www.xuejiayuan.net/blog/27db473912f642d8a5fa0e32af3bb600)\n\n[require.js 官方文档](https://requirejs.org/docs/start.html)\n\n通过上述方式生成的 bundle.js 文件不能被浏览器直接使用。参考上面两个网页提供的方式,可以生成给浏览器用的单一js文件。\n\n1. 新建一个入口文件,将所有接口都连接起来,并统一导出\n\n ```typescript\n # yixue.ts\n import {TYDate, TYLunar} from \"./tylunar\";\n import {GanZhi} from \"./ganzhi\";\n import {ShenSha} from \"./shensha\";\n import {WuXing, FetchWuXing} from \"./wuxing\";\n import {Gua} from './gua'\n import {LandMaps} from \"./landmaps\"\n \n exports.GanZhi = GanZhi\n exports.TYDate = TYDate\n exports.Gua = Gua\n ```\n2. 设置`tsconfig.json`让编译后的文件导出到`dist/cmjs`目录\n\n```json\n{\n \"compilerOptions\": {\n \"target\": \"es5\",\n \"module\": \"commonjs\",\n \"moduleResolution\": \"node\",\n \"outDir\": \"dist/cmjs\",\n \"rootDir\": \"./src\",\n \"declaration\": true,\n \"sourceMap\": true,\n \"lib\": [\"dom\", \"es6\"]\n }\n}\n```\n\n3. 通过命令 tsc 编译\n\n```sh\ntsc -P tsconfig.json\n```\n\n也可以在 package.json 中设定,然后运行 `npm run build:cmjs` 编译。编译后的 yixue.js 文件就是统一入口。\n\n4. yi xue.js 实际就是个目录,我需要将其打包成一个单一文件。 安装 browserify , \n\n```sh\nbrowserify dist/cmjs/base/yixue.js --standalone huahejs -o dist/web/yixue.js\n```\n\n5. 下载 [require.js](https://requirejs.org/docs/start.html), 并放到项目目录中。以下方式将 yixue.js 中的 `class GanZhi` 设为当前网页的一个全局函数。其它函数就可以调用。 \n\n```html\n\n\n \n \n 易学包 \n \n \n 易学包测试
\n \n\n
\n gua
\n \n\n```\n\n6. 在 Node.js 中调用更简单\n\n1. ```javascript\n const {Gua, GanZhi, TYDate} = require(\"./web/yixue\")\n ```\n\n\n\n\n\n\n\n\n需要更详细代码请下载项目:\n\n[演示项目地址](https://gitee.com/maiernte/typescript-build-js-package)","slug":"IT/skill/用Typescript编写JS函数库","published":1,"updated":"2019-08-24T11:30:40.000Z","_id":"cka1y599p004j4huucopvbcs0","comments":1,"layout":"post","photos":[],"link":"","content":"本文具体介绍如何用TypeScript编写JavaScript库文件,以及制作npm工具包。主要参考下面两篇文章。我也省却一步步解释,只罗列相关的代码和我遇到的坑。想知道代码含义的请参阅原帖
\n\n \n安装 TypeScript \n终端执行 npm install typescript -g
\n1 2 $ tsc --version Version 3.5.3
\n创建工程 \n\n初始化项目 \n \n1 2 mkdir typescript_demo && cd typescript_demo npm init -y
\n\n安装Gulp, 并在项目根目录下新建 gulpfile.js
文件 \n \n1 npm install gulp-cli gulp typescript gulp-typescript --save-dev
\n\n\n在命令行中执行 tsc --init
可以在当前目录中快速创建一个 tsconfig.json 文件。
\n \n\n安装 Browserify :目的是把所有ts 文件打包成一个单一的js 文件。
\n \n \n1 npm install browserify tsify vinyl-source-stream --save-dev
\n\nWatchify、Babel和Uglify :目的是让编译器保持运行,无需每次修改手动编译。 \n \nnpm install watchify gulp-util --save-dev
\n1 npm install watchify gulp-util --save-dev
\n\n安装 Uglify : 将输出文件 bundle.js 压缩 \n \n1 npm install gulp-uglify vinyl-buffer gulp-sourcemaps --save-dev
\n\nBabel :允许按新标准ES6 编写代码,而最终会编译es05 标准,兼容低版本浏览器。 \n \n1 npm install babelify babel-core babel-preset-env vinyl-buffer gulp-sourcemaps --save-dev
\n:bangbang: 安装中出现了错误, 显示babelify 版本太低. 将命令改为 npm install babelify@8
就能顺利进行下去了.
\n\n\n编写主文件 src/main.ts
(名字随便起 ),在 package.json
中改为 $ “main”: “./dist/main.js”, $。创建两文件夹 src
和 dist
,分别放置原文件和编译后的文件。为演示调用,再新建一个 src/greet.ts
文件
\n1 2 3 4 5 6 7 # src/greet.ts declare function require (path: string ): any ;export function sayHello (name: string ) { console .log(ln) return `Hallo von ${name} ` ; }
\n1 2 3 4 5 6 7 8 9 # src/main.ts import { sayHello } from \"./greet\" ;function showHello (idName: string , name: string ) { const elt = document .getElementById(idName); elt.innerText = sayHello(name); } showHello(\"greeting\" , \"TypeScript\" );
\n \n\n新建 src/index.html
\n \n \n1 2 3 4 5 6 7 8 9 10 11 <!DOCTYPE html> <html > <head > <meta charset =\"UTF-8\" /> <title > Hello World!</title > </head > <body > <p id =\"greeting\" > Loading ...</p > <script src =\"bundle.js\" > </script > </body > </html >
\n\n修改 gulpfile.js
\n \n1 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 const gulp = require (\"gulp\" );const browserify = require (\"browserify\" );const source = require ('vinyl-source-stream' );const tsify = require (\"tsify\" );const watchify = require (\"watchify\" );const gutil = require (\"gulp-util\" );const uglify = require ('gulp-uglify' );const sourcemaps = require ('gulp-sourcemaps' );const buffer = require ('vinyl-buffer' );const paths = { pages: ['src/*.html' ] }; const watchedBrowserify = watchify(browserify({ basedir: '.' , debug: true , entries: ['src/main.ts' ], cache: {}, packageCache: {} }).plugin(tsify)); gulp.task(\"copy-html\" , function ( ) { return gulp.src(paths.pages) .pipe(gulp.dest(\"dist\" )); }) function browserifyBundle ( ) { return watchedBrowserify .transform('babelify' , { presets: ['env' ], extensions: ['.ts' ] }) .bundle() .pipe(source('bundle.js' )) .pipe(buffer()) .pipe(sourcemaps.init({ loadMaps: true })) .pipe(uglify()) .pipe(sourcemaps.write('./' )) .pipe(gulp.dest(\"dist\" )); } gulp.task(\"browserify\" , function ( ) { return browserifyBundle(); }) gulp.task(\"default\" , gulp.series('copy-html' , 'browserify' )); watchedBrowserify.on(\"update\" , browserifyBundle); watchedBrowserify.on(\"log\" , gutil.log);
\n\n\n修改 tsconfig.json
\n1 2 3 4 5 6 7 8 9 { \"files\" : [ \"src/*.ts\" ], \"compilerOptions\" : { \"noImplicitAny\" : true , \"target\" : \"es2015\" } }
\n \n\n编译并在浏览器打开 dist/index.html
\n \n \n \n\n显示器中会显示 “Hello from TypeScript” 字样。
\n \n我们看到 main.ts 调用了 greet.ts 的函数, 并生成一个 bundle.js 文件, 在 index.html 中被加载使用.
\n调用JavaScript文件 \n为了使用以前已经存在的JavaScript库文件, 在 src 下新建一个文件夹 libs 用来存放第三方JavaScript.
\n\nprojectRoot \n├── src/ \n│ ├── libs/ \n│ │ ├── lunar.js \n│ ├── main.ts \n│ └── greet.ts \n│ \n├── dist/ \n└── tsconfig.json
\n \n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 # src/libs/lunar.js Lunar = { Name: \"Dick\" , sayHallo:function ( ) { return 'i am Lunar' ; } } function Ab ( ) { this .a = 1 } Ab.prototype.seta = function (num ) { this .a = num } Ab.prototype.geta = function (num ) { return this .a } exports.Ab = Ab exports.Lunar = Lunar;
\n修改 greet.ts
文件, 调用 src/libs/lunar.js
中的函数和对象
\n1 2 3 4 5 6 7 8 9 declare function require (path: string ): any ;var ln = require (\"./libs/lunar\" );export function sayHello (name: string ) { \tln.Ab = 10 console .log(ln.Ab) return `Hallo von ${name} , ${ln.Lunar.Name} ` ; }
\nTypeScript使用tsconfig.json
文件管理工程配置,例如想包含哪些文件和进行哪些检查。
\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 { \"compilerOptions\" : { \t\t\"noImplicitAny\" : true , //\"outDir\": \"./dist\", //不需要. gulpfile.js 已经处理过了 \"allowJs\": true, \"target\": \"es2015\", \"esModuleInterop\": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ }, \"files\": [ \"src/*.ts\" ], \"include\": [ \"./src/**/*.js\" ] }
\n我们看到网页显示 Hallo von TypeScript, Dick , 打开chrome的开发者工具, 看到console 中写出 10
.
\nUnit-Test \n参考:Unit testing node applications with Typescript – using nocha and chai
\n\n安装测试包文件 \n \n1 npm install chai mocha ts-node @types/chai @types/mocha --save-dev
\n\n新建一个test目录专门存放测试文件,并新建一个测试文件 test/ganzhi.spec.ts
\n \n1 2 3 4 5 6 7 8 9 10 11 import { expect } from 'chai' ;import 'mocha' ;describe('干支 function' , () => { it('should return hello world' , () => { const result = 'Hello world!' ; expect(result).to.equal('Hello world!' ); }); });
\n\n在 package.json
文件中配置测试参数和路径 \n \n1 2 3 4 5 { \"scripts\" : { \"test\" : \"mocha -r ts-node/register test/**/*.spec.ts\" } }
\n\n运行测试 \n \n\n$ npm run test
\n> huahets@1.0.0 test /Users/mai/Projects/huahets
\n> mocha -r ts-node/register test/**/*.spec.ts
\n干支 function
\n ✓ should return hello world
\n1 passing (19ms)
\n \n错误处理 \n假设有以下函数调用中LandMaps.FindCity
会给出一个异常。
\n1 2 3 var result = LandMaps.FindCity(\"xx省\" , \"xx市\" );expect(LandMaps.FindCity.bind(LandMaps, \"err\" , \"\" )).throw(\"Error Message\" ) # 或者 expect(LandMaps.FindCity.bind(LandMaps, \"err\" , \"\" )).throw(new Error (\"Error Message\" ))
\n打包 \n用 TypeScript 编写函数库
\nrequire.js 官方文档
\n通过上述方式生成的 bundle.js 文件不能被浏览器直接使用。参考上面两个网页提供的方式,可以生成给浏览器用的单一js文件。
\n\n新建一个入口文件,将所有接口都连接起来,并统一导出 \n \n 1 2 3 4 5 6 7 8 9 10 11 # yixue.ts import {TYDate, TYLunar} from \"./tylunar\" ;import {GanZhi} from \"./ganzhi\" ;import {ShenSha} from \"./shensha\" ;import {WuXing, FetchWuXing} from \"./wuxing\" ;import {Gua} from './gua' import {LandMaps} from \"./landmaps\" exports.GanZhi = GanZhi exports.TYDate = TYDate exports.Gua = Gua
\n\n设置tsconfig.json
让编译后的文件导出到dist/cmjs
目录 \n \n1 2 3 4 5 6 7 8 9 10 11 12 { \"compilerOptions\" : { \"target\" : \"es5\" , \"module\" : \"commonjs\" , \"moduleResolution\" : \"node\" , \"outDir\" : \"dist/cmjs\" , \"rootDir\" : \"./src\" , \"declaration\" : true , \"sourceMap\" : true , \"lib\" : [\"dom\" , \"es6\" ] } }
\n\n通过命令 tsc 编译 \n \n \n也可以在 package.json 中设定,然后运行 npm run build:cmjs
编译。编译后的 yixue.js 文件就是统一入口。
\n\nyi xue.js 实际就是个目录,我需要将其打包成一个单一文件。 安装 browserify , \n \n1 browserify dist/cmjs/base/yixue.js --standalone huahejs -o dist/web/yixue.js
\n\n下载 require.js , 并放到项目目录中。以下方式将 yixue.js 中的 class GanZhi
设为当前网页的一个全局函数。其它函数就可以调用。 \n \n1 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 <!DOCTYPE html> <html > <head > <meta charset =\"UTF-8\" /> <title > 易学包</title > <script type =\"text/javascript\" src =\"libs/require.js\" > </script > <body > <p id =\"greeting\" > 易学包测试</p > <script > var newGanZhi requirejs([\"web/yixue\" ], function (yixue ) { console .log(yixue) newGanZhi = function (arg ) { return new yixue.GanZhi(arg) } init() }); function init ( ) { console .log(\"init will be called\" ) var ele = document .getElementById(\"gz1\" ) var gz = newGanZhi(1 ) ele.innerText = gz.Name } </script > <div id =\"gz1\" > </div > <div name =\"gua\" > gua</div > </body > </html >
\n\n\n在 Node.js 中调用更简单
\n \n\n1 const {Gua, GanZhi, TYDate} = require (\"./web/yixue\" )
\n \n \n需要更详细代码请下载项目:
\n演示项目地址
\n","site":{"data":{}},"excerpt":"本文具体介绍如何用TypeScript编写JavaScript库文件,以及制作npm工具包。主要参考下面两篇文章。我也省却一步步解释,只罗列相关的代码和我遇到的坑。想知道代码含义的请参阅原帖
\n","more":"安装 TypeScript \n终端执行 npm install typescript -g
\n\n创建工程 \n\n初始化项目 \n \n\n\n安装Gulp, 并在项目根目录下新建 gulpfile.js
文件 \n \n\n\n\n在命令行中执行 tsc --init
可以在当前目录中快速创建一个 tsconfig.json 文件。
\n \n\n安装 Browserify :目的是把所有ts 文件打包成一个单一的js 文件。
\n \n \n\n\nWatchify、Babel和Uglify :目的是让编译器保持运行,无需每次修改手动编译。 \n \nnpm install watchify gulp-util --save-dev
\n\n\n安装 Uglify : 将输出文件 bundle.js 压缩 \n \n\n\nBabel :允许按新标准ES6 编写代码,而最终会编译es05 标准,兼容低版本浏览器。 \n \n\n:bangbang: 安装中出现了错误, 显示babelify 版本太低. 将命令改为 npm install babelify@8
就能顺利进行下去了.
\n\n\n编写主文件 src/main.ts
(名字随便起 ),在 package.json
中改为 $ “main”: “./dist/main.js”, $。创建两文件夹 src
和 dist
,分别放置原文件和编译后的文件。为演示调用,再新建一个 src/greet.ts
文件
\n\n\n \n\n新建 src/index.html
\n \n \n\n\n修改 gulpfile.js
\n \n\n\n\n修改 tsconfig.json
\n\n \n\n编译并在浏览器打开 dist/index.html
\n \n \n\n\n显示器中会显示 “Hello from TypeScript” 字样。
\n \n我们看到 main.ts 调用了 greet.ts 的函数, 并生成一个 bundle.js 文件, 在 index.html 中被加载使用.
\n调用JavaScript文件 \n为了使用以前已经存在的JavaScript库文件, 在 src 下新建一个文件夹 libs 用来存放第三方JavaScript.
\n\nprojectRoot \n├── src/ \n│ ├── libs/ \n│ │ ├── lunar.js \n│ ├── main.ts \n│ └── greet.ts \n│ \n├── dist/ \n└── tsconfig.json
\n \n\n修改 greet.ts
文件, 调用 src/libs/lunar.js
中的函数和对象
\n\nTypeScript使用tsconfig.json
文件管理工程配置,例如想包含哪些文件和进行哪些检查。
\n\n我们看到网页显示 Hallo von TypeScript, Dick , 打开chrome的开发者工具, 看到console 中写出 10
.
\nUnit-Test \n参考:Unit testing node applications with Typescript – using nocha and chai
\n\n安装测试包文件 \n \n\n\n新建一个test目录专门存放测试文件,并新建一个测试文件 test/ganzhi.spec.ts
\n \n\n\n在 package.json
文件中配置测试参数和路径 \n \n\n\n运行测试 \n \n\n$ npm run test
\n> huahets@1.0.0 test /Users/mai/Projects/huahets
\n> mocha -r ts-node/register test/**/*.spec.ts
\n干支 function
\n ✓ should return hello world
\n1 passing (19ms)
\n \n错误处理 \n假设有以下函数调用中LandMaps.FindCity
会给出一个异常。
\n\n打包 \n用 TypeScript 编写函数库
\nrequire.js 官方文档
\n通过上述方式生成的 bundle.js 文件不能被浏览器直接使用。参考上面两个网页提供的方式,可以生成给浏览器用的单一js文件。
\n\n新建一个入口文件,将所有接口都连接起来,并统一导出 \n \n \n\n设置tsconfig.json
让编译后的文件导出到dist/cmjs
目录 \n \n\n\n通过命令 tsc 编译 \n \n\n也可以在 package.json 中设定,然后运行 npm run build:cmjs
编译。编译后的 yixue.js 文件就是统一入口。
\n\nyi xue.js 实际就是个目录,我需要将其打包成一个单一文件。 安装 browserify , \n \n\n\n下载 require.js , 并放到项目目录中。以下方式将 yixue.js 中的 class GanZhi
设为当前网页的一个全局函数。其它函数就可以调用。 \n \n\n\n\n在 Node.js 中调用更简单
\n \n\n\n \n \n需要更详细代码请下载项目:
\n演示项目地址
"},{"title":"MathJax用于易学领域","date":"2019-08-30T08:15:28.000Z","urlname":"mathjax-yixue-usage","toc":true,"mathjax":true,"_content":"\n关于利用 `MathJax` 和 `Katex` 数学公式解释器,实现易学上排六爻盘和八字盘个功能。今天实现了易学上的核心功能。有望将来能添加更多的函数,以便利各位同门以及广大易友。\n\n\n\n### 效果与演示\n\nVIDEO \n无法观看油管的朋友请移步B站:[使用MathJax渲染六爻和八字盘](https://www.bilibili.com/video/av66317810/)\n\n\n\n\n### 安装和使用 \n\n首先,你需要一个支持 Markdown (简称MD) 语言格式的文本编辑器。如果不知道什么是MD的话,请参阅以下介绍:\n\n- [Markdown介绍及使用教程](https://www.jianshu.com/p/7771794c88a1)\n\n- [Markdown - 简单的世界](https://wizardforcel.gitbooks.io/markdown-simple-world/index.html)\n\n- [认识与入门 Markdown](https://sspai.com/post/25137)\n\n\n\nMarkdown 语言**简约而优美**,可以自由转换成pdf、word、Html 等等各种其它格式的文本。可以推送到博客、微信公众号等等。虽然算卦是一个传统的行业,我们仍然不宜**固步自封**。MD语言支持MathJax和Katex书写Latex数学公式,可以写出非常漂亮的数学、物理、化学方面的公式。正式的科技刊物都要求用Latex格式。\n\n\n\n这个易学解决方案是对 MathJax 进行扩展,加入指定的易学公式,让 MathJax 解释器去完成公式渲染。它并不是一个独立的程序。需要构建在已有的MD文本编辑器之上。我使用一个文件夹存放所有的关于易学方面的MD文件,并将这个文件夹同步到 [坚果云](https://www.jianguoyun.com/#/),这样就可以实现多台电脑和移动端之间的同步,而不太需要一个独立的易学软件。甚至可以将MD文件导出为HTML文件,放到我的HEXO博客上(您正在阅读的这篇博文即是例子)。\n\n\n\n理论上所有支持Markdown语言和MathJax的文本编辑器,都可以改装。改装过程需要两段代码和一个库文件。\n\n#### 文本编辑器\n\n##### Typora \n\nTypora 是我个人最钟爱的MD编辑器,因此这里着重介绍。如果你喜欢用别的MD编辑器,比如iAWrte等,理论上可以用同样的方式改装。(无法百分百保证) 有需要的朋友可以私下联系我。\n\n最新的安装教程请参考[华鹤易学平台文档](https://maiernte.gitee.io/huahedocument/chapter6/libinstall.html)\n\n##### VSCode\n\n同样请移步[华鹤易学平台文档](https://maiernte.gitee.io/huahedocument/chapter6/libinstall.html)。那里有详细描述。\n\n\n\n#### Hexo博客\n\n🔔 注意:首先要检查自己的 Hexo 博客使用的渲染器是否默认开启了Katex或者MathJax数学插件。如果有的话需要卸载或者禁用数学插件,如果不能禁用,就必须更换Markdown渲染器。\n\n> 因为系统使用的数学插件会在网页生成之前就改动数学表达,这样无法使用我提供给的函数库。我提供给博客的方案是在浏览网页的时候,即时渲染易学公式。\n\n比如我之前用了 \"hexo-renderer-markdown-it-plus\" 渲染器就是强制使用 Katex 数学渲染的。\n\n```shell\nnpm un hexo-renderer-markdown-it-plus --save // 卸载\nnpm i hexo-renderer-markdown-it --save // 更换\n```\n\n然后将下列代码添加到文件模版就可以了。使用 swig 模版的是在 `/layout/_custom/header.swig` 或者 `/layout/index.swig` 。而使用 ejs 模版的是文件 `/layout/layout.ejs`\n\n```html\n\n\n \n\n\n\n\n\n\n\n```\n\n> 注意搜索 _config.yml 文件,\"math\", \"katex\", \"mathjax\" 等字样,发现有的话把他们禁用。\n\n\n\n#### Gitbook\n\n最新的安装教程请参考[华鹤易学平台文档](https://maiernte.gitee.io/huahedocument/chapter6/libinstall.html)\n\n\n\n### API 参数\n\n使用易学函数库非常简单,在经过改装的Markdown编辑器中,输入易学公式,并用两个 `$` 符号将公式前后围起来即可。MD语言一般默认两个 `$` 符号之间的文本是数学公式,它会调用MathJax对公式进行渲染。否则,它会认为这是普通文本,而不会做任何动作。\n\n#### 易学通用\n\n**命令:纳音** `\\nayin{干支名称}`\n\n【干支名称】 :就是甲子、己卯等六十甲子。\n\n例子1:`\\nayin{戊午}` --> $\\nayin{戊午}$\n\n**命令:干支日历** `\\timegz{时间参数}{年月日}`\n\n【时间参数】 :例如 2020-02-21。\n\n【年月日】 :省略时默认为`111`,即显示年月日。`0`表示不显示,`1`表示显示。\n\n例子1:`\\timegz{2020-02-21}` --> $\\timegz{2020-02-21}$\n\n例子2:`\\timegz{2020-02-21}{011}` --> $\\timegz{2020-02-21}{011}$\n\n\n#### 六爻\n\n**命令:爻符** `\\yao{爻名}`\n\n【爻名】:laoyin, laoyang,shaoyin,shaoyang, x, o, =, -, 交,重,阴,阳,0,1,2,3\n\n例子2:`\\yao{x}` --> $\\yao{x}$\n\n例子3:`\\yao{shaoyin}` --> $\\yao{shaoyin}$\n\n例子4:`\\yao{重}` --> $\\yao{重}$\n\n\n\n **命令:六爻排盘** `\\paigua{时令}{卦辞}{标识}`\n\n其中 【时令】、【卦辞】这两个参数是必须的,**【标识】**参数可以省略。\n\n【时令】允许的格式为:“1980-1-3 08:15”、“2019年3月4日”、“申月戊寅日”\n\n【卦辞】允许的格式为:“解之师”、“离为火”、“--==x-”、“0121100”、“阴阳阴交阴阳”\n\n【标识】由三部分组成:ID号、简排、字符大小。格式为:`guadi/s/5`\n\n- 「ID号」:随便一串字符,空白则默认为“gua1”。:x:不允许只有数字,因为会与参数「字符大小」混淆。如果一个文本出现多个六爻卦,则每个卦都需要指定一个ID号。否则下面的命令[卦爻细节](#guayao)不知道具体指向哪一个卦本。\n- 「简排」:只允许`s` 和 `l`两个英文字符的其中一个。`s` 表示只显示短名,如“妻财”显示为“财”,“青龙”显示为“龙”。`l` 则显示完整名称。留白则按照用户全局设定来显示。(参阅[用户设定](#code2))\n- 「字符大小」:允许 0 - 9 档。数字越大文字越大。默认大小为`5`或者用户的[全局设定](#code2)。\n\n例子5: `$\\paigua{1978年7月1日}{101201}{gua1}$` 效果\n$$\\paigua{1978年7月1日}{101201}{gua1}$$\n\n:pencil2: 如果文章很长,需要在指定位置重新显示一遍卦本,则可以使用重排命令。即让【时令】和【卦辞】两个参数留白,只给出【ID号】。如 `\\paigua{}{}{gua1}` 。留白的参数,仍然需要用大括号括起来,否则解释器会出错。\n\n\n\n **命令:卦爻细节** `\\guayao{标识}{位置}`\n\n使用前提:当前文本中已经排出至少一支六爻卦。\n\n【标识】:与排盘命令的「标识」参数等同。由ID号、简排、字符大小三个部分组成。其中「ID号」标识已经存在的六爻盘。\n\n【位置】:格式为 “ben1”、“fu3”、“bian5” 等,分别表示「本卦初爻」、「伏卦3爻」、「变卦5爻」\n\n\n\n例子6:`\\guayao{gua1}{ben4}` --> $\\guayao{gua1}{ben4}$\n\n> 例子6 中给出的「ID号」为例子5中指定的ID号 “gua1”,并要求显示本卦4爻的具体信息。\n\n\n\n#### 八字\n\n **命令:八字排盘** `\\paibazi{时间}{性别}{标识}[细节]`\n\n【时间】和【性别】参数必填,【标识】和【细节】参数可选。(如果要第二次显示已有的八字盘,则【时间】和【性别】参数可留白,只给定【标识】参数中的「ID号」)\n\n【时间】:允许格式 “1980-1-3 08:15”、“2019年3月4日 6时3分” \n\n【性别】:允许格式 “m”、“f”、“男”、“女”、“乾”、“坤”、\n\n【标识】:与排盘命令的「标识」参数等同。由ID号、简排、字符大小三个部分组成。\n\n【细节】:允许“藏干”、“长生”、“纳音”这三个中的一个或者多个,也可以留白。格式为 `藏干/纳音/长生`\n\n例子7:`\\paibazi{1990年5月1日 6:45}{男}{小明/s/5}`\n\n$\\paibazi{1990年5月1日 6:45}{男}{小明/5}$\n\n例子8:重排例子7的八字盘 `\\paibazi{}{}{小明/s/5}[纳音/藏干/长生]` ,并要求显示藏干和纳音等信息。\n\n$\\paibazi{}{}{小明/s/5}[纳音/藏干/长生]$\n\n\n\n **命令:八字细节** `\\bazi{标识}{类别}[细节]`\n\n使用前提:当前文本中已经排出至少一个八字盘。\n\n【标识】:与排盘命令的「标识」参数等同。由ID号、简排、字符大小三个部分组成。其中「ID号」标识已经存在的八字命盘。\n\n【类别】:支持 “神煞”、“大运”、“流年”、“小运” 四个选项。\n\n【细节】:具体含义视【类别】而定。\n\n- 类别为「神煞」时:「细节」为 1~ 9 的数字,表示每行列数。\n- 类别为「大运」时:` 1-9 纳音/藏干/长生/神煞` 前面的数字表示第几步大运,限定 1 到 10\n- 类别为「流年」和「小运」时: `2015 - 2019 纳音/藏干/长生/神煞` 前面的数字表示年份,注意不要超过命盘的生命周期,否则会出错。「纳音/藏干/长生/神煞」可以留白,也可只显示一两项。\n\n\n\n例子9: `\\bazi{小明}{神煞}[6]` 显示小明命盘的神煞,每行6列。\n\n$\\bazi{小明}{神煞}[6]$\n\n\n\n例子10: `\\bazi{小明}{大运}[2-3 ]` 显示小明的第二到第三步大运\n\n$\\bazi{小明}{大运}[2-3]$\n\n\n\n例子11: `\\bazi{小明}{流年}[2017-2019 纳音/藏干/长生/神煞]` 显示小明的2017到2019年的流年信息。\n\n$\\bazi{小明}{流年}[2017-2019 纳音/藏干/长生/神煞]$\n\n\n\n### 未来与展望\n\n我知道这篇文章介绍的工具,并非所有人都能使用。所以在不久的将来,还是要制作一个独立易学软件,以便易友在PC端和移动端都能按照传统的方式使用。但由于时间和精力原因,我无法保证完成时间。\n\n\n\n不断完善易学函数,提供更丰富的应用细节。在用户更为广泛的MD编辑器中实现此方式。比如有道云笔记、为知笔记、印象笔记等。并争取介绍移动端(Android & iOS)实现此方式。也希望在Gitbook中实现。\n\n\n\n希望能将师父的六爻和八字讲义,『增删卜易』等著作制作成Gitbook,将精彩的卦例和名人八字建成易学数据库。这样就可以通过我的易学函数直接获取, 比如 `\\paibazi{蒋介石}`。\n\n\n\n### 附录: \n\n#### 命令列表\n\n[纳音](#nayin)\n\n[爻符](#yao)\n\n[排卦](#paigua)\n\n[卦爻细节](#guayao)\n\n[排八字](#paibazi)\n\n[八字细节](#bazi)\n\n#### 发布\n\n脚本文件的[原始路径](https://github.com/maiernte/img/raw/master/libs/bundle.js)是`https://github.com/maiernte/img/raw/master/libs/bundle.js`。因为涉及到跨域问题,要通过 [Gitkack](https://raw.githack.com/) 重链接,把上述路径输入到 Githack 的地址框,会得到「应用地址」和「开发地址」。\n\n[应用地址](https://rawcdn.githack.com/maiernte/img/bb3c42dc26b0866a142bb905d1753ac483e0a474/libs/bundle.js):\n\n`https://rawcdn.githack.com/maiernte/img/11a1bb572a6875dbf434a7fc457ea2fdd329f7db/libs/bundle.js`\n\n[开发地址](https://raw.githack.com/maiernte/img/master/libs/bundle.js):\n\n`https://raw.githack.com/maiernte/img/master/libs/bundle.js`\n\n#### 查看当前易学函数库版本\n\n在 chrome 浏览其中打开此博文,Mac 系统中按 `⌘+⌥+I` ,Windows 系统 `Ctr+⇧+I`,或者 Chrome 菜单栏调出 “开发者工具”,选择 Console 页面,即可显示当前易学库版本和时间。","source":"_posts/IT/skill/MathJax用于易学领域.md","raw":"---\ntitle: MathJax用于易学领域\ndate: 2019-08-30 10:15:28\nurlname: mathjax-yixue-usage\ntoc: true\ntags: [工具]\ncategories: [IT, skill]\nmathjax: true\n---\n\n关于利用 `MathJax` 和 `Katex` 数学公式解释器,实现易学上排六爻盘和八字盘个功能。今天实现了易学上的核心功能。有望将来能添加更多的函数,以便利各位同门以及广大易友。\n\n\n\n### 效果与演示\n\nVIDEO \n无法观看油管的朋友请移步B站:[使用MathJax渲染六爻和八字盘](https://www.bilibili.com/video/av66317810/)\n\n\n\n\n### 安装和使用 \n\n首先,你需要一个支持 Markdown (简称MD) 语言格式的文本编辑器。如果不知道什么是MD的话,请参阅以下介绍:\n\n- [Markdown介绍及使用教程](https://www.jianshu.com/p/7771794c88a1)\n\n- [Markdown - 简单的世界](https://wizardforcel.gitbooks.io/markdown-simple-world/index.html)\n\n- [认识与入门 Markdown](https://sspai.com/post/25137)\n\n\n\nMarkdown 语言**简约而优美**,可以自由转换成pdf、word、Html 等等各种其它格式的文本。可以推送到博客、微信公众号等等。虽然算卦是一个传统的行业,我们仍然不宜**固步自封**。MD语言支持MathJax和Katex书写Latex数学公式,可以写出非常漂亮的数学、物理、化学方面的公式。正式的科技刊物都要求用Latex格式。\n\n\n\n这个易学解决方案是对 MathJax 进行扩展,加入指定的易学公式,让 MathJax 解释器去完成公式渲染。它并不是一个独立的程序。需要构建在已有的MD文本编辑器之上。我使用一个文件夹存放所有的关于易学方面的MD文件,并将这个文件夹同步到 [坚果云](https://www.jianguoyun.com/#/),这样就可以实现多台电脑和移动端之间的同步,而不太需要一个独立的易学软件。甚至可以将MD文件导出为HTML文件,放到我的HEXO博客上(您正在阅读的这篇博文即是例子)。\n\n\n\n理论上所有支持Markdown语言和MathJax的文本编辑器,都可以改装。改装过程需要两段代码和一个库文件。\n\n#### 文本编辑器\n\n##### Typora \n\nTypora 是我个人最钟爱的MD编辑器,因此这里着重介绍。如果你喜欢用别的MD编辑器,比如iAWrte等,理论上可以用同样的方式改装。(无法百分百保证) 有需要的朋友可以私下联系我。\n\n最新的安装教程请参考[华鹤易学平台文档](https://maiernte.gitee.io/huahedocument/chapter6/libinstall.html)\n\n##### VSCode\n\n同样请移步[华鹤易学平台文档](https://maiernte.gitee.io/huahedocument/chapter6/libinstall.html)。那里有详细描述。\n\n\n\n#### Hexo博客\n\n🔔 注意:首先要检查自己的 Hexo 博客使用的渲染器是否默认开启了Katex或者MathJax数学插件。如果有的话需要卸载或者禁用数学插件,如果不能禁用,就必须更换Markdown渲染器。\n\n> 因为系统使用的数学插件会在网页生成之前就改动数学表达,这样无法使用我提供给的函数库。我提供给博客的方案是在浏览网页的时候,即时渲染易学公式。\n\n比如我之前用了 \"hexo-renderer-markdown-it-plus\" 渲染器就是强制使用 Katex 数学渲染的。\n\n```shell\nnpm un hexo-renderer-markdown-it-plus --save // 卸载\nnpm i hexo-renderer-markdown-it --save // 更换\n```\n\n然后将下列代码添加到文件模版就可以了。使用 swig 模版的是在 `/layout/_custom/header.swig` 或者 `/layout/index.swig` 。而使用 ejs 模版的是文件 `/layout/layout.ejs`\n\n```html\n\n\n \n\n\n\n\n\n\n\n```\n\n> 注意搜索 _config.yml 文件,\"math\", \"katex\", \"mathjax\" 等字样,发现有的话把他们禁用。\n\n\n\n#### Gitbook\n\n最新的安装教程请参考[华鹤易学平台文档](https://maiernte.gitee.io/huahedocument/chapter6/libinstall.html)\n\n\n\n### API 参数\n\n使用易学函数库非常简单,在经过改装的Markdown编辑器中,输入易学公式,并用两个 `$` 符号将公式前后围起来即可。MD语言一般默认两个 `$` 符号之间的文本是数学公式,它会调用MathJax对公式进行渲染。否则,它会认为这是普通文本,而不会做任何动作。\n\n#### 易学通用\n\n**命令:纳音** `\\nayin{干支名称}`\n\n【干支名称】 :就是甲子、己卯等六十甲子。\n\n例子1:`\\nayin{戊午}` --> $\\nayin{戊午}$\n\n**命令:干支日历** `\\timegz{时间参数}{年月日}`\n\n【时间参数】 :例如 2020-02-21。\n\n【年月日】 :省略时默认为`111`,即显示年月日。`0`表示不显示,`1`表示显示。\n\n例子1:`\\timegz{2020-02-21}` --> $\\timegz{2020-02-21}$\n\n例子2:`\\timegz{2020-02-21}{011}` --> $\\timegz{2020-02-21}{011}$\n\n\n#### 六爻\n\n**命令:爻符** `\\yao{爻名}`\n\n【爻名】:laoyin, laoyang,shaoyin,shaoyang, x, o, =, -, 交,重,阴,阳,0,1,2,3\n\n例子2:`\\yao{x}` --> $\\yao{x}$\n\n例子3:`\\yao{shaoyin}` --> $\\yao{shaoyin}$\n\n例子4:`\\yao{重}` --> $\\yao{重}$\n\n\n\n **命令:六爻排盘** `\\paigua{时令}{卦辞}{标识}`\n\n其中 【时令】、【卦辞】这两个参数是必须的,**【标识】**参数可以省略。\n\n【时令】允许的格式为:“1980-1-3 08:15”、“2019年3月4日”、“申月戊寅日”\n\n【卦辞】允许的格式为:“解之师”、“离为火”、“--==x-”、“0121100”、“阴阳阴交阴阳”\n\n【标识】由三部分组成:ID号、简排、字符大小。格式为:`guadi/s/5`\n\n- 「ID号」:随便一串字符,空白则默认为“gua1”。:x:不允许只有数字,因为会与参数「字符大小」混淆。如果一个文本出现多个六爻卦,则每个卦都需要指定一个ID号。否则下面的命令[卦爻细节](#guayao)不知道具体指向哪一个卦本。\n- 「简排」:只允许`s` 和 `l`两个英文字符的其中一个。`s` 表示只显示短名,如“妻财”显示为“财”,“青龙”显示为“龙”。`l` 则显示完整名称。留白则按照用户全局设定来显示。(参阅[用户设定](#code2))\n- 「字符大小」:允许 0 - 9 档。数字越大文字越大。默认大小为`5`或者用户的[全局设定](#code2)。\n\n例子5: `$\\paigua{1978年7月1日}{101201}{gua1}$` 效果\n$$\\paigua{1978年7月1日}{101201}{gua1}$$\n\n:pencil2: 如果文章很长,需要在指定位置重新显示一遍卦本,则可以使用重排命令。即让【时令】和【卦辞】两个参数留白,只给出【ID号】。如 `\\paigua{}{}{gua1}` 。留白的参数,仍然需要用大括号括起来,否则解释器会出错。\n\n\n\n **命令:卦爻细节** `\\guayao{标识}{位置}`\n\n使用前提:当前文本中已经排出至少一支六爻卦。\n\n【标识】:与排盘命令的「标识」参数等同。由ID号、简排、字符大小三个部分组成。其中「ID号」标识已经存在的六爻盘。\n\n【位置】:格式为 “ben1”、“fu3”、“bian5” 等,分别表示「本卦初爻」、「伏卦3爻」、「变卦5爻」\n\n\n\n例子6:`\\guayao{gua1}{ben4}` --> $\\guayao{gua1}{ben4}$\n\n> 例子6 中给出的「ID号」为例子5中指定的ID号 “gua1”,并要求显示本卦4爻的具体信息。\n\n\n\n#### 八字\n\n **命令:八字排盘** `\\paibazi{时间}{性别}{标识}[细节]`\n\n【时间】和【性别】参数必填,【标识】和【细节】参数可选。(如果要第二次显示已有的八字盘,则【时间】和【性别】参数可留白,只给定【标识】参数中的「ID号」)\n\n【时间】:允许格式 “1980-1-3 08:15”、“2019年3月4日 6时3分” \n\n【性别】:允许格式 “m”、“f”、“男”、“女”、“乾”、“坤”、\n\n【标识】:与排盘命令的「标识」参数等同。由ID号、简排、字符大小三个部分组成。\n\n【细节】:允许“藏干”、“长生”、“纳音”这三个中的一个或者多个,也可以留白。格式为 `藏干/纳音/长生`\n\n例子7:`\\paibazi{1990年5月1日 6:45}{男}{小明/s/5}`\n\n$\\paibazi{1990年5月1日 6:45}{男}{小明/5}$\n\n例子8:重排例子7的八字盘 `\\paibazi{}{}{小明/s/5}[纳音/藏干/长生]` ,并要求显示藏干和纳音等信息。\n\n$\\paibazi{}{}{小明/s/5}[纳音/藏干/长生]$\n\n\n\n **命令:八字细节** `\\bazi{标识}{类别}[细节]`\n\n使用前提:当前文本中已经排出至少一个八字盘。\n\n【标识】:与排盘命令的「标识」参数等同。由ID号、简排、字符大小三个部分组成。其中「ID号」标识已经存在的八字命盘。\n\n【类别】:支持 “神煞”、“大运”、“流年”、“小运” 四个选项。\n\n【细节】:具体含义视【类别】而定。\n\n- 类别为「神煞」时:「细节」为 1~ 9 的数字,表示每行列数。\n- 类别为「大运」时:` 1-9 纳音/藏干/长生/神煞` 前面的数字表示第几步大运,限定 1 到 10\n- 类别为「流年」和「小运」时: `2015 - 2019 纳音/藏干/长生/神煞` 前面的数字表示年份,注意不要超过命盘的生命周期,否则会出错。「纳音/藏干/长生/神煞」可以留白,也可只显示一两项。\n\n\n\n例子9: `\\bazi{小明}{神煞}[6]` 显示小明命盘的神煞,每行6列。\n\n$\\bazi{小明}{神煞}[6]$\n\n\n\n例子10: `\\bazi{小明}{大运}[2-3 ]` 显示小明的第二到第三步大运\n\n$\\bazi{小明}{大运}[2-3]$\n\n\n\n例子11: `\\bazi{小明}{流年}[2017-2019 纳音/藏干/长生/神煞]` 显示小明的2017到2019年的流年信息。\n\n$\\bazi{小明}{流年}[2017-2019 纳音/藏干/长生/神煞]$\n\n\n\n### 未来与展望\n\n我知道这篇文章介绍的工具,并非所有人都能使用。所以在不久的将来,还是要制作一个独立易学软件,以便易友在PC端和移动端都能按照传统的方式使用。但由于时间和精力原因,我无法保证完成时间。\n\n\n\n不断完善易学函数,提供更丰富的应用细节。在用户更为广泛的MD编辑器中实现此方式。比如有道云笔记、为知笔记、印象笔记等。并争取介绍移动端(Android & iOS)实现此方式。也希望在Gitbook中实现。\n\n\n\n希望能将师父的六爻和八字讲义,『增删卜易』等著作制作成Gitbook,将精彩的卦例和名人八字建成易学数据库。这样就可以通过我的易学函数直接获取, 比如 `\\paibazi{蒋介石}`。\n\n\n\n### 附录: \n\n#### 命令列表\n\n[纳音](#nayin)\n\n[爻符](#yao)\n\n[排卦](#paigua)\n\n[卦爻细节](#guayao)\n\n[排八字](#paibazi)\n\n[八字细节](#bazi)\n\n#### 发布\n\n脚本文件的[原始路径](https://github.com/maiernte/img/raw/master/libs/bundle.js)是`https://github.com/maiernte/img/raw/master/libs/bundle.js`。因为涉及到跨域问题,要通过 [Gitkack](https://raw.githack.com/) 重链接,把上述路径输入到 Githack 的地址框,会得到「应用地址」和「开发地址」。\n\n[应用地址](https://rawcdn.githack.com/maiernte/img/bb3c42dc26b0866a142bb905d1753ac483e0a474/libs/bundle.js):\n\n`https://rawcdn.githack.com/maiernte/img/11a1bb572a6875dbf434a7fc457ea2fdd329f7db/libs/bundle.js`\n\n[开发地址](https://raw.githack.com/maiernte/img/master/libs/bundle.js):\n\n`https://raw.githack.com/maiernte/img/master/libs/bundle.js`\n\n#### 查看当前易学函数库版本\n\n在 chrome 浏览其中打开此博文,Mac 系统中按 `⌘+⌥+I` ,Windows 系统 `Ctr+⇧+I`,或者 Chrome 菜单栏调出 “开发者工具”,选择 Console 页面,即可显示当前易学库版本和时间。","slug":"IT/skill/MathJax用于易学领域","published":1,"updated":"2020-05-08T09:38:08.489Z","_id":"cka1y599q004l4huuz9r1vgbn","comments":1,"layout":"post","photos":[],"link":"","content":"关于利用 MathJax
和 Katex
数学公式解释器,实现易学上排六爻盘和八字盘个功能。今天实现了易学上的核心功能。有望将来能添加更多的函数,以便利各位同门以及广大易友。
\n \n效果与演示 \nVIDEO \n无法观看油管的朋友请移步B站:[使用MathJax渲染六爻和八字盘](https://www.bilibili.com/video/av66317810/)\n\n首先,你需要一个支持 Markdown (简称MD) 语言格式的文本编辑器。如果不知道什么是MD的话,请参阅以下介绍:
\n\nMarkdown 语言简约而优美 ,可以自由转换成pdf、word、Html 等等各种其它格式的文本。可以推送到博客、微信公众号等等。虽然算卦是一个传统的行业,我们仍然不宜固步自封 。MD语言支持MathJax和Katex书写Latex数学公式,可以写出非常漂亮的数学、物理、化学方面的公式。正式的科技刊物都要求用Latex格式。
\n这个易学解决方案是对 MathJax 进行扩展,加入指定的易学公式,让 MathJax 解释器去完成公式渲染。它并不是一个独立的程序。需要构建在已有的MD文本编辑器之上。我使用一个文件夹存放所有的关于易学方面的MD文件,并将这个文件夹同步到 坚果云 ,这样就可以实现多台电脑和移动端之间的同步,而不太需要一个独立的易学软件。甚至可以将MD文件导出为HTML文件,放到我的HEXO博客上(您正在阅读的这篇博文即是例子)。
\n理论上所有支持Markdown语言和MathJax的文本编辑器,都可以改装。改装过程需要两段代码和一个库文件。
\n文本编辑器 \nTypora \nTypora 是我个人最钟爱的MD编辑器,因此这里着重介绍。如果你喜欢用别的MD编辑器,比如iAWrte等,理论上可以用同样的方式改装。(无法百分百保证) 有需要的朋友可以私下联系我。
\n最新的安装教程请参考华鹤易学平台文档
\nVSCode \n同样请移步华鹤易学平台文档 。那里有详细描述。
\nHexo博客 \n🔔 注意:首先要检查自己的 Hexo 博客使用的渲染器是否默认开启了Katex或者MathJax数学插件。如果有的话需要卸载或者禁用数学插件,如果不能禁用,就必须更换Markdown渲染器。
\n\n因为系统使用的数学插件会在网页生成之前就改动数学表达,这样无法使用我提供给的函数库。我提供给博客的方案是在浏览网页的时候,即时渲染易学公式。
\n \n比如我之前用了 “hexo-renderer-markdown-it-plus” 渲染器就是强制使用 Katex 数学渲染的。
\n1 2 npm un hexo-renderer-markdown-it-plus --save // 卸载 npm i hexo-renderer-markdown-it --save // 更换
\n然后将下列代码添加到文件模版就可以了。使用 swig 模版的是在 <your thems>/layout/_custom/header.swig
或者 <your thems>/layout/index.swig
。而使用 ejs 模版的是文件 <your thems>/layout/layout.ejs
\n1 2 3 4 5 6 7 8 9 <link rel =\"stylesheet\" href =\"https://cdn.jsdelivr.net/npm/katex@0.11.0/dist/katex.min.css\" > <script defer src =\"https://cdn.jsdelivr.net/npm/katex@0.11.0/dist/katex.min.js\" > </script > <script defer src =\"https://cdn.jsdelivr.net/npm/katex@0.11.0/dist/contrib/auto-render.min.js\" > </script > <script src =\"https://raw.githack.com/maiernte/img/master/libs/katexYixue.js\" > </script > <script src =\"https://raw.githack.com/maiernte/img/master/libs/bundle.js\" > </script >
\n\n注意搜索 _config.yml 文件,“math”, “katex”, “mathjax” 等字样,发现有的话把他们禁用。
\n \nGitbook \n最新的安装教程请参考华鹤易学平台文档
\nAPI 参数 \n使用易学函数库非常简单,在经过改装的Markdown编辑器中,输入易学公式,并用两个 $
符号将公式前后围起来即可。MD语言一般默认两个 $
符号之间的文本是数学公式,它会调用MathJax对公式进行渲染。否则,它会认为这是普通文本,而不会做任何动作。
\n易学通用 \n命令:纳音 \\nayin{干支名称}
\n【干支名称】 :就是甲子、己卯等六十甲子。
\n例子1:\\nayin{戊午}
--> $\\nayin{戊午}$
\n命令:干支日历 \\timegz{时间参数}{年月日}
\n【时间参数】 :例如 2020-02-21。
\n【年月日】 :省略时默认为111
,即显示年月日。0
表示不显示,1
表示显示。
\n例子1:\\timegz{2020-02-21}
--> $\\timegz{2020-02-21}$
\n例子2:\\timegz{2020-02-21}{011}
--> $\\timegz{2020-02-21}{011}$
\n六爻 \n命令:爻符 \\yao{爻名}
\n【爻名】:laoyin, laoyang,shaoyin,shaoyang, x, o, =, -, 交,重,阴,阳,0,1,2,3
\n例子2:\\yao{x}
--> $\\yao{x}$
\n例子3:\\yao{shaoyin}
--> $\\yao{shaoyin}$
\n例子4:\\yao{重}
--> $\\yao{重}$
\n 命令:六爻排盘 \\paigua{时令}{卦辞}{标识}
\n其中 【时令】、【卦辞】这两个参数是必须的,**【标识】**参数可以省略。
\n【时令】允许的格式为:“1980-1-3 08:15”、“2019年3月4日”、“申月戊寅日”
\n【卦辞】允许的格式为:“解之师”、“离为火”、“–==x-”、“0121100”、“阴阳阴交阴阳”
\n【标识】由三部分组成:ID号、简排、字符大小。格式为:guadi/s/5
\n\n「ID号」:随便一串字符,空白则默认为“gua1”。:x:不允许只有数字,因为会与参数「字符大小」混淆。如果一个文本出现多个六爻卦,则每个卦都需要指定一个ID号。否则下面的命令卦爻细节 不知道具体指向哪一个卦本。 \n「简排」:只允许s
和 l
两个英文字符的其中一个。s
表示只显示短名,如“妻财”显示为“财”,“青龙”显示为“龙”。l
则显示完整名称。留白则按照用户全局设定来显示。(参阅用户设定 ) \n「字符大小」:允许 0 - 9 档。数字越大文字越大。默认大小为5
或者用户的全局设定 。 \n \n例子5: $\\paigua{1978年7月1日}{101201}{gua1}$
效果 \n$$\\paigua{1978年7月1日}{101201}{gua1}$$
\n:pencil2: 如果文章很长,需要在指定位置重新显示一遍卦本,则可以使用重排命令。即让【时令】和【卦辞】两个参数留白,只给出【ID号】。如 \\paigua{}{}{gua1}
。留白的参数,仍然需要用大括号括起来,否则解释器会出错。
\n 命令:卦爻细节 \\guayao{标识}{位置}
\n使用前提:当前文本中已经排出至少一支六爻卦。
\n【标识】:与排盘命令的「标识」参数等同。由ID号、简排、字符大小三个部分组成。其中「ID号」标识已经存在的六爻盘。
\n【位置】:格式为 “ben1”、“fu3”、“bian5” 等,分别表示「本卦初爻」、「伏卦3爻」、「变卦5爻」
\n例子6:\\guayao{gua1}{ben4}
--> $\\guayao{gua1}{ben4}$
\n\n例子6 中给出的「ID号」为例子5中指定的ID号 “gua1”,并要求显示本卦4爻的具体信息。
\n \n八字 \n 命令:八字排盘 \\paibazi{时间}{性别}{标识}[细节]
\n【时间】和【性别】参数必填,【标识】和【细节】参数可选。(如果要第二次显示已有的八字盘,则【时间】和【性别】参数可留白,只给定【标识】参数中的「ID号」)
\n【时间】:允许格式 “1980-1-3 08:15”、“2019年3月4日 6时3分”
\n【性别】:允许格式 “m”、“f”、“男”、“女”、“乾”、“坤”、
\n【标识】:与排盘命令的「标识」参数等同。由ID号、简排、字符大小三个部分组成。
\n【细节】:允许“藏干”、“长生”、“纳音”这三个中的一个或者多个,也可以留白。格式为 藏干/纳音/长生
\n例子7:\\paibazi{1990年5月1日 6:45}{男}{小明/s/5}
\n$\\paibazi{1990年5月1日 6:45}{男}{小明/5}$
\n例子8:重排例子7的八字盘 \\paibazi{}{}{小明/s/5}[纳音/藏干/长生]
,并要求显示藏干和纳音等信息。
\n$\\paibazi{}{}{小明/s/5}[纳音/藏干/长生]$
\n 命令:八字细节 \\bazi{标识}{类别}[细节]
\n使用前提:当前文本中已经排出至少一个八字盘。
\n【标识】:与排盘命令的「标识」参数等同。由ID号、简排、字符大小三个部分组成。其中「ID号」标识已经存在的八字命盘。
\n【类别】:支持 “神煞”、“大运”、“流年”、“小运” 四个选项。
\n【细节】:具体含义视【类别】而定。
\n\n类别为「神煞」时:「细节」为 1~ 9 的数字,表示每行列数。 \n类别为「大运」时: 1-9 纳音/藏干/长生/神煞
前面的数字表示第几步大运,限定 1 到 10 \n类别为「流年」和「小运」时: 2015 - 2019 纳音/藏干/长生/神煞
前面的数字表示年份,注意不要超过命盘的生命周期,否则会出错。「纳音/藏干/长生/神煞」可以留白,也可只显示一两项。 \n \n例子9: \\bazi{小明}{神煞}[6]
显示小明命盘的神煞,每行6列。
\n$\\bazi{小明}{神煞}[6]$
\n例子10: \\bazi{小明}{大运}[2-3 ]
显示小明的第二到第三步大运
\n$\\bazi{小明}{大运}[2-3]$
\n例子11: \\bazi{小明}{流年}[2017-2019 纳音/藏干/长生/神煞]
显示小明的2017到2019年的流年信息。
\n$\\bazi{小明}{流年}[2017-2019 纳音/藏干/长生/神煞]$
\n未来与展望 \n我知道这篇文章介绍的工具,并非所有人都能使用。所以在不久的将来,还是要制作一个独立易学软件,以便易友在PC端和移动端都能按照传统的方式使用。但由于时间和精力原因,我无法保证完成时间。
\n不断完善易学函数,提供更丰富的应用细节。在用户更为广泛的MD编辑器中实现此方式。比如有道云笔记、为知笔记、印象笔记等。并争取介绍移动端(Android & iOS)实现此方式。也希望在Gitbook中实现。
\n希望能将师父的六爻和八字讲义,『增删卜易』等著作制作成Gitbook,将精彩的卦例和名人八字建成易学数据库。这样就可以通过我的易学函数直接获取, 比如 \\paibazi{蒋介石}
。
\n附录: \n命令列表 \n纳音
\n爻符
\n排卦
\n卦爻细节
\n排八字
\n八字细节
\n发布 \n脚本文件的原始路径 是https://github.com/maiernte/img/raw/master/libs/bundle.js
。因为涉及到跨域问题,要通过 Gitkack 重链接,把上述路径输入到 Githack 的地址框,会得到「应用地址」和「开发地址」。
\n应用地址 :
\nhttps://rawcdn.githack.com/maiernte/img/11a1bb572a6875dbf434a7fc457ea2fdd329f7db/libs/bundle.js
\n开发地址 :
\nhttps://raw.githack.com/maiernte/img/master/libs/bundle.js
\n查看当前易学函数库版本 \n在 chrome 浏览其中打开此博文,Mac 系统中按 ⌘+⌥+I
,Windows 系统 Ctr+⇧+I
,或者 Chrome 菜单栏调出 “开发者工具”,选择 Console 页面,即可显示当前易学库版本和时间。
\n","site":{"data":{}},"excerpt":"关于利用 MathJax
和 Katex
数学公式解释器,实现易学上排六爻盘和八字盘个功能。今天实现了易学上的核心功能。有望将来能添加更多的函数,以便利各位同门以及广大易友。
","more":"效果与演示 \nVIDEO \n无法观看油管的朋友请移步B站:[使用MathJax渲染六爻和八字盘](https://www.bilibili.com/video/av66317810/)\n\n首先,你需要一个支持 Markdown (简称MD) 语言格式的文本编辑器。如果不知道什么是MD的话,请参阅以下介绍:
\n\nMarkdown 语言简约而优美 ,可以自由转换成pdf、word、Html 等等各种其它格式的文本。可以推送到博客、微信公众号等等。虽然算卦是一个传统的行业,我们仍然不宜固步自封 。MD语言支持MathJax和Katex书写Latex数学公式,可以写出非常漂亮的数学、物理、化学方面的公式。正式的科技刊物都要求用Latex格式。
\n这个易学解决方案是对 MathJax 进行扩展,加入指定的易学公式,让 MathJax 解释器去完成公式渲染。它并不是一个独立的程序。需要构建在已有的MD文本编辑器之上。我使用一个文件夹存放所有的关于易学方面的MD文件,并将这个文件夹同步到 坚果云 ,这样就可以实现多台电脑和移动端之间的同步,而不太需要一个独立的易学软件。甚至可以将MD文件导出为HTML文件,放到我的HEXO博客上(您正在阅读的这篇博文即是例子)。
\n理论上所有支持Markdown语言和MathJax的文本编辑器,都可以改装。改装过程需要两段代码和一个库文件。
\n文本编辑器 \nTypora \nTypora 是我个人最钟爱的MD编辑器,因此这里着重介绍。如果你喜欢用别的MD编辑器,比如iAWrte等,理论上可以用同样的方式改装。(无法百分百保证) 有需要的朋友可以私下联系我。
\n最新的安装教程请参考华鹤易学平台文档
\nVSCode \n同样请移步华鹤易学平台文档 。那里有详细描述。
\nHexo博客 \n🔔 注意:首先要检查自己的 Hexo 博客使用的渲染器是否默认开启了Katex或者MathJax数学插件。如果有的话需要卸载或者禁用数学插件,如果不能禁用,就必须更换Markdown渲染器。
\n\n因为系统使用的数学插件会在网页生成之前就改动数学表达,这样无法使用我提供给的函数库。我提供给博客的方案是在浏览网页的时候,即时渲染易学公式。
\n \n比如我之前用了 “hexo-renderer-markdown-it-plus” 渲染器就是强制使用 Katex 数学渲染的。
\n\n然后将下列代码添加到文件模版就可以了。使用 swig 模版的是在 <your thems>/layout/_custom/header.swig
或者 <your thems>/layout/index.swig
。而使用 ejs 模版的是文件 <your thems>/layout/layout.ejs
\n\n\n注意搜索 _config.yml 文件,“math”, “katex”, “mathjax” 等字样,发现有的话把他们禁用。
\n \nGitbook \n最新的安装教程请参考华鹤易学平台文档
\nAPI 参数 \n使用易学函数库非常简单,在经过改装的Markdown编辑器中,输入易学公式,并用两个 $
符号将公式前后围起来即可。MD语言一般默认两个 $
符号之间的文本是数学公式,它会调用MathJax对公式进行渲染。否则,它会认为这是普通文本,而不会做任何动作。
\n易学通用 \n命令:纳音 \\nayin{干支名称}
\n【干支名称】 :就是甲子、己卯等六十甲子。
\n例子1:\\nayin{戊午}
--> $\\nayin{戊午}$
\n命令:干支日历 \\timegz{时间参数}{年月日}
\n【时间参数】 :例如 2020-02-21。
\n【年月日】 :省略时默认为111
,即显示年月日。0
表示不显示,1
表示显示。
\n例子1:\\timegz{2020-02-21}
--> $\\timegz{2020-02-21}$
\n例子2:\\timegz{2020-02-21}{011}
--> $\\timegz{2020-02-21}{011}$
\n六爻 \n命令:爻符 \\yao{爻名}
\n【爻名】:laoyin, laoyang,shaoyin,shaoyang, x, o, =, -, 交,重,阴,阳,0,1,2,3
\n例子2:\\yao{x}
--> $\\yao{x}$
\n例子3:\\yao{shaoyin}
--> $\\yao{shaoyin}$
\n例子4:\\yao{重}
--> $\\yao{重}$
\n 命令:六爻排盘 \\paigua{时令}{卦辞}{标识}
\n其中 【时令】、【卦辞】这两个参数是必须的,**【标识】**参数可以省略。
\n【时令】允许的格式为:“1980-1-3 08:15”、“2019年3月4日”、“申月戊寅日”
\n【卦辞】允许的格式为:“解之师”、“离为火”、“–==x-”、“0121100”、“阴阳阴交阴阳”
\n【标识】由三部分组成:ID号、简排、字符大小。格式为:guadi/s/5
\n\n「ID号」:随便一串字符,空白则默认为“gua1”。:x:不允许只有数字,因为会与参数「字符大小」混淆。如果一个文本出现多个六爻卦,则每个卦都需要指定一个ID号。否则下面的命令卦爻细节 不知道具体指向哪一个卦本。 \n「简排」:只允许s
和 l
两个英文字符的其中一个。s
表示只显示短名,如“妻财”显示为“财”,“青龙”显示为“龙”。l
则显示完整名称。留白则按照用户全局设定来显示。(参阅用户设定 ) \n「字符大小」:允许 0 - 9 档。数字越大文字越大。默认大小为5
或者用户的全局设定 。 \n \n例子5: $\\paigua{1978年7月1日}{101201}{gua1}$
效果 \n$$\\paigua{1978年7月1日}{101201}{gua1}$$
\n:pencil2: 如果文章很长,需要在指定位置重新显示一遍卦本,则可以使用重排命令。即让【时令】和【卦辞】两个参数留白,只给出【ID号】。如 \\paigua{}{}{gua1}
。留白的参数,仍然需要用大括号括起来,否则解释器会出错。
\n 命令:卦爻细节 \\guayao{标识}{位置}
\n使用前提:当前文本中已经排出至少一支六爻卦。
\n【标识】:与排盘命令的「标识」参数等同。由ID号、简排、字符大小三个部分组成。其中「ID号」标识已经存在的六爻盘。
\n【位置】:格式为 “ben1”、“fu3”、“bian5” 等,分别表示「本卦初爻」、「伏卦3爻」、「变卦5爻」
\n例子6:\\guayao{gua1}{ben4}
--> $\\guayao{gua1}{ben4}$
\n\n例子6 中给出的「ID号」为例子5中指定的ID号 “gua1”,并要求显示本卦4爻的具体信息。
\n \n八字 \n 命令:八字排盘 \\paibazi{时间}{性别}{标识}[细节]
\n【时间】和【性别】参数必填,【标识】和【细节】参数可选。(如果要第二次显示已有的八字盘,则【时间】和【性别】参数可留白,只给定【标识】参数中的「ID号」)
\n【时间】:允许格式 “1980-1-3 08:15”、“2019年3月4日 6时3分”
\n【性别】:允许格式 “m”、“f”、“男”、“女”、“乾”、“坤”、
\n【标识】:与排盘命令的「标识」参数等同。由ID号、简排、字符大小三个部分组成。
\n【细节】:允许“藏干”、“长生”、“纳音”这三个中的一个或者多个,也可以留白。格式为 藏干/纳音/长生
\n例子7:\\paibazi{1990年5月1日 6:45}{男}{小明/s/5}
\n$\\paibazi{1990年5月1日 6:45}{男}{小明/5}$
\n例子8:重排例子7的八字盘 \\paibazi{}{}{小明/s/5}[纳音/藏干/长生]
,并要求显示藏干和纳音等信息。
\n$\\paibazi{}{}{小明/s/5}[纳音/藏干/长生]$
\n 命令:八字细节 \\bazi{标识}{类别}[细节]
\n使用前提:当前文本中已经排出至少一个八字盘。
\n【标识】:与排盘命令的「标识」参数等同。由ID号、简排、字符大小三个部分组成。其中「ID号」标识已经存在的八字命盘。
\n【类别】:支持 “神煞”、“大运”、“流年”、“小运” 四个选项。
\n【细节】:具体含义视【类别】而定。
\n\n类别为「神煞」时:「细节」为 1~ 9 的数字,表示每行列数。 \n类别为「大运」时: 1-9 纳音/藏干/长生/神煞
前面的数字表示第几步大运,限定 1 到 10 \n类别为「流年」和「小运」时: 2015 - 2019 纳音/藏干/长生/神煞
前面的数字表示年份,注意不要超过命盘的生命周期,否则会出错。「纳音/藏干/长生/神煞」可以留白,也可只显示一两项。 \n \n例子9: \\bazi{小明}{神煞}[6]
显示小明命盘的神煞,每行6列。
\n$\\bazi{小明}{神煞}[6]$
\n例子10: \\bazi{小明}{大运}[2-3 ]
显示小明的第二到第三步大运
\n$\\bazi{小明}{大运}[2-3]$
\n例子11: \\bazi{小明}{流年}[2017-2019 纳音/藏干/长生/神煞]
显示小明的2017到2019年的流年信息。
\n$\\bazi{小明}{流年}[2017-2019 纳音/藏干/长生/神煞]$
\n未来与展望 \n我知道这篇文章介绍的工具,并非所有人都能使用。所以在不久的将来,还是要制作一个独立易学软件,以便易友在PC端和移动端都能按照传统的方式使用。但由于时间和精力原因,我无法保证完成时间。
\n不断完善易学函数,提供更丰富的应用细节。在用户更为广泛的MD编辑器中实现此方式。比如有道云笔记、为知笔记、印象笔记等。并争取介绍移动端(Android & iOS)实现此方式。也希望在Gitbook中实现。
\n希望能将师父的六爻和八字讲义,『增删卜易』等著作制作成Gitbook,将精彩的卦例和名人八字建成易学数据库。这样就可以通过我的易学函数直接获取, 比如 \\paibazi{蒋介石}
。
\n附录: \n命令列表 \n纳音
\n爻符
\n排卦
\n卦爻细节
\n排八字
\n八字细节
\n发布 \n脚本文件的原始路径 是https://github.com/maiernte/img/raw/master/libs/bundle.js
。因为涉及到跨域问题,要通过 Gitkack 重链接,把上述路径输入到 Githack 的地址框,会得到「应用地址」和「开发地址」。
\n应用地址 :
\nhttps://rawcdn.githack.com/maiernte/img/11a1bb572a6875dbf434a7fc457ea2fdd329f7db/libs/bundle.js
\n开发地址 :
\nhttps://raw.githack.com/maiernte/img/master/libs/bundle.js
\n查看当前易学函数库版本 \n在 chrome 浏览其中打开此博文,Mac 系统中按 ⌘+⌥+I
,Windows 系统 Ctr+⇧+I
,或者 Chrome 菜单栏调出 “开发者工具”,选择 Console 页面,即可显示当前易学库版本和时间。
"},{"title":"搭建Hexo博客的流水账","date":"2019-07-25T03:49:15.000Z","urlname":"how-build-my-hexo-blog","toc":true,"notshow":false,"_content":"\n\n\n建网过程中的一些流水账。以备将来查询。\n\n\n\n# 建立网站\n\n## Github配置\n\n输入命令 `ssh-keygen -t rsa -b 4096 -C \"myname@gmail.com\"`。\n\n\n\n密码 `T1`。(下列展开后复制)\n\n> 将文件 ~/.ssh/id_rsa.pub 中的内容复制到 Github 的SSH-Key 内就可以了。(备份文件已上传百度网盘)\n\n3. 在Github上新建SSH-Key名称为`gmail`\n\n[具体步骤参阅此文章](https://gavinlee1.github.io/2017/02/25/十步之内轻松搞定-Hexo-GitHub搭建个人博客/)\n\n```\nssh-keygen -t rsa -b 4096 -C \"username@gmail.com\"\n[Enter]\n[password T..1]\n\neval \"$(ssh-agent -s)\"\nssh-add -K ~/.ssh/id_rsa\n\ncd ~\ncd .ssh\nls\nvim id_rsa.pub\n(然后复制钥匙串)\n```\n4. 测试公匙\n\n```\n$ ssh -T git@github.com\n\nHi username! You've successfully authenticated, but GitHub does not provide shell access.\n```\n\n## 安装Hexo\n\n参考资料[^1] [^7]。\n1. 安装node.js 因为以前已经安装过,所以跳过。\n2. 安装 Hexo `$ npm install hexo-cli -g` \n3. 创建网站\n```command\nmkdir mywiki\ncd mywiki\nhexo init\nnpm install\n```\n4. 生成静态页面 `hexo g` or `hexo generate`\n5. 启动本地网站服务 `hexo s` or `hexo server`\n> 网站一般会运行在 http://localhost:4000/\n> Press Ctrl+C to stop.\n\n6. 用pow做服务本地运行\n\n**Install**\n\n```\n$ curl get.pow.cx | sh\n```\n\n**Setup**\n\nSymlink the folder into `~/.pow`\n\n```\n$ cd ~/.pow\n$ ln -s /path/to/test\n```\n\n## 发布到Github\n\n终于搭建好站点部署环境啦,那么要怎么样将我们本地生成预览好的页面发布到github上呢?很简单,Follow!\n\n首先,打开blog目录下的`_config.yml`,找到deploy段,配置成这样\n\n> deploy:\n> type: git\n> repository: git@github.com:yourname/yourname.github.io.git\n> branch: master\n\n注意将代码里面的yourname换成你账号的username。\n\n设置git身份信息\n\n> git config --global user.name \"你的用户名\"\n> git config --global user.email \"你的邮箱\" \n\n执行以下指令进行部署\n\n`hexo d -g `\n\n如果提示没找到git,请先执行以下指令\n\n`cnpm install hexo-deployer-git --save` \n\n再次部署后,浏览器打开 [https://yourname.github.io](https://yourname.github.io/) 就可以看到刚才本地预览页面。\n\n## 网站基本配置\n\n### Next 主题\n\n主题配置文件说明\n\n{% fold 点击显/隐内容 %}\n\n```ini\n# Hexo 站点配置文件\n## Docs: https://hexo.io/docs/configuration.html\n## Source: https://github.com/hexojs/hexo/\n\n# 网站配置\ntitle: Hexo # 网站标题\nsubtitle: # 网站副标题\ndescription: # 网站描述\nauthor: John Doe # 你的昵称\nlanguage: # 网站使用的语言(英文:en, 简体中文:zh-Hans,繁体中文:zh-tw)\ntimezone: # 网站时区,用于生成页面时填充相关时间,默认使用电脑时区,一般不用改\n\n# URL\n## 如果你的站点要放入子目录, 请将url设置为'http://yoursite.com/child' 并将根目录设置为'/child/'\nurl: http://yoursite.com # 站点网址\nroot: / # 网站根目录\npermalink: :year/:month/:day/:title/ #文单的永久链接格式\npermalink_defaults: # 永久链接中各部分的默认值\n\n# 目录\nsource_dir: source # 资源文件夹,这个文件夹用来存放博客内容\npublic_dir: public # 公共文件夹,这个文件夹用来存放生成的站点静态文件\ntag_dir: tags # 标签文件夹\narchive_dir: archives # 归档文件夹\ncategory_dir: categories # 分类文件夹\ncode_dir: downloads/code # Include code文件夹\ni18n_dir: :lang # 国际化文件夹,存放各种语言定义\nskip_render: # 跳过指定文件的渲染\n\n# 写作\nnew_post_name: :title.md # 新文章的文件名称\ndefault_layout: post # 预设布局\ntitlecase: false # 把标题转换为 title case\nexternal_link: true # 在新标签中打开链接\nfilename_case: 0 # 把文件名称转换为 (1) 小写或 (2) 大写\nrender_drafts: false # 显示草稿\npost_asset_folder: false # 启动 Asset 文件夹\nrelative_link: false # 把链接改为与根目录的相对位址\nfuture: true # 显示未来的文章\nhighlight: # 代码块的设置\n enable: true\n line_number: true\n auto_detect: false\n tab_replace:\n\n# 分类 & 标签\ndefault_category: uncategorized # 默认分类\ncategory_map: # 分类别名\ntag_map: # 标签别名\n\n# 日期 / 时间格式\n## Hexo 使用 Moment.js 来解析和显示时间\n## http://momentjs.com/docs/#/displaying/format/\ndate_format: YYYY-MM-DD # 日期格式\ntime_format: HH:mm:ss # 时间格式\n\n# 分页\n## 每页显示的文章量 (0 = 关闭分页功能)\nper_page: 10\npagination_dir: page\n\n# 扩展\n## Plugins: https://hexo.io/plugins/\n## Themes: https://hexo.io/themes/\ntheme: landscape # 主题\n\n# 部署\n## Docs: https://hexo.io/docs/deployment.html\ndeploy:\n type:\n```\n\n{% endfold %}\n\n### Wikitten主题\n\n具体配置参考[开发者说明](https://github.com/zthxxx/hexo-theme-Wikitten/blob/master/README_zh-CN.md),更详细的描述参阅[hexo-theme-icarus](https://github.com/ppoffice/hexo-theme-icarus/wiki)。为了与主题Next不冲突,作以下修改。\n\n1. 自行修改 `tags`, `about`,`categories` 等`index.md`,而不能从主题复制,覆盖站点原有设置。\n2. `languages\\zh-CN.yml` 重命名为 `zh-Hans.yml`\n3. `_config.yml` 菜单作以下更改\n\n```ini\nmenu:\n 首页: /\n 归档: /archives/\n 分类: /categories/\n 标签: /tags/\n 关于: /about/\n```\n\n4. `thumbnail: true` 使得每个post在快速列表里,显示图标。但就是每个帖子都要设定,很麻烦。\n5. post 中的 toc 要设置为 true,如果需要显示目录的话。\n\n### 同时部署两个项目\n\n第一个项目使用 Github 上面默认的 Github Pages,即 `username.github.io` 。在站点配置文件中如下:\n\n```\nurl: http://username.github.io\nroot: /\n...\n...\ndeploy:\n type: git\n repository: git@github.com:username/username.github.io.git\n branch: master\n\n```\n\n\n第二个站点开通一个 普通的repository,添加名为`gh-pages` 的Branch,并将gh-pages` 设为默认Branch。我将第二个仓库命名为 wiki ,那第二个站点就运行在 `https://username.github.io/wiki`次级目录下面。\n\n站点配置文件更改如下:\n\n```\nurl: http://username.github.io/wiki\nroot: /wiki/\n...\n...\ndeploy:\n type: git\n repository: git@github.com:username/wiki.git\n branch: gh-pages\n```\n\n同样用 `hexo d -g` 部署命令发布,两个站点就都运行起来了。\n\n为了使得两个项目使用同一个笔记资源,将站点中的 source 文件夹移到项目意外,将配置文件里的 `source_dir: source` 改为 `source_dir: ../source`(这里使用了相对目录)。\n\n[参考文章][multipages] (细节已经失效,但思路值得参考)\n\n### 站内搜索\n\n1. 安装插件\n\n```shell\nnpm install hexo-generator-search --save\nnpm install hexo-generator-searchdb --save\n```\n\n2. 配置hexo站点主配置文件``_config.yml``, 添加\n\n```ini\nsearch:\n path: search.xml\n field: post\n format: html\n limit: 10000\n```\n\n3. 修改next主题配置文件`_config.yml`,启用 `local_search`\n\n```ini\nlocal_search:\n\tenable: true\n\ttrigger: auto\n\ttop_n_per_article: 1\n```\n\n4. 生成`search.xml`文件以及发布\n\n```shell\nhexo g\nhexo d -g # 本地运行 hexo s\n```\n\n### 去除主题字样\n\n关于添加头像、标签、分类、「关于」等具体的修改,跟着参考资料[^2]里面的步骤做就好了。最后说说如何去掉底部强力驱动及主题字样。\n\n1. 找到 `\\themes\\next\\layout_partials\\`下面的`footer.swig`文件,打开:\n\n```html\n\n {{ __('footer.powered', '
Hexo ') }}\n
\n\n```\n\n第一条是“由Hexo驱动” 的Hexo链接,把xml段删除,只留两个单引号''。\n\n第二条是“主题-Next.XX”,将xml段都删掉,不留引号。\n\n```html\n\n {{ __('footer.powered', '') }}\n
\n\n {{ __('footer.theme') }}\n
\n```\n\n2. 找到这个地方`\\themes\\next\\languages\\ `下面的语言文件`zh-Hans.yml`(以中文为例):\n\n```ini\nfooter:\n powered: \"由 %s 强力驱动\"\n theme: 主题\n```\n\n将上面的文字改成自己想要的即可。\n\n## 添加评论功能\n\n#### Gitment\n\n**此项目已经终止!**改为Disqus,以及其它评论服务。\n\n1. 安装功能模块。在项目的根目录:\n\n```shell\nnpm i --save gitment\n```\n\n2. 在Github申请应用。`settings -> Developer Settings -> OAuth Apps`\n\n```ini\nApplication name:随便写\nHomepage URL:这个也可以随意写,就写你的博客地址就行\nApplication description:描述,也可以随意写\nAuthorization callback URL:这个必须写你的博客地址\n```\n\n申请好之后点注册,然后就可以看到两个东西`ClientID`和`Client Secret`,后面会用到。\n\n3. 配置Gitment,打开`themes/next/_config.yml`:\n\n```javascript\n# Gitment\n# Introduction: https://imsun.net/posts/gitment-introduction/\ngitment:\n enable: true\n mint: true # RECOMMEND, A mint on Gitment, to support count, language and proxy_gateway\n count: true # Show comments count in post meta area\n lazy: false # Comments lazy loading with a button\n cleanly: false # Hide 'Powered by ...' on footer, and more\n language: # Force language, or auto switch by theme\n github_user: {you github user id}\n github_repo: 随便写一个你的公开的git仓库就行,到时候评论会作为那个项目的issue\n client_id: {刚才申请的ClientID}\n client_secret: {刚才申请的Client Secret}\n proxy_gateway: # Address of api proxy, See: https://github.com/aimingoo/intersect\n redirect_protocol: # Protocol of redirect_uri with force_redirect_protocol when mint enabled\n```\n\n注意到这里基本上已经OK了,再看你的博客应该可以显示评论了.不过每篇博客都需要你手动初始化评论功能(如果你的历史博客很多那就一篇一篇去点吧,不过貌似有人写了批量处理脚本,没试过哈).\n\n而由于 github 中 `Issues` 的 `label` 长度限制为最大 `50` 个字符,当 文章标题长度过长时,该label就会生成失败,而导致初始化错误,弹出 `Validation Failed` 的提示。\n\n通过网上的搜索,发现可以使用文章创建时的时间来代替文章标题,作为这个唯一的label标签。\n\n找到giment的配置:`/themes/next/layout/_third-party/comments/gitment.swig` 文件, 并找到如下部分:\n\n```javascript\nvar gitment = new {{CommentsClass}}({\n id: window.location.pathname,\n owner: '{{ theme.gitment.github_user }}',\n repo: '{{ theme.gitment.github_repo }}',\n ...\n```\n\n将`id`后面的路径值修改为 'itfanr\\_blog\\_\\{{ date(page.date, \"YYYYMMDDhhmmss\") \\}}' 就可以了。\n\n#### Disqus\n\n目前只开通[Disqus](https://disqus.com/)的评论。\n\n1. 开通Disqus账号,并添加一个点 应用。具体步骤参看[Hexo搭建博客系列:(六)Hexo添加Disqus评论](https://www.jianshu.com/p/d68de067ea74)。\n2. 在`主题配置文件`(_config.yml)文件中找到以下代码,添加你Disqus设置的Website Name在shortname。\n\n```json\n# Disqus\ndisqus:\n enable: true\n shortname: tian-ya-de-zhi-fu\n count: true\n```\n\n更详细请参阅网上。\n\n\n\n## 新文章命名规则\n\n发表新文章后系统崩溃。\n\n在根目录的配置文件中找到类似的:\n\n```\n# Writing\nnew_post_name: 新文章.md # File name of new posts\ndefault_layout: post\n...\n```\n\n将其改为由时间和题目组成: \n\n```\n# Writing\nnew_post_name: year-:month-:day-:title.md # File name of new posts\ndefault_layout: post\n...\n```\n\n\n\n# 进阶设置\n\n## 显示\n\n### 首页文章显示预览\n\n默认设定下。首页的文章每一篇都显示全文,不方便浏览。需要到主题的配置文件里将`auto_excerpt` 的 `enable` 改为 `true`。而`length` 字节表示文章预览的长度。\n\n```\n# Automatically Excerpt. Not recommand.\nauto_excerpt:\n\tenable: true\n\tlength: 300\n```\n\n### 永久链接\n\n新文章的名字采用了中文([见上](#id_new_post_name)),中文出现在地址栏上不美观。也不利于SEO,以及增加了博文URL的层数。解决办法是给每篇文章制定链接地址。\n\n1. 修改网站的配置文件中永久地址的设定:\n\n```ini\npermalink: :urlname.html\n```\n\n2. 给每篇文章指定 `urlname`\n\n```ini\ntitle: 《少有人走的路》笔记\ndate: 2019-07-21 00:14:37\nurlname: road-less-traveled-summary\ntags:\n - 心理学\ncategories: 读书笔记\n```\n\n编译后新的地址为 `http://mywiki.test/road-less-traveled-summary.html`。看起来就清爽多了。\n\n### 图片链接\n\n1. 开通[资源文件夹](https://hexo.io/zh-cn/docs/asset-folders),创建新文章的时候会自动建立一个与文章同名的文件夹。可以将图片或者其它资源文件放到里面(*打算将思维导图放到这里*)。因为自定义了[文件名的方式](#id_new_post_name),所以根据官方描述无效。\n2. 安装第三方插件`hexo-asset-image`\n\n```bash\nnpm install hexo-asset-image --save\n```\n\n在文章中图片的链,可以省略路径,直接引用图片名:\n\n```markdown\n![mypicture](mypicture.jpg)\n```\n\n3. 修改插件代码\n\n我在使用永久链接的时候在每篇文章的实际地址都加上了`.html`。文章的地址显示如下\n\n```http\nhttp://mywebsite.com/my-articel-url.html\n```\n\n而插件生成的图片地址如下:\n\n```\nhttp://mywebsite.com/my-articel-url.htm/mypicture.jpg\n```\n\n多出了 `.htm` 这几个字符,而实际图片的地址应该是:\n\n```http\nhttp://mywebsite.com/my-articel-url/mypicture.jpg\n```\n\n找到 `node_modules/hexo-asset-imge` 目录下的 `index.js` 文件,将以下代码中的 `1` 改成 `5`,就可以正常显示图片了。\n\n```javascript\nvar endPos = link.length - 1\n```\n\n考虑到将来项目膨胀,应该将图片放到图床,比如七牛。\n\n### 站内链接\n\n导航到站内别的文章使用以下方式就可以。\n\n链接方式 `[文章名](urlname.html)`\n\n\n\n### 设定代码区的高度\n\nHexo自身的式样暂时还没找到。其实也不太需要。如果代码不长直接显示全部就好了。太长的话不如放到$Gits$,通过限制gist的高度实现。**Net**主题修改 `next/themes/next/source/css/_custom/custom.styl` ,Wikitten主题则在文件 `wikitten/themes/Wikitten/source/css/_partial/article.styl` 中修改。\n\n```CSS\n.gist \n.gist-file\n.gist-data {\n max-height: 450px;\n}\n```\n\n\n\n### 添加注脚支持\n\n[插件项目](https://github.com/LouisBarranqueiro/hexo-footnotes)\n\n1. 安装插件 `npm install hexo-footnotes --save`\n2. **项目配置文件** 添加\n\n```ini\n# 注意第二行的前面没有 \"-\" 符号,官方说明有. 但是会导致无法编译.\nplugins:\n hexo-footnotes\n```\n\n\n\n### 更换Markdown渲染\n\n[Markdown-it-plus](https://github.com/CHENXCHEN/hexo-renderer-markdown-it-plus)\n\n如果更换了这个渲染,就无需上面那个注脚插件, 因为已经支持了. 首先卸载掉旧的渲染, 然后安装新的.\n\n```sh\nnpm un hexo-renderer-marked --save\nnpm i hexo-renderer-markdown-it-plus --save\n# 查看是否已经安装\nnpm ls hexo-renderer-markdown-it-plus\n```\n\n然后在项目配置文件, 添加下面文字. 更深入的设置, 参看 markdown-it-plus 项目的说明文档.\n\n```ini\nmarkdown_it_plus:\n highlight: true\n html: true\n xhtmlOut: true\n breaks: true\n langPrefix:\n linkify: true\n typographer:\n quotes: “”‘’\n plugins:\n```\n\n\n\n## 辅助功能\n\n### 本地运行服务\n\n在Mac中可以用本地服务[Pow](http://pow.cx)运行网站,不用每次更改重启服务器`hexo s`。\n\n1. 安装Pow\n\n```bash\n$ curl get.pow.cx | sh\n```\n\n2. 建立项目链接,`myapp` 是项目的名字。比如真实路径`~/Project/mywiki`\n\n```bash\n$ cd ~/.pow\n$ ln -s /path/to/myapp\n```\n\n3. 执行完以上步骤后在浏览器打开链接 ``http://myapp.test/`` 就能看到网站。更改内容后要执行==生成== 命令才能看到更新`hexo generate` or `hexo g` 。\n4. 不想运行,直接把项目文件夹删除就可以。\n\n### 绑定个人域名\n\n1. 在万网买一个顶级域名,开通后添加两个域名解释\n\n```ini\n#记录名 主机记录 记录值\nCNAME www username.github.io\nCNAME @ username.github.io\n```\n\n2. 在项目的根目录添加一个名为 `CNAME` 的文件,然后填入万网注册的域名, 这里是 `goldentianya.pub` 。第一次我是手动添加的。添加后进入 repository 的 setting, 往下混动到 Custom domain ,可以看到系统已经自动把用户域名加进去了。\n3. 将来不希望用这个域名,域名重定向后,在浏览器输入 username.github.io 后 Chrome 会一直转向 goldentianya.pub 。需要打开`开发者工具`,选中 `disable cache` ,再刷新一遍地址就好了。\n4. `next` 项目要将 `CNAME` 文件复制到 `/themes/next/source` 目录下个,编译的时候会拷贝到 `public` 目录。`wikitten` 项目不需要,域名定向以后能找到 `goldentianya/wiki` 站点,十分神奇。\n\n### 隐藏文章\n\n#### 全隐藏\n\n根据插件`hext-sage-posts` 作者的博文[^9]中描述,安装插件\n\n```bash\nnpm install hexo-sage-posts --save\n```\n\n并将初创时的`Hello-world.md` 文章的Metadata中加入`sage: true`,文章就从网站上消失了。但在别的文章下面导航栏中,通过“下一篇”或者“上一篇”还是能被找到。被隐藏的文章其地址仍旧没有改变,只是不不出现在首页导航,和分类中而已。\n\n#### 从首页隐藏\n\n为了不让太琐碎的文章充斥首页,但又可以在分类中找到。可以采用这种方式。\n\n1. 在文章的Metadata部分添加关键字 `notshow: true`。\n2. 找到 `Hexo\\themes\\next\\layout\\index.swig` 文件中以下部分:\n\n```html\n{% block content %}\n \n {% for post in page.posts %}\n {{ post_template.render(post, true) }} \n {% endfor %}\n \n\n {% include '_partials/pagination.swig' %}\n{% endblock %}\n```\n\n将以上代码第四行修改为\n\n```html\n{% if post.notshow != true %}\n\t{{ post_template.render(post, true) }}\n{% endif %}\n```\n\n\n\n#### 文章加密\n\n1. 安装插件 `hexo-blog-encrypt`\n\n```\nnpm install --save hexo-blog-encrypt\n```\n\n并在**站点配置**文件中启用该插件:\n\n```json\nencrypt:\n enable: true\n```\n\n2. 然后在文章的头部添加上对应的字段\n\n```ini\n---\ntitle: 文章加密\ndate: 2019-01-04T22:20:13.000Z\ncategory: 教程\ntags:\n - 博客\n - Hexo\nkeywords: 博客文章密码\npassword: TloveY\nabstract: 此文章含有敏感内容。\nmessage: 输入密码,查看文章\n---\n```\n\n- password: 是该博客加密使用的密码\n\n- abstract: 是该博客的摘要,会显示在博客的列表页\n\n- message: 这个是博客查看时,密码输入框上面的描述性文字\n\n\n\n### Hexo Admin\n\n安装后台管理插件 `hexo-damin`\n\n```bash\nnpm install --save hexo-admin\nhexo server -d\nopen http://localhost:4000/admin/\n```\n\n初次运行后,设置管理账户。\n\n```\nadmin:\n username: maiernte\n password_hash: $2a$10$QeeWfDwIxbJ94h8EDfplDe9aLB0uaNrjMeVGhaYnfF0BBDosDze0S\n secret: NamoAmitabha!\n```\n\n### 访问量统计\n\n[介绍文章](https://bjtu-hxs.github.io/2018/06/12/leancloud-config/) (*有图*)\n\n[原文(有代码)](https://notes.doublemine.me/2015-10-21-%E4%B8%BANexT%E4%B8%BB%E9%A2%98%E6%B7%BB%E5%8A%A0%E6%96%87%E7%AB%A0%E9%98%85%E8%AF%BB%E9%87%8F%E7%BB%9F%E8%AE%A1%E5%8A%9F%E8%83%BD.html#%E9%85%8D%E7%BD%AELeanCloud)\n\n1. 第一步, 到Lean Cloud增添一个应用,并创建类似Counter 的类。设置成 $ 所有人可读可写 $\n2. 在安全中心添加 **Web 安全域名**, 添加Blog域名,防止有人Hack我们的数据库。\n\n3. 按上面的文章修改 Hexo 以及主题配置。\n\n\n\n### 在线交流\n\n使用 [道客](https://www.daovoice.io/) Daovoice\n\n接入方式\n\n1. 将下面代码粘贴在页面的 之前。\n\n```\n\n```\n\n2. 调用下面的 JavaScript 与注册用户沟通\n\n```\ndaovoice('init', {\n app_id: \"5e5fa370\",\n user_id: \"NO_89757\", // 必填: 该用户在您系统上的唯一ID\n email: \"daovoice@example.com\", // 选填: 该用户在您系统上的主邮箱\n name: \"道客船长\", // 选填: 用户名\n signed_up: 1449821660 // 选填: 用户的注册时间,用Unix时间戳表示\n});\ndaovoice('update');\n```\n\n3. 调用下面的 JavaScript 与匿名访客沟通\n\n```\ndaovoice('init', {\n app_id: \"5e5fa370\"\n});\ndaovoice('update');\n```\n\n完成代码粘贴后,检测是否成功接入: Ping 一下\n\n\n\n### 待解决问题\n\n- [x] 文章评论\n- [x] 在线编辑?\n- [x] 使用七牛图床\n- [ ] 脑图摆放 ([官方文档/数据文件](https://hexo.io/zh-cn/docs/data-files))\n- [x] 文件下载(可能还是要靠七牛)\n- [x] 用submodule管理主题 [在 hexo 中使用 git submodules 管理主题](https://juejin.im/post/5c2e22fcf265da615d72c596)\n- [ ] SEO\n- [ ] 访问量统计\n- [ ] 加速 [Github Pages + CDN全站加速](https://www.jianshu.com/p/ccc0cc8c14a0)\n\n- [ ] [在vps上部署hexo博客的那些事](https://segmentfault.com/a/1190000019104144)\n\n# 有趣插件\n\n- [x] [短地址 & 指定摘要](https://www.jianshu.com/p/805bd0b65d98) \n\n- [ ] [农历/很好的学习做插件的例子](https://github.com/inchei/hexo-lunar-calendar)\n\n- [ ] [插入pdf](https://github.com/superalsrk/hexo-pdf/) 可以学习如何插入epub\n\n- [ ] [hexo-include](https://github.com/pirtleshell/hexo-include) 加载文本内容, html, js, text\n\n- [x] [Hexo-NexT给文章添加结束语](https://wangc1993.github.io/2019/01/10/6/)\n\n- [x] [Hexo-NexT接入网页在线联系功能](https://wangc1993.github.io/2019/01/10/5/)\n\n- [ ] [include markdown](https://github.com/tea3/hexo-include-markdown)\n\n\n\n### ---\n\n\n\n[^1]: [Hexo博客搭建全攻略(一):基于Hexo+Github环境搭建](https://blog.annieyu.com/posts/207737771.html)\n[^2]: [Hexo博客搭建全攻略(二):NexT主题配置](https://blog.annieyu.com/posts/976961586.html)\n[^3]: [Hexo博客搭建全攻略(三):三方服务集成](https://blog.annieyu.com/posts/1209152972.html)\n[^4]: [Hexo博客搭建全攻略(四):高级应用](https://blog.annieyu.com/posts/3333782006.html)\n[^5]: [Hexo博客搭建全攻略(五):基于Github Issue搭建评论系统](https://blog.annieyu.com/posts/a341668e.html)\n[^6]: [Hexo博客搭建全攻略(六):博文图片处理](https://www.jianshu.com/p/2bb87ae49ff6)\n[^7]: [十步之内轻松搞定 Hexo + GitHub搭建个人博客](https://gavinlee1.github.io/2017/02/25/%E5%8D%81%E6%AD%A5%E4%B9%8B%E5%86%85%E8%BD%BB%E6%9D%BE%E6%90%9E%E5%AE%9A-Hexo-GitHub%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/) \n[^8]: [如何优雅的 隐藏博客](https://vanchchen.github.io/p/7587.html)\n[^9]: [为 Hexo 博客添加隐藏文章 / 限定公开功能](https://blessing.studio/hexo-plugin-to-make-posts-sage-unlisted/)\n[^10]: [Hexo 中文文档](https://hexo.io/zh-cn/docs/index.html)\n\n[multipages]: ttp://chitanda.me/2015/11/03/multiple-git-pages-in-one-github-account/\n\n[讲解详细的博客](https://binglumeng.github.io/2017/03/21/Hexo学习笔记/) \n\n[这个也不错](http://yearito.cn/posts/hexo-advanced-settings.html)\n\n\n","source":"_posts/IT/Web/搭建Hexo博客的流水账.md","raw":"---\ntitle: 搭建Hexo博客的流水账\ndate: 2019-07-25 05:49:15\nurlname: how-build-my-hexo-blog\ntoc: true\ntags: [Hexo]\ncategories: [IT, Web]\nnotshow: false\n\n---\n\n\n\n建网过程中的一些流水账。以备将来查询。\n\n\n\n# 建立网站\n\n## Github配置\n\n输入命令 `ssh-keygen -t rsa -b 4096 -C \"myname@gmail.com\"`。\n\n\n\n密码 `T1`。(下列展开后复制)\n\n> 将文件 ~/.ssh/id_rsa.pub 中的内容复制到 Github 的SSH-Key 内就可以了。(备份文件已上传百度网盘)\n\n3. 在Github上新建SSH-Key名称为`gmail`\n\n[具体步骤参阅此文章](https://gavinlee1.github.io/2017/02/25/十步之内轻松搞定-Hexo-GitHub搭建个人博客/)\n\n```\nssh-keygen -t rsa -b 4096 -C \"username@gmail.com\"\n[Enter]\n[password T..1]\n\neval \"$(ssh-agent -s)\"\nssh-add -K ~/.ssh/id_rsa\n\ncd ~\ncd .ssh\nls\nvim id_rsa.pub\n(然后复制钥匙串)\n```\n4. 测试公匙\n\n```\n$ ssh -T git@github.com\n\nHi username! You've successfully authenticated, but GitHub does not provide shell access.\n```\n\n## 安装Hexo\n\n参考资料[^1] [^7]。\n1. 安装node.js 因为以前已经安装过,所以跳过。\n2. 安装 Hexo `$ npm install hexo-cli -g` \n3. 创建网站\n```command\nmkdir mywiki\ncd mywiki\nhexo init\nnpm install\n```\n4. 生成静态页面 `hexo g` or `hexo generate`\n5. 启动本地网站服务 `hexo s` or `hexo server`\n> 网站一般会运行在 http://localhost:4000/\n> Press Ctrl+C to stop.\n\n6. 用pow做服务本地运行\n\n**Install**\n\n```\n$ curl get.pow.cx | sh\n```\n\n**Setup**\n\nSymlink the folder into `~/.pow`\n\n```\n$ cd ~/.pow\n$ ln -s /path/to/test\n```\n\n## 发布到Github\n\n终于搭建好站点部署环境啦,那么要怎么样将我们本地生成预览好的页面发布到github上呢?很简单,Follow!\n\n首先,打开blog目录下的`_config.yml`,找到deploy段,配置成这样\n\n> deploy:\n> type: git\n> repository: git@github.com:yourname/yourname.github.io.git\n> branch: master\n\n注意将代码里面的yourname换成你账号的username。\n\n设置git身份信息\n\n> git config --global user.name \"你的用户名\"\n> git config --global user.email \"你的邮箱\" \n\n执行以下指令进行部署\n\n`hexo d -g `\n\n如果提示没找到git,请先执行以下指令\n\n`cnpm install hexo-deployer-git --save` \n\n再次部署后,浏览器打开 [https://yourname.github.io](https://yourname.github.io/) 就可以看到刚才本地预览页面。\n\n## 网站基本配置\n\n### Next 主题\n\n主题配置文件说明\n\n{% fold 点击显/隐内容 %}\n\n```ini\n# Hexo 站点配置文件\n## Docs: https://hexo.io/docs/configuration.html\n## Source: https://github.com/hexojs/hexo/\n\n# 网站配置\ntitle: Hexo # 网站标题\nsubtitle: # 网站副标题\ndescription: # 网站描述\nauthor: John Doe # 你的昵称\nlanguage: # 网站使用的语言(英文:en, 简体中文:zh-Hans,繁体中文:zh-tw)\ntimezone: # 网站时区,用于生成页面时填充相关时间,默认使用电脑时区,一般不用改\n\n# URL\n## 如果你的站点要放入子目录, 请将url设置为'http://yoursite.com/child' 并将根目录设置为'/child/'\nurl: http://yoursite.com # 站点网址\nroot: / # 网站根目录\npermalink: :year/:month/:day/:title/ #文单的永久链接格式\npermalink_defaults: # 永久链接中各部分的默认值\n\n# 目录\nsource_dir: source # 资源文件夹,这个文件夹用来存放博客内容\npublic_dir: public # 公共文件夹,这个文件夹用来存放生成的站点静态文件\ntag_dir: tags # 标签文件夹\narchive_dir: archives # 归档文件夹\ncategory_dir: categories # 分类文件夹\ncode_dir: downloads/code # Include code文件夹\ni18n_dir: :lang # 国际化文件夹,存放各种语言定义\nskip_render: # 跳过指定文件的渲染\n\n# 写作\nnew_post_name: :title.md # 新文章的文件名称\ndefault_layout: post # 预设布局\ntitlecase: false # 把标题转换为 title case\nexternal_link: true # 在新标签中打开链接\nfilename_case: 0 # 把文件名称转换为 (1) 小写或 (2) 大写\nrender_drafts: false # 显示草稿\npost_asset_folder: false # 启动 Asset 文件夹\nrelative_link: false # 把链接改为与根目录的相对位址\nfuture: true # 显示未来的文章\nhighlight: # 代码块的设置\n enable: true\n line_number: true\n auto_detect: false\n tab_replace:\n\n# 分类 & 标签\ndefault_category: uncategorized # 默认分类\ncategory_map: # 分类别名\ntag_map: # 标签别名\n\n# 日期 / 时间格式\n## Hexo 使用 Moment.js 来解析和显示时间\n## http://momentjs.com/docs/#/displaying/format/\ndate_format: YYYY-MM-DD # 日期格式\ntime_format: HH:mm:ss # 时间格式\n\n# 分页\n## 每页显示的文章量 (0 = 关闭分页功能)\nper_page: 10\npagination_dir: page\n\n# 扩展\n## Plugins: https://hexo.io/plugins/\n## Themes: https://hexo.io/themes/\ntheme: landscape # 主题\n\n# 部署\n## Docs: https://hexo.io/docs/deployment.html\ndeploy:\n type:\n```\n\n{% endfold %}\n\n### Wikitten主题\n\n具体配置参考[开发者说明](https://github.com/zthxxx/hexo-theme-Wikitten/blob/master/README_zh-CN.md),更详细的描述参阅[hexo-theme-icarus](https://github.com/ppoffice/hexo-theme-icarus/wiki)。为了与主题Next不冲突,作以下修改。\n\n1. 自行修改 `tags`, `about`,`categories` 等`index.md`,而不能从主题复制,覆盖站点原有设置。\n2. `languages\\zh-CN.yml` 重命名为 `zh-Hans.yml`\n3. `_config.yml` 菜单作以下更改\n\n```ini\nmenu:\n 首页: /\n 归档: /archives/\n 分类: /categories/\n 标签: /tags/\n 关于: /about/\n```\n\n4. `thumbnail: true` 使得每个post在快速列表里,显示图标。但就是每个帖子都要设定,很麻烦。\n5. post 中的 toc 要设置为 true,如果需要显示目录的话。\n\n### 同时部署两个项目\n\n第一个项目使用 Github 上面默认的 Github Pages,即 `username.github.io` 。在站点配置文件中如下:\n\n```\nurl: http://username.github.io\nroot: /\n...\n...\ndeploy:\n type: git\n repository: git@github.com:username/username.github.io.git\n branch: master\n\n```\n\n\n第二个站点开通一个 普通的repository,添加名为`gh-pages` 的Branch,并将gh-pages` 设为默认Branch。我将第二个仓库命名为 wiki ,那第二个站点就运行在 `https://username.github.io/wiki`次级目录下面。\n\n站点配置文件更改如下:\n\n```\nurl: http://username.github.io/wiki\nroot: /wiki/\n...\n...\ndeploy:\n type: git\n repository: git@github.com:username/wiki.git\n branch: gh-pages\n```\n\n同样用 `hexo d -g` 部署命令发布,两个站点就都运行起来了。\n\n为了使得两个项目使用同一个笔记资源,将站点中的 source 文件夹移到项目意外,将配置文件里的 `source_dir: source` 改为 `source_dir: ../source`(这里使用了相对目录)。\n\n[参考文章][multipages] (细节已经失效,但思路值得参考)\n\n### 站内搜索\n\n1. 安装插件\n\n```shell\nnpm install hexo-generator-search --save\nnpm install hexo-generator-searchdb --save\n```\n\n2. 配置hexo站点主配置文件``_config.yml``, 添加\n\n```ini\nsearch:\n path: search.xml\n field: post\n format: html\n limit: 10000\n```\n\n3. 修改next主题配置文件`_config.yml`,启用 `local_search`\n\n```ini\nlocal_search:\n\tenable: true\n\ttrigger: auto\n\ttop_n_per_article: 1\n```\n\n4. 生成`search.xml`文件以及发布\n\n```shell\nhexo g\nhexo d -g # 本地运行 hexo s\n```\n\n### 去除主题字样\n\n关于添加头像、标签、分类、「关于」等具体的修改,跟着参考资料[^2]里面的步骤做就好了。最后说说如何去掉底部强力驱动及主题字样。\n\n1. 找到 `\\themes\\next\\layout_partials\\`下面的`footer.swig`文件,打开:\n\n```html\n\n {{ __('footer.powered', '
Hexo ') }}\n
\n\n```\n\n第一条是“由Hexo驱动” 的Hexo链接,把xml段删除,只留两个单引号''。\n\n第二条是“主题-Next.XX”,将xml段都删掉,不留引号。\n\n```html\n\n {{ __('footer.powered', '') }}\n
\n\n {{ __('footer.theme') }}\n
\n```\n\n2. 找到这个地方`\\themes\\next\\languages\\ `下面的语言文件`zh-Hans.yml`(以中文为例):\n\n```ini\nfooter:\n powered: \"由 %s 强力驱动\"\n theme: 主题\n```\n\n将上面的文字改成自己想要的即可。\n\n## 添加评论功能\n\n#### Gitment\n\n**此项目已经终止!**改为Disqus,以及其它评论服务。\n\n1. 安装功能模块。在项目的根目录:\n\n```shell\nnpm i --save gitment\n```\n\n2. 在Github申请应用。`settings -> Developer Settings -> OAuth Apps`\n\n```ini\nApplication name:随便写\nHomepage URL:这个也可以随意写,就写你的博客地址就行\nApplication description:描述,也可以随意写\nAuthorization callback URL:这个必须写你的博客地址\n```\n\n申请好之后点注册,然后就可以看到两个东西`ClientID`和`Client Secret`,后面会用到。\n\n3. 配置Gitment,打开`themes/next/_config.yml`:\n\n```javascript\n# Gitment\n# Introduction: https://imsun.net/posts/gitment-introduction/\ngitment:\n enable: true\n mint: true # RECOMMEND, A mint on Gitment, to support count, language and proxy_gateway\n count: true # Show comments count in post meta area\n lazy: false # Comments lazy loading with a button\n cleanly: false # Hide 'Powered by ...' on footer, and more\n language: # Force language, or auto switch by theme\n github_user: {you github user id}\n github_repo: 随便写一个你的公开的git仓库就行,到时候评论会作为那个项目的issue\n client_id: {刚才申请的ClientID}\n client_secret: {刚才申请的Client Secret}\n proxy_gateway: # Address of api proxy, See: https://github.com/aimingoo/intersect\n redirect_protocol: # Protocol of redirect_uri with force_redirect_protocol when mint enabled\n```\n\n注意到这里基本上已经OK了,再看你的博客应该可以显示评论了.不过每篇博客都需要你手动初始化评论功能(如果你的历史博客很多那就一篇一篇去点吧,不过貌似有人写了批量处理脚本,没试过哈).\n\n而由于 github 中 `Issues` 的 `label` 长度限制为最大 `50` 个字符,当 文章标题长度过长时,该label就会生成失败,而导致初始化错误,弹出 `Validation Failed` 的提示。\n\n通过网上的搜索,发现可以使用文章创建时的时间来代替文章标题,作为这个唯一的label标签。\n\n找到giment的配置:`/themes/next/layout/_third-party/comments/gitment.swig` 文件, 并找到如下部分:\n\n```javascript\nvar gitment = new {{CommentsClass}}({\n id: window.location.pathname,\n owner: '{{ theme.gitment.github_user }}',\n repo: '{{ theme.gitment.github_repo }}',\n ...\n```\n\n将`id`后面的路径值修改为 'itfanr\\_blog\\_\\{{ date(page.date, \"YYYYMMDDhhmmss\") \\}}' 就可以了。\n\n#### Disqus\n\n目前只开通[Disqus](https://disqus.com/)的评论。\n\n1. 开通Disqus账号,并添加一个点 应用。具体步骤参看[Hexo搭建博客系列:(六)Hexo添加Disqus评论](https://www.jianshu.com/p/d68de067ea74)。\n2. 在`主题配置文件`(_config.yml)文件中找到以下代码,添加你Disqus设置的Website Name在shortname。\n\n```json\n# Disqus\ndisqus:\n enable: true\n shortname: tian-ya-de-zhi-fu\n count: true\n```\n\n更详细请参阅网上。\n\n\n\n## 新文章命名规则\n\n发表新文章后系统崩溃。\n\n在根目录的配置文件中找到类似的:\n\n```\n# Writing\nnew_post_name: 新文章.md # File name of new posts\ndefault_layout: post\n...\n```\n\n将其改为由时间和题目组成: \n\n```\n# Writing\nnew_post_name: year-:month-:day-:title.md # File name of new posts\ndefault_layout: post\n...\n```\n\n\n\n# 进阶设置\n\n## 显示\n\n### 首页文章显示预览\n\n默认设定下。首页的文章每一篇都显示全文,不方便浏览。需要到主题的配置文件里将`auto_excerpt` 的 `enable` 改为 `true`。而`length` 字节表示文章预览的长度。\n\n```\n# Automatically Excerpt. Not recommand.\nauto_excerpt:\n\tenable: true\n\tlength: 300\n```\n\n### 永久链接\n\n新文章的名字采用了中文([见上](#id_new_post_name)),中文出现在地址栏上不美观。也不利于SEO,以及增加了博文URL的层数。解决办法是给每篇文章制定链接地址。\n\n1. 修改网站的配置文件中永久地址的设定:\n\n```ini\npermalink: :urlname.html\n```\n\n2. 给每篇文章指定 `urlname`\n\n```ini\ntitle: 《少有人走的路》笔记\ndate: 2019-07-21 00:14:37\nurlname: road-less-traveled-summary\ntags:\n - 心理学\ncategories: 读书笔记\n```\n\n编译后新的地址为 `http://mywiki.test/road-less-traveled-summary.html`。看起来就清爽多了。\n\n### 图片链接\n\n1. 开通[资源文件夹](https://hexo.io/zh-cn/docs/asset-folders),创建新文章的时候会自动建立一个与文章同名的文件夹。可以将图片或者其它资源文件放到里面(*打算将思维导图放到这里*)。因为自定义了[文件名的方式](#id_new_post_name),所以根据官方描述无效。\n2. 安装第三方插件`hexo-asset-image`\n\n```bash\nnpm install hexo-asset-image --save\n```\n\n在文章中图片的链,可以省略路径,直接引用图片名:\n\n```markdown\n![mypicture](mypicture.jpg)\n```\n\n3. 修改插件代码\n\n我在使用永久链接的时候在每篇文章的实际地址都加上了`.html`。文章的地址显示如下\n\n```http\nhttp://mywebsite.com/my-articel-url.html\n```\n\n而插件生成的图片地址如下:\n\n```\nhttp://mywebsite.com/my-articel-url.htm/mypicture.jpg\n```\n\n多出了 `.htm` 这几个字符,而实际图片的地址应该是:\n\n```http\nhttp://mywebsite.com/my-articel-url/mypicture.jpg\n```\n\n找到 `node_modules/hexo-asset-imge` 目录下的 `index.js` 文件,将以下代码中的 `1` 改成 `5`,就可以正常显示图片了。\n\n```javascript\nvar endPos = link.length - 1\n```\n\n考虑到将来项目膨胀,应该将图片放到图床,比如七牛。\n\n### 站内链接\n\n导航到站内别的文章使用以下方式就可以。\n\n链接方式 `[文章名](urlname.html)`\n\n\n\n### 设定代码区的高度\n\nHexo自身的式样暂时还没找到。其实也不太需要。如果代码不长直接显示全部就好了。太长的话不如放到$Gits$,通过限制gist的高度实现。**Net**主题修改 `next/themes/next/source/css/_custom/custom.styl` ,Wikitten主题则在文件 `wikitten/themes/Wikitten/source/css/_partial/article.styl` 中修改。\n\n```CSS\n.gist \n.gist-file\n.gist-data {\n max-height: 450px;\n}\n```\n\n\n\n### 添加注脚支持\n\n[插件项目](https://github.com/LouisBarranqueiro/hexo-footnotes)\n\n1. 安装插件 `npm install hexo-footnotes --save`\n2. **项目配置文件** 添加\n\n```ini\n# 注意第二行的前面没有 \"-\" 符号,官方说明有. 但是会导致无法编译.\nplugins:\n hexo-footnotes\n```\n\n\n\n### 更换Markdown渲染\n\n[Markdown-it-plus](https://github.com/CHENXCHEN/hexo-renderer-markdown-it-plus)\n\n如果更换了这个渲染,就无需上面那个注脚插件, 因为已经支持了. 首先卸载掉旧的渲染, 然后安装新的.\n\n```sh\nnpm un hexo-renderer-marked --save\nnpm i hexo-renderer-markdown-it-plus --save\n# 查看是否已经安装\nnpm ls hexo-renderer-markdown-it-plus\n```\n\n然后在项目配置文件, 添加下面文字. 更深入的设置, 参看 markdown-it-plus 项目的说明文档.\n\n```ini\nmarkdown_it_plus:\n highlight: true\n html: true\n xhtmlOut: true\n breaks: true\n langPrefix:\n linkify: true\n typographer:\n quotes: “”‘’\n plugins:\n```\n\n\n\n## 辅助功能\n\n### 本地运行服务\n\n在Mac中可以用本地服务[Pow](http://pow.cx)运行网站,不用每次更改重启服务器`hexo s`。\n\n1. 安装Pow\n\n```bash\n$ curl get.pow.cx | sh\n```\n\n2. 建立项目链接,`myapp` 是项目的名字。比如真实路径`~/Project/mywiki`\n\n```bash\n$ cd ~/.pow\n$ ln -s /path/to/myapp\n```\n\n3. 执行完以上步骤后在浏览器打开链接 ``http://myapp.test/`` 就能看到网站。更改内容后要执行==生成== 命令才能看到更新`hexo generate` or `hexo g` 。\n4. 不想运行,直接把项目文件夹删除就可以。\n\n### 绑定个人域名\n\n1. 在万网买一个顶级域名,开通后添加两个域名解释\n\n```ini\n#记录名 主机记录 记录值\nCNAME www username.github.io\nCNAME @ username.github.io\n```\n\n2. 在项目的根目录添加一个名为 `CNAME` 的文件,然后填入万网注册的域名, 这里是 `goldentianya.pub` 。第一次我是手动添加的。添加后进入 repository 的 setting, 往下混动到 Custom domain ,可以看到系统已经自动把用户域名加进去了。\n3. 将来不希望用这个域名,域名重定向后,在浏览器输入 username.github.io 后 Chrome 会一直转向 goldentianya.pub 。需要打开`开发者工具`,选中 `disable cache` ,再刷新一遍地址就好了。\n4. `next` 项目要将 `CNAME` 文件复制到 `/themes/next/source` 目录下个,编译的时候会拷贝到 `public` 目录。`wikitten` 项目不需要,域名定向以后能找到 `goldentianya/wiki` 站点,十分神奇。\n\n### 隐藏文章\n\n#### 全隐藏\n\n根据插件`hext-sage-posts` 作者的博文[^9]中描述,安装插件\n\n```bash\nnpm install hexo-sage-posts --save\n```\n\n并将初创时的`Hello-world.md` 文章的Metadata中加入`sage: true`,文章就从网站上消失了。但在别的文章下面导航栏中,通过“下一篇”或者“上一篇”还是能被找到。被隐藏的文章其地址仍旧没有改变,只是不不出现在首页导航,和分类中而已。\n\n#### 从首页隐藏\n\n为了不让太琐碎的文章充斥首页,但又可以在分类中找到。可以采用这种方式。\n\n1. 在文章的Metadata部分添加关键字 `notshow: true`。\n2. 找到 `Hexo\\themes\\next\\layout\\index.swig` 文件中以下部分:\n\n```html\n{% block content %}\n \n {% for post in page.posts %}\n {{ post_template.render(post, true) }} \n {% endfor %}\n \n\n {% include '_partials/pagination.swig' %}\n{% endblock %}\n```\n\n将以上代码第四行修改为\n\n```html\n{% if post.notshow != true %}\n\t{{ post_template.render(post, true) }}\n{% endif %}\n```\n\n\n\n#### 文章加密\n\n1. 安装插件 `hexo-blog-encrypt`\n\n```\nnpm install --save hexo-blog-encrypt\n```\n\n并在**站点配置**文件中启用该插件:\n\n```json\nencrypt:\n enable: true\n```\n\n2. 然后在文章的头部添加上对应的字段\n\n```ini\n---\ntitle: 文章加密\ndate: 2019-01-04T22:20:13.000Z\ncategory: 教程\ntags:\n - 博客\n - Hexo\nkeywords: 博客文章密码\npassword: TloveY\nabstract: 此文章含有敏感内容。\nmessage: 输入密码,查看文章\n---\n```\n\n- password: 是该博客加密使用的密码\n\n- abstract: 是该博客的摘要,会显示在博客的列表页\n\n- message: 这个是博客查看时,密码输入框上面的描述性文字\n\n\n\n### Hexo Admin\n\n安装后台管理插件 `hexo-damin`\n\n```bash\nnpm install --save hexo-admin\nhexo server -d\nopen http://localhost:4000/admin/\n```\n\n初次运行后,设置管理账户。\n\n```\nadmin:\n username: maiernte\n password_hash: $2a$10$QeeWfDwIxbJ94h8EDfplDe9aLB0uaNrjMeVGhaYnfF0BBDosDze0S\n secret: NamoAmitabha!\n```\n\n### 访问量统计\n\n[介绍文章](https://bjtu-hxs.github.io/2018/06/12/leancloud-config/) (*有图*)\n\n[原文(有代码)](https://notes.doublemine.me/2015-10-21-%E4%B8%BANexT%E4%B8%BB%E9%A2%98%E6%B7%BB%E5%8A%A0%E6%96%87%E7%AB%A0%E9%98%85%E8%AF%BB%E9%87%8F%E7%BB%9F%E8%AE%A1%E5%8A%9F%E8%83%BD.html#%E9%85%8D%E7%BD%AELeanCloud)\n\n1. 第一步, 到Lean Cloud增添一个应用,并创建类似Counter 的类。设置成 $ 所有人可读可写 $\n2. 在安全中心添加 **Web 安全域名**, 添加Blog域名,防止有人Hack我们的数据库。\n\n3. 按上面的文章修改 Hexo 以及主题配置。\n\n\n\n### 在线交流\n\n使用 [道客](https://www.daovoice.io/) Daovoice\n\n接入方式\n\n1. 将下面代码粘贴在页面的 之前。\n\n```\n\n```\n\n2. 调用下面的 JavaScript 与注册用户沟通\n\n```\ndaovoice('init', {\n app_id: \"5e5fa370\",\n user_id: \"NO_89757\", // 必填: 该用户在您系统上的唯一ID\n email: \"daovoice@example.com\", // 选填: 该用户在您系统上的主邮箱\n name: \"道客船长\", // 选填: 用户名\n signed_up: 1449821660 // 选填: 用户的注册时间,用Unix时间戳表示\n});\ndaovoice('update');\n```\n\n3. 调用下面的 JavaScript 与匿名访客沟通\n\n```\ndaovoice('init', {\n app_id: \"5e5fa370\"\n});\ndaovoice('update');\n```\n\n完成代码粘贴后,检测是否成功接入: Ping 一下\n\n\n\n### 待解决问题\n\n- [x] 文章评论\n- [x] 在线编辑?\n- [x] 使用七牛图床\n- [ ] 脑图摆放 ([官方文档/数据文件](https://hexo.io/zh-cn/docs/data-files))\n- [x] 文件下载(可能还是要靠七牛)\n- [x] 用submodule管理主题 [在 hexo 中使用 git submodules 管理主题](https://juejin.im/post/5c2e22fcf265da615d72c596)\n- [ ] SEO\n- [ ] 访问量统计\n- [ ] 加速 [Github Pages + CDN全站加速](https://www.jianshu.com/p/ccc0cc8c14a0)\n\n- [ ] [在vps上部署hexo博客的那些事](https://segmentfault.com/a/1190000019104144)\n\n# 有趣插件\n\n- [x] [短地址 & 指定摘要](https://www.jianshu.com/p/805bd0b65d98) \n\n- [ ] [农历/很好的学习做插件的例子](https://github.com/inchei/hexo-lunar-calendar)\n\n- [ ] [插入pdf](https://github.com/superalsrk/hexo-pdf/) 可以学习如何插入epub\n\n- [ ] [hexo-include](https://github.com/pirtleshell/hexo-include) 加载文本内容, html, js, text\n\n- [x] [Hexo-NexT给文章添加结束语](https://wangc1993.github.io/2019/01/10/6/)\n\n- [x] [Hexo-NexT接入网页在线联系功能](https://wangc1993.github.io/2019/01/10/5/)\n\n- [ ] [include markdown](https://github.com/tea3/hexo-include-markdown)\n\n\n\n### ---\n\n\n\n[^1]: [Hexo博客搭建全攻略(一):基于Hexo+Github环境搭建](https://blog.annieyu.com/posts/207737771.html)\n[^2]: [Hexo博客搭建全攻略(二):NexT主题配置](https://blog.annieyu.com/posts/976961586.html)\n[^3]: [Hexo博客搭建全攻略(三):三方服务集成](https://blog.annieyu.com/posts/1209152972.html)\n[^4]: [Hexo博客搭建全攻略(四):高级应用](https://blog.annieyu.com/posts/3333782006.html)\n[^5]: [Hexo博客搭建全攻略(五):基于Github Issue搭建评论系统](https://blog.annieyu.com/posts/a341668e.html)\n[^6]: [Hexo博客搭建全攻略(六):博文图片处理](https://www.jianshu.com/p/2bb87ae49ff6)\n[^7]: [十步之内轻松搞定 Hexo + GitHub搭建个人博客](https://gavinlee1.github.io/2017/02/25/%E5%8D%81%E6%AD%A5%E4%B9%8B%E5%86%85%E8%BD%BB%E6%9D%BE%E6%90%9E%E5%AE%9A-Hexo-GitHub%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/) \n[^8]: [如何优雅的 隐藏博客](https://vanchchen.github.io/p/7587.html)\n[^9]: [为 Hexo 博客添加隐藏文章 / 限定公开功能](https://blessing.studio/hexo-plugin-to-make-posts-sage-unlisted/)\n[^10]: [Hexo 中文文档](https://hexo.io/zh-cn/docs/index.html)\n\n[multipages]: ttp://chitanda.me/2015/11/03/multiple-git-pages-in-one-github-account/\n\n[讲解详细的博客](https://binglumeng.github.io/2017/03/21/Hexo学习笔记/) \n\n[这个也不错](http://yearito.cn/posts/hexo-advanced-settings.html)\n\n\n","slug":"IT/Web/搭建Hexo博客的流水账","published":1,"updated":"2019-08-15T10:44:25.000Z","_id":"cka1y59a2004u4huur56brcea","comments":1,"layout":"post","photos":[],"link":"","content":"建立网站 \nGithub配置 \n输入命令 ssh-keygen -t rsa -b 4096 -C "myname@gmail.com"
。
\n密码 T1
。(下列展开后复制)
\n\n将文件 ~/.ssh/id_rsa.pub 中的内容复制到 Github 的SSH-Key 内就可以了。(备份文件已上传百度网盘)
\n \n\n在Github上新建SSH-Key名称为gmail
\n \n具体步骤参阅此文章
\n1 2 3 4 5 6 7 8 9 10 11 12 ssh-keygen -t rsa -b 4096 -C "username@gmail.com" [Enter] [password T..1] eval "$(ssh-agent -s)" ssh-add -K ~/.ssh/id_rsa cd ~ cd .ssh ls vim id_rsa.pub (然后复制钥匙串)
\n\n测试公匙 \n \n1 2 3 $ ssh -T git@github.com Hi username! You've successfully authenticated, but GitHub does not provide shell access.
\n安装Hexo \n参考资料1 7 。
\n\n安装node.js 因为以前已经安装过,所以跳过。 \n安装 Hexo $ npm install hexo-cli -g
\n创建网站 \n \n1 2 3 4 mkdir mywiki cd mywiki hexo init npm install
\n\n生成静态页面 hexo g
or hexo generate
\n启动本地网站服务 hexo s
or hexo server
\n \n\n网站一般会运行在 http://localhost:4000/ \nPress Ctrl+C to stop.
\n \n\n用pow做服务本地运行 \n \nInstall
\n \nSetup
\nSymlink the folder into ~/.pow
\n1 2 $ cd ~/.pow $ ln -s /path/to/test
\n发布到Github \n终于搭建好站点部署环境啦,那么要怎么样将我们本地生成预览好的页面发布到github上呢?很简单,Follow!
\n首先,打开blog目录下的_config.yml
,找到deploy段,配置成这样
\n\ndeploy: \ntype: git \nrepository: git@github.com :yourname/yourname.github.io.git \nbranch: master
\n \n注意将代码里面的yourname换成你账号的username。
\n设置git身份信息
\n\ngit config --global user.name “你的用户名” \ngit config --global user.email “你的邮箱”
\n \n执行以下指令进行部署
\nhexo d -g
\n如果提示没找到git,请先执行以下指令
\ncnpm install hexo-deployer-git --save
\n再次部署后,浏览器打开 https://yourname.github.io 就可以看到刚才本地预览页面。
\n网站基本配置 \nNext 主题 \n主题配置文件说明
\n\n
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 title: Hexo # 网站标题 subtitle: # 网站副标题 description: # 网站描述 author: John Doe # 你的昵称 language: # 网站使用的语言(英文:en, 简体中文:zh-Hans,繁体中文:zh-tw) timezone: # 网站时区,用于生成页面时填充相关时间,默认使用电脑时区,一般不用改 url: http://yoursite.com # 站点网址 root: / # 网站根目录 permalink: :year/:month/:day/:title/ #文单的永久链接格式 permalink_defaults: # 永久链接中各部分的默认值 source_dir: source # 资源文件夹,这个文件夹用来存放博客内容 public_dir: public # 公共文件夹,这个文件夹用来存放生成的站点静态文件 tag_dir: tags # 标签文件夹 archive_dir: archives # 归档文件夹 category_dir: categories # 分类文件夹 code_dir: downloads/code # Include code文件夹 i18n_dir: :lang # 国际化文件夹,存放各种语言定义 skip_render: # 跳过指定文件的渲染 new_post_name: :title.md # 新文章的文件名称 default_layout: post # 预设布局 titlecase: false # 把标题转换为 title case external_link: true # 在新标签中打开链接 filename_case: 0 # 把文件名称转换为 (1) 小写或 (2) 大写 render_drafts: false # 显示草稿 post_asset_folder: false # 启动 Asset 文件夹 relative_link: false # 把链接改为与根目录的相对位址 future: true # 显示未来的文章 highlight: # 代码块的设置 enable: true line_number: true auto_detect: false tab_replace: default_category: uncategorized # 默认分类 category_map: # 分类别名 tag_map: # 标签别名 date_format: YYYY-MM-DD # 日期格式 time_format: HH:mm:ss # 时间格式 per_page: 10 pagination_dir: page theme: landscape # 主题 deploy: type:
\n\n
\nWikitten主题 \n具体配置参考开发者说明 ,更详细的描述参阅hexo-theme-icarus 。为了与主题Next不冲突,作以下修改。
\n\n自行修改 tags
, about
,categories
等index.md
,而不能从主题复制,覆盖站点原有设置。 \nlanguages\\zh-CN.yml
重命名为 zh-Hans.yml
\n_config.yml
菜单作以下更改 \n \n1 2 3 4 5 6 menu: 首页: / 归档: /archives/ 分类: /categories/ 标签: /tags/ 关于: /about/
\n\nthumbnail: true
使得每个post在快速列表里,显示图标。但就是每个帖子都要设定,很麻烦。 \npost 中的 toc 要设置为 true,如果需要显示目录的话。 \n \n同时部署两个项目 \n第一个项目使用 Github 上面默认的 Github Pages,即 username.github.io
。在站点配置文件中如下:
\n1 2 3 4 5 6 7 8 url: http://username.github.io root: / ... ... deploy: type: git repository: git@github.com:username/username.github.io.git branch: master
\n第二个站点开通一个 普通的repository,添加名为gh-pages
的Branch,并将gh-pages设为默认Branch。我将第二个仓库命名为 wiki ,那第二个站点就运行在
https://username.github.io/wiki`次级目录下面。
\n站点配置文件更改如下:
\n1 2 3 4 5 6 7 8 url: http://username.github.io/wiki root: /wiki/ ... ... deploy: type: git repository: git@github.com:username/wiki.git branch: gh-pages
\n同样用 hexo d -g
部署命令发布,两个站点就都运行起来了。
\n为了使得两个项目使用同一个笔记资源,将站点中的 source 文件夹移到项目意外,将配置文件里的 source_dir: source
改为 source_dir: ../source
(这里使用了相对目录)。
\n参考文章 (细节已经失效,但思路值得参考)
\n站内搜索 \n\n安装插件 \n \n1 2 npm install hexo-generator-search --save npm install hexo-generator-searchdb --save
\n\n配置hexo站点主配置文件_config.yml
, 添加 \n \n1 2 3 4 5 search: path: search.xml field: post format: html limit: 10000
\n\n修改next主题配置文件_config.yml
,启用 local_search
\n \n1 2 3 4 local_search: \tenable: true \ttrigger: auto \ttop_n_per_article: 1
\n\n生成search.xml
文件以及发布 \n \n1 2 hexo g hexo d -g # 本地运行 hexo s
\n去除主题字样 \n关于添加头像、标签、分类、「关于」等具体的修改,跟着参考资料2 里面的步骤做就好了。最后说说如何去掉底部强力驱动及主题字样。
\n\n找到 \\themes\\next\\layout_partials\\
下面的footer.swig
文件,打开: \n \n1 2 3 4 5 6 7 8 9 <div class =\"powered-by\" > {{ __('footer.powered', '<a class =\"theme-link\" href =\"https://hexo.io\" > Hexo</a > ') }} </div > <div class =\"theme-info\" > {{ __('footer.theme') }} - <a class =\"theme-link\" href =\"https://github.com/iissnan/hexo-theme-next\" > NexT.{{ theme.scheme }} </a > </div >
\n第一条是“由Hexo驱动” 的Hexo链接,把xml段删除,只留两个单引号’’。
\n第二条是“主题-Next.XX”,将xml段都删掉,不留引号。
\n1 2 3 4 5 6 <div class =\"powered-by\" > {{ __('footer.powered', '') }} </div > <div class =\"theme-info\" > {{ __('footer.theme') }} </div >
\n\n找到这个地方\\themes\\next\\languages\\
下面的语言文件zh-Hans.yml
(以中文为例): \n \n1 2 3 footer: powered: \"由 %s 强力驱动\" theme: 主题
\n将上面的文字改成自己想要的即可。
\n添加评论功能 \nGitment \n**此项目已经终止!**改为Disqus,以及其它评论服务。
\n\n安装功能模块。在项目的根目录: \n \n \n\n在Github申请应用。settings -> Developer Settings -> OAuth Apps
\n \n1 2 3 4 Application name:随便写 Homepage URL:这个也可以随意写,就写你的博客地址就行 Application description:描述,也可以随意写 Authorization callback URL:这个必须写你的博客地址
\n申请好之后点注册,然后就可以看到两个东西ClientID
和Client Secret
,后面会用到。
\n\n配置Gitment,打开themes/next/_config.yml
: \n \n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # Gitment # Introduction: https://imsun.net/posts/gitment-introduction/ gitment: enable: true mint: true # RECOMMEND, A mint on Gitment, to support count, language and proxy_gateway count: true # Show comments count in post meta area lazy: false # Comments lazy loading with a button cleanly: false # Hide 'Powered by ...' on footer, and more language: # Force language, or auto switch by theme github_user: {you github user id} github_repo: 随便写一个你的公开的git仓库就行,到时候评论会作为那个项目的issue client_id: {刚才申请的ClientID} client_secret: {刚才申请的Client Secret} proxy_gateway: # Address of api proxy, See: https://github.com/aimingoo/intersect redirect_protocol: # Protocol of redirect_uri with force_redirect_protocol when mint enabled
\n注意到这里基本上已经OK了,再看你的博客应该可以显示评论了.不过每篇博客都需要你手动初始化评论功能(如果你的历史博客很多那就一篇一篇去点吧,不过貌似有人写了批量处理脚本,没试过哈).
\n而由于 github 中 Issues
的 label
长度限制为最大 50
个字符,当 文章标题长度过长时,该label就会生成失败,而导致初始化错误,弹出 Validation Failed
的提示。
\n通过网上的搜索,发现可以使用文章创建时的时间来代替文章标题,作为这个唯一的label标签。
\n找到giment的配置:/themes/next/layout/_third-party/comments/gitment.swig
文件, 并找到如下部分:
\n1 2 3 4 5 var gitment = new {{CommentsClass}}({ id: window .location.pathname, owner: '{{ theme.gitment.github_user }}' , repo: '{{ theme.gitment.github_repo }}' , ...
\n将id
后面的路径值修改为 ‘itfanr_blog_<!–1–>’ 就可以了。
\n\n目前只开通Disqus 的评论。
\n\n开通Disqus账号,并添加一个点 应用。具体步骤参看Hexo搭建博客系列:(六)Hexo添加Disqus评论 。 \n在主题配置文件
(_config.yml)文件中找到以下代码,添加你Disqus设置的Website Name在shortname。 \n \n1 2 3 4 5 # Disqus disqus: enable: true shortname: tian-ya-de-zhi-fu count: true
\n更详细请参阅网上。
\n新文章命名规则 \n发表新文章后系统崩溃。
\n在根目录的配置文件中找到类似的:
\n1 2 3 4 # Writing new_post_name: 新文章.md # File name of new posts default_layout: post ...
\n将其改为由时间和题目组成:
\n1 2 3 4 # Writing new_post_name: year-:month-:day-:title.md # File name of new posts default_layout: post ...
\n进阶设置 \n显示 \n首页文章显示预览 \n默认设定下。首页的文章每一篇都显示全文,不方便浏览。需要到主题的配置文件里将auto_excerpt
的 enable
改为 true
。而length
字节表示文章预览的长度。
\n1 2 3 4 # Automatically Excerpt. Not recommand. auto_excerpt: \tenable: true \tlength: 300
\n永久链接 \n新文章的名字采用了中文(见上 ),中文出现在地址栏上不美观。也不利于SEO,以及增加了博文URL的层数。解决办法是给每篇文章制定链接地址。
\n\n修改网站的配置文件中永久地址的设定: \n \n1 permalink: :urlname.html
\n\n给每篇文章指定 urlname
\n \n1 2 3 4 5 6 title: 《少有人走的路》笔记 date: 2019-07-21 00:14:37 urlname: road-less-traveled-summary tags: - 心理学 categories: 读书笔记
\n编译后新的地址为 http://mywiki.test/road-less-traveled-summary.html
。看起来就清爽多了。
\n图片链接 \n\n开通资源文件夹 ,创建新文章的时候会自动建立一个与文章同名的文件夹。可以将图片或者其它资源文件放到里面(打算将思维导图放到这里 )。因为自定义了文件名的方式 ,所以根据官方描述无效。 \n安装第三方插件hexo-asset-image
\n \n1 npm install hexo-asset-image --save
\n在文章中图片的链,可以省略路径,直接引用图片名:
\n1 ![mypicture ](mypicture.jpg )
\n\n修改插件代码 \n \n我在使用永久链接的时候在每篇文章的实际地址都加上了.html
。文章的地址显示如下
\n1 http://mywebsite.com/my-articel-url.html
\n而插件生成的图片地址如下:
\n1 http://mywebsite.com/my-articel-url.htm/mypicture.jpg
\n多出了 .htm
这几个字符,而实际图片的地址应该是:
\n1 http://mywebsite.com/my-articel-url/mypicture.jpg
\n找到 node_modules/hexo-asset-imge
目录下的 index.js
文件,将以下代码中的 1
改成 5
,就可以正常显示图片了。
\n1 var endPos = link.length - 1
\n考虑到将来项目膨胀,应该将图片放到图床,比如七牛。
\n站内链接 \n导航到站内别的文章使用以下方式就可以。
\n链接方式 [文章名](urlname.html)
\n设定代码区的高度 \nHexo自身的式样暂时还没找到。其实也不太需要。如果代码不长直接显示全部就好了。太长的话不如放到$Gits$,通过限制gist的高度实现。Net 主题修改 next/themes/next/source/css/_custom/custom.styl
,Wikitten主题则在文件 wikitten/themes/Wikitten/source/css/_partial/article.styl
中修改。
\n1 2 3 4 5 .gist .gist-file .gist-data { max-height : 450px ; }
\n添加注脚支持 \n插件项目
\n\n安装插件 npm install hexo-footnotes --save
\n项目配置文件 添加 \n \n1 2 3 plugins: hexo-footnotes
\n更换Markdown渲染 \nMarkdown-it-plus
\n如果更换了这个渲染,就无需上面那个注脚插件, 因为已经支持了. 首先卸载掉旧的渲染, 然后安装新的.
\n1 2 3 4 npm un hexo-renderer-marked --save npm i hexo-renderer-markdown-it-plus --save npm ls hexo-renderer-markdown-it-plus
\n然后在项目配置文件, 添加下面文字. 更深入的设置, 参看 markdown-it-plus 项目的说明文档.
\n1 2 3 4 5 6 7 8 9 10 markdown_it_plus: highlight: true html: true xhtmlOut: true breaks: true langPrefix: linkify: true typographer: quotes: “”‘’ plugins:
\n辅助功能 \n本地运行服务 \n在Mac中可以用本地服务Pow 运行网站,不用每次更改重启服务器hexo s
。
\n\n安装Pow \n \n \n\n建立项目链接,myapp
是项目的名字。比如真实路径~/Project/mywiki
\n \n1 2 $ cd ~/.pow $ ln -s /path/to/myapp
\n\n执行完以上步骤后在浏览器打开链接 http://myapp.test/
就能看到网站。更改内容后要执行==生成== 命令才能看到更新hexo generate
or hexo g
。 \n不想运行,直接把项目文件夹删除就可以。 \n \n绑定个人域名 \n\n在万网买一个顶级域名,开通后添加两个域名解释 \n \n1 2 3 CNAME www username.github.io CNAME @ username.github.io
\n\n在项目的根目录添加一个名为 CNAME
的文件,然后填入万网注册的域名, 这里是 goldentianya.pub
。第一次我是手动添加的。添加后进入 repository 的 setting, 往下混动到 Custom domain ,可以看到系统已经自动把用户域名加进去了。 \n将来不希望用这个域名,域名重定向后,在浏览器输入 username.github.io 后 Chrome 会一直转向 goldentianya.pub 。需要打开开发者工具
,选中 disable cache
,再刷新一遍地址就好了。 \nnext
项目要将 CNAME
文件复制到 /themes/next/source
目录下个,编译的时候会拷贝到 public
目录。wikitten
项目不需要,域名定向以后能找到 goldentianya/wiki
站点,十分神奇。 \n \n隐藏文章 \n全隐藏 \n根据插件hext-sage-posts
作者的博文9 中描述,安装插件
\n1 npm install hexo-sage-posts --save
\n并将初创时的Hello-world.md
文章的Metadata中加入sage: true
,文章就从网站上消失了。但在别的文章下面导航栏中,通过“下一篇”或者“上一篇”还是能被找到。被隐藏的文章其地址仍旧没有改变,只是不不出现在首页导航,和分类中而已。
\n从首页隐藏 \n为了不让太琐碎的文章充斥首页,但又可以在分类中找到。可以采用这种方式。
\n\n在文章的Metadata部分添加关键字 notshow: true
。 \n找到 Hexo\\themes\\next\\layout\\index.swig
文件中以下部分: \n \n1 2 3 4 5 6 7 8 9 {% block content %} <section id =\"posts\" class =\"posts-expand\" > {% for post in page.posts %} {{ post_template.render(post, true) }} {% endfor %} </section > {% include '_partials/pagination.swig' %} {% endblock %}
\n将以上代码第四行修改为
\n1 2 3 {% if post.notshow != true %} \t{{ post_template.render(post, true) }} {% endif %}
\n文章加密 \n\n安装插件 hexo-blog-encrypt
\n \n1 npm install --save hexo-blog-encrypt
\n并在站点配置 文件中启用该插件:
\n \n\n然后在文章的头部添加上对应的字段 \n \n1 2 3 4 5 6 7 8 9 10 11 12 --- title: 文章加密 date: 2019-01-04T22:20:13.000Z category: 教程 tags: - 博客 - Hexo keywords: 博客文章密码 password: TloveY abstract: 此文章含有敏感内容。 message: 输入密码,查看文章 ---
\n\nHexo Admin \n安装后台管理插件 hexo-damin
\n1 2 3 npm install --save hexo-admin hexo server -d open http://localhost:4000/admin/
\n初次运行后,设置管理账户。
\n1 2 3 4 admin: username: maiernte password_hash: $2a$10$QeeWfDwIxbJ94h8EDfplDe9aLB0uaNrjMeVGhaYnfF0BBDosDze0S secret: NamoAmitabha!
\n访问量统计 \n介绍文章 (有图 )
\n原文(有代码)
\n\n\n第一步, 到Lean Cloud增添一个应用,并创建类似Counter 的类。设置成 $ 所有人可读可写 $
\n \n\n在安全中心添加 Web 安全域名 , 添加Blog域名,防止有人Hack我们的数据库。
\n \n\n按上面的文章修改 Hexo 以及主题配置。
\n \n \n在线交流 \n使用 道客 Daovoice
\n接入方式
\n\n将下面代码粘贴在页面的 之前。 \n \n1 <script>(function(i,s,o,g,r,a,m){i["DaoVoiceObject"]=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;a.charset="utf-8";m.parentNode.insertBefore(a,m)})(window,document,"script",('https:' == document.location.protocol ? 'https:' : 'http:') + "//widget.daovoice.io/widget/5e5fa370.js","daovoice")</script>
\n\n调用下面的 JavaScript 与注册用户沟通 \n \n1 2 3 4 5 6 7 8 daovoice('init', { app_id: "5e5fa370", user_id: "NO_89757", // 必填: 该用户在您系统上的唯一ID email: "daovoice@example.com", // 选填: 该用户在您系统上的主邮箱 name: "道客船长", // 选填: 用户名 signed_up: 1449821660 // 选填: 用户的注册时间,用Unix时间戳表示 }); daovoice('update');
\n\n调用下面的 JavaScript 与匿名访客沟通 \n \n1 2 3 4 daovoice('init', { app_id: "5e5fa370" }); daovoice('update');
\n完成代码粘贴后,检测是否成功接入: Ping 一下
\n待解决问题 \n\n有趣插件 \n\n— \n讲解详细的博客
\n这个也不错
\n","site":{"data":{}},"excerpt":"建网过程中的一些流水账。以备将来查询。
","more":"建立网站 \nGithub配置 \n输入命令 ssh-keygen -t rsa -b 4096 -C "myname@gmail.com"
。
\n密码 T1
。(下列展开后复制)
\n\n将文件 ~/.ssh/id_rsa.pub 中的内容复制到 Github 的SSH-Key 内就可以了。(备份文件已上传百度网盘)
\n \n\n在Github上新建SSH-Key名称为gmail
\n \n具体步骤参阅此文章
\n\n\n测试公匙 \n \n\n安装Hexo \n参考资料1 7 。
\n\n安装node.js 因为以前已经安装过,所以跳过。 \n安装 Hexo $ npm install hexo-cli -g
\n创建网站 \n \n\n\n生成静态页面 hexo g
or hexo generate
\n启动本地网站服务 hexo s
or hexo server
\n \n\n网站一般会运行在 http://localhost:4000/ \nPress Ctrl+C to stop.
\n \n\n用pow做服务本地运行 \n \nInstall
\n\nSetup
\nSymlink the folder into ~/.pow
\n\n发布到Github \n终于搭建好站点部署环境啦,那么要怎么样将我们本地生成预览好的页面发布到github上呢?很简单,Follow!
\n首先,打开blog目录下的_config.yml
,找到deploy段,配置成这样
\n\ndeploy: \ntype: git \nrepository: git@github.com :yourname/yourname.github.io.git \nbranch: master
\n \n注意将代码里面的yourname换成你账号的username。
\n设置git身份信息
\n\ngit config --global user.name “你的用户名” \ngit config --global user.email “你的邮箱”
\n \n执行以下指令进行部署
\nhexo d -g
\n如果提示没找到git,请先执行以下指令
\ncnpm install hexo-deployer-git --save
\n再次部署后,浏览器打开 https://yourname.github.io 就可以看到刚才本地预览页面。
\n网站基本配置 \nNext 主题 \n主题配置文件说明
\n\nWikitten主题 \n具体配置参考开发者说明 ,更详细的描述参阅hexo-theme-icarus 。为了与主题Next不冲突,作以下修改。
\n\n自行修改 tags
, about
,categories
等index.md
,而不能从主题复制,覆盖站点原有设置。 \nlanguages\\zh-CN.yml
重命名为 zh-Hans.yml
\n_config.yml
菜单作以下更改 \n \n\n\nthumbnail: true
使得每个post在快速列表里,显示图标。但就是每个帖子都要设定,很麻烦。 \npost 中的 toc 要设置为 true,如果需要显示目录的话。 \n \n同时部署两个项目 \n第一个项目使用 Github 上面默认的 Github Pages,即 username.github.io
。在站点配置文件中如下:
\n\n第二个站点开通一个 普通的repository,添加名为gh-pages
的Branch,并将gh-pages设为默认Branch。我将第二个仓库命名为 wiki ,那第二个站点就运行在
https://username.github.io/wiki`次级目录下面。
\n站点配置文件更改如下:
\n\n同样用 hexo d -g
部署命令发布,两个站点就都运行起来了。
\n为了使得两个项目使用同一个笔记资源,将站点中的 source 文件夹移到项目意外,将配置文件里的 source_dir: source
改为 source_dir: ../source
(这里使用了相对目录)。
\n参考文章 (细节已经失效,但思路值得参考)
\n站内搜索 \n\n安装插件 \n \n\n\n配置hexo站点主配置文件_config.yml
, 添加 \n \n\n\n修改next主题配置文件_config.yml
,启用 local_search
\n \n\n\n生成search.xml
文件以及发布 \n \n\n去除主题字样 \n关于添加头像、标签、分类、「关于」等具体的修改,跟着参考资料2 里面的步骤做就好了。最后说说如何去掉底部强力驱动及主题字样。
\n\n找到 \\themes\\next\\layout_partials\\
下面的footer.swig
文件,打开: \n \n\n第一条是“由Hexo驱动” 的Hexo链接,把xml段删除,只留两个单引号’’。
\n第二条是“主题-Next.XX”,将xml段都删掉,不留引号。
\n\n\n找到这个地方\\themes\\next\\languages\\
下面的语言文件zh-Hans.yml
(以中文为例): \n \n\n将上面的文字改成自己想要的即可。
\n添加评论功能 \nGitment \n**此项目已经终止!**改为Disqus,以及其它评论服务。
\n\n安装功能模块。在项目的根目录: \n \n\n\n在Github申请应用。settings -> Developer Settings -> OAuth Apps
\n \n\n申请好之后点注册,然后就可以看到两个东西ClientID
和Client Secret
,后面会用到。
\n\n配置Gitment,打开themes/next/_config.yml
: \n \n\n注意到这里基本上已经OK了,再看你的博客应该可以显示评论了.不过每篇博客都需要你手动初始化评论功能(如果你的历史博客很多那就一篇一篇去点吧,不过貌似有人写了批量处理脚本,没试过哈).
\n而由于 github 中 Issues
的 label
长度限制为最大 50
个字符,当 文章标题长度过长时,该label就会生成失败,而导致初始化错误,弹出 Validation Failed
的提示。
\n通过网上的搜索,发现可以使用文章创建时的时间来代替文章标题,作为这个唯一的label标签。
\n找到giment的配置:/themes/next/layout/_third-party/comments/gitment.swig
文件, 并找到如下部分:
\n\n将id
后面的路径值修改为 ‘itfanr_blog_<!–1–>’ 就可以了。
\n\n目前只开通Disqus 的评论。
\n\n开通Disqus账号,并添加一个点 应用。具体步骤参看Hexo搭建博客系列:(六)Hexo添加Disqus评论 。 \n在主题配置文件
(_config.yml)文件中找到以下代码,添加你Disqus设置的Website Name在shortname。 \n \n\n更详细请参阅网上。
\n新文章命名规则 \n发表新文章后系统崩溃。
\n在根目录的配置文件中找到类似的:
\n\n将其改为由时间和题目组成:
\n\n进阶设置 \n显示 \n首页文章显示预览 \n默认设定下。首页的文章每一篇都显示全文,不方便浏览。需要到主题的配置文件里将auto_excerpt
的 enable
改为 true
。而length
字节表示文章预览的长度。
\n\n永久链接 \n新文章的名字采用了中文(见上 ),中文出现在地址栏上不美观。也不利于SEO,以及增加了博文URL的层数。解决办法是给每篇文章制定链接地址。
\n\n修改网站的配置文件中永久地址的设定: \n \n\n\n给每篇文章指定 urlname
\n \n\n编译后新的地址为 http://mywiki.test/road-less-traveled-summary.html
。看起来就清爽多了。
\n图片链接 \n\n开通资源文件夹 ,创建新文章的时候会自动建立一个与文章同名的文件夹。可以将图片或者其它资源文件放到里面(打算将思维导图放到这里 )。因为自定义了文件名的方式 ,所以根据官方描述无效。 \n安装第三方插件hexo-asset-image
\n \n\n在文章中图片的链,可以省略路径,直接引用图片名:
\n\n\n修改插件代码 \n \n我在使用永久链接的时候在每篇文章的实际地址都加上了.html
。文章的地址显示如下
\n\n而插件生成的图片地址如下:
\n\n多出了 .htm
这几个字符,而实际图片的地址应该是:
\n\n找到 node_modules/hexo-asset-imge
目录下的 index.js
文件,将以下代码中的 1
改成 5
,就可以正常显示图片了。
\n\n考虑到将来项目膨胀,应该将图片放到图床,比如七牛。
\n站内链接 \n导航到站内别的文章使用以下方式就可以。
\n链接方式 [文章名](urlname.html)
\n设定代码区的高度 \nHexo自身的式样暂时还没找到。其实也不太需要。如果代码不长直接显示全部就好了。太长的话不如放到$Gits$,通过限制gist的高度实现。Net 主题修改 next/themes/next/source/css/_custom/custom.styl
,Wikitten主题则在文件 wikitten/themes/Wikitten/source/css/_partial/article.styl
中修改。
\n\n添加注脚支持 \n插件项目
\n\n安装插件 npm install hexo-footnotes --save
\n项目配置文件 添加 \n \n\n更换Markdown渲染 \nMarkdown-it-plus
\n如果更换了这个渲染,就无需上面那个注脚插件, 因为已经支持了. 首先卸载掉旧的渲染, 然后安装新的.
\n\n然后在项目配置文件, 添加下面文字. 更深入的设置, 参看 markdown-it-plus 项目的说明文档.
\n\n辅助功能 \n本地运行服务 \n在Mac中可以用本地服务Pow 运行网站,不用每次更改重启服务器hexo s
。
\n\n安装Pow \n \n\n\n建立项目链接,myapp
是项目的名字。比如真实路径~/Project/mywiki
\n \n\n\n执行完以上步骤后在浏览器打开链接 http://myapp.test/
就能看到网站。更改内容后要执行==生成== 命令才能看到更新hexo generate
or hexo g
。 \n不想运行,直接把项目文件夹删除就可以。 \n \n绑定个人域名 \n\n在万网买一个顶级域名,开通后添加两个域名解释 \n \n\n\n在项目的根目录添加一个名为 CNAME
的文件,然后填入万网注册的域名, 这里是 goldentianya.pub
。第一次我是手动添加的。添加后进入 repository 的 setting, 往下混动到 Custom domain ,可以看到系统已经自动把用户域名加进去了。 \n将来不希望用这个域名,域名重定向后,在浏览器输入 username.github.io 后 Chrome 会一直转向 goldentianya.pub 。需要打开开发者工具
,选中 disable cache
,再刷新一遍地址就好了。 \nnext
项目要将 CNAME
文件复制到 /themes/next/source
目录下个,编译的时候会拷贝到 public
目录。wikitten
项目不需要,域名定向以后能找到 goldentianya/wiki
站点,十分神奇。 \n \n隐藏文章 \n全隐藏 \n根据插件hext-sage-posts
作者的博文9 中描述,安装插件
\n\n并将初创时的Hello-world.md
文章的Metadata中加入sage: true
,文章就从网站上消失了。但在别的文章下面导航栏中,通过“下一篇”或者“上一篇”还是能被找到。被隐藏的文章其地址仍旧没有改变,只是不不出现在首页导航,和分类中而已。
\n从首页隐藏 \n为了不让太琐碎的文章充斥首页,但又可以在分类中找到。可以采用这种方式。
\n\n在文章的Metadata部分添加关键字 notshow: true
。 \n找到 Hexo\\themes\\next\\layout\\index.swig
文件中以下部分: \n \n\n将以上代码第四行修改为
\n\n文章加密 \n\n安装插件 hexo-blog-encrypt
\n \n\n并在站点配置 文件中启用该插件:
\n\n\n然后在文章的头部添加上对应的字段 \n \n\n\nHexo Admin \n安装后台管理插件 hexo-damin
\n\n初次运行后,设置管理账户。
\n\n访问量统计 \n介绍文章 (有图 )
\n原文(有代码)
\n\n\n第一步, 到Lean Cloud增添一个应用,并创建类似Counter 的类。设置成 $ 所有人可读可写 $
\n \n\n在安全中心添加 Web 安全域名 , 添加Blog域名,防止有人Hack我们的数据库。
\n \n\n按上面的文章修改 Hexo 以及主题配置。
\n \n \n在线交流 \n使用 道客 Daovoice
\n接入方式
\n\n将下面代码粘贴在页面的 之前。 \n \n\n\n调用下面的 JavaScript 与注册用户沟通 \n \n\n\n调用下面的 JavaScript 与匿名访客沟通 \n \n\n完成代码粘贴后,检测是否成功接入: Ping 一下
\n待解决问题 \n\n有趣插件 \n\n— \n讲解详细的博客
\n这个也不错
\n"},{"title":"Hexo 在线编辑","urlname":"hexo-onlineeditor","updated":"2021-07-18T21:19:08.000Z","date":"2021-07-18T21:19:08.000Z","_content":"\n使用过一个在线网站\n\ntitle: 斯多葛主义手册\ndate: 2019-08-03 21:16:47\nurlname: storic-summary\ntoc: true\ntags: [哲理, 书籍]\ncategories: [读书笔记]\n\n[网站:静态博客](https://jingtaiboke.com/my.php?siteID=0 \"网站:静态博客\")\n\n","source":"_posts/Hexo在线编辑.md","raw":"---\ntitle: Hexo 在线编辑\nurlname: hexo-onlineeditor\nupdated: 2021-07-18 23:19:08\ndate: 2021-07-18 23:19:08\ncategories: [IT, Blog]\ntags: [Hexo]\n---\n\n使用过一个在线网站\n\ntitle: 斯多葛主义手册\ndate: 2019-08-03 21:16:47\nurlname: storic-summary\ntoc: true\ntags: [哲理, 书籍]\ncategories: [读书笔记]\n\n[网站:静态博客](https://jingtaiboke.com/my.php?siteID=0 \"网站:静态博客\")\n\n","slug":"Hexo在线编辑","published":1,"_id":"ckr9qy9q80000g9shy5e4v2m1","comments":1,"layout":"post","photos":[],"link":"","content":"使用过一个在线网站
\ntitle: 斯多葛主义手册 \ndate: 2019-08-03 21:16:47 \nurlname: storic-summary \ntoc: true \ntags: [哲理, 书籍] \ncategories: [读书笔记]
\n网站:静态博客
\n","site":{"data":{}},"excerpt":"","more":"使用过一个在线网站
\ntitle: 斯多葛主义手册 \ndate: 2019-08-03 21:16:47 \nurlname: storic-summary \ntoc: true \ntags: [哲理, 书籍] \ncategories: [读书笔记]
\n网站:静态博客
\n"}],"PostAsset":[],"PostCategory":[{"post_id":"cka1y594p00044huusb0xswfi","category_id":"cka1y594t00064huuvvjmyzwy","_id":"cka1y5955000f4huuavh4y5b7"},{"post_id":"cka1y594r00054huunm0reb46","category_id":"cka1y5953000b4huuyyfu5z4d","_id":"cka1y595a000k4huuvsrdkk3n"},{"post_id":"cka1y594x00084huu6k4ch39z","category_id":"cka1y5953000b4huuyyfu5z4d","_id":"cka1y595b000n4huupqz7l7uk"},{"post_id":"cka1y595000094huuoh5kztsj","category_id":"cka1y5959000j4huug5k1h4j7","_id":"cka1y595d000q4huujzi9cbtg"},{"post_id":"cka1y5952000a4huuo6qb7h3o","category_id":"cka1y595b000o4huul85o0vh5","_id":"cka1y595e000r4huudibumejw"},{"post_id":"cka1y596d000s4huu6s41uv14","category_id":"cka1y5953000b4huuyyfu5z4d","_id":"cka1y596h000x4huuewz15l41"},{"post_id":"cka1y596e000t4huuu6ed1frz","category_id":"cka1y596g000v4huufrvfyl7e","_id":"cka1y596j000z4huuep0zhq22"},{"post_id":"cka1y597o00124huu1wtf5iy9","category_id":"cka1y596g000v4huufrvfyl7e","_id":"cka1y597u00174huuuxk19v3o"},{"post_id":"cka1y597q00134huu98tdadd8","category_id":"cka1y596g000v4huufrvfyl7e","_id":"cka1y597v001b4huutjytdbb1"},{"post_id":"cka1y597w001d4huu070sswhu","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y598e00224huude7qq2nl"},{"post_id":"cka1y597w001d4huu070sswhu","category_id":"cka1y5987001q4huu2h0pcxc7","_id":"cka1y598g00274huuqt9x226m"},{"post_id":"cka1y597r00154huu5w41rgul","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y598h002a4huuv4qc79od"},{"post_id":"cka1y597r00154huu5w41rgul","category_id":"cka1y598b001w4huu0hxl1aoy","_id":"cka1y598j002f4huuabno4va2"},{"post_id":"cka1y597x001e4huuv3ebsp4j","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y598o002k4huubdx47g0s"},{"post_id":"cka1y597x001e4huuv3ebsp4j","category_id":"cka1y598e00234huu3y8d3uke","_id":"cka1y598q002o4huuiwbqiz7r"},{"post_id":"cka1y597z001h4huur126uc0a","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y598s002s4huu123t8obl"},{"post_id":"cka1y597z001h4huur126uc0a","category_id":"cka1y598e00234huu3y8d3uke","_id":"cka1y598t002u4huuuusrp5uf"},{"post_id":"cka1y597t00164huuyti606sh","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y598u002x4huuvof25rfi"},{"post_id":"cka1y597t00164huuyti606sh","category_id":"cka1y5987001q4huu2h0pcxc7","_id":"cka1y598w002z4huu71gvxwrk"},{"post_id":"cka1y5981001j4huuk1yz6awj","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y598w00324huuzt7qlork"},{"post_id":"cka1y5981001j4huuk1yz6awj","category_id":"cka1y598e00234huu3y8d3uke","_id":"cka1y598x00344huu11z99kzj"},{"post_id":"cka1y5983001n4huuemw79ybo","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y598y00374huu7kdrdbh8"},{"post_id":"cka1y5983001n4huuemw79ybo","category_id":"cka1y598e00234huu3y8d3uke","_id":"cka1y598z00394huuyhhgk2zf"},{"post_id":"cka1y597u001a4huuspnhsflr","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y5990003c4huusbmzttfh"},{"post_id":"cka1y597u001a4huuspnhsflr","category_id":"cka1y598e00234huu3y8d3uke","_id":"cka1y5991003e4huufvyl6wez"},{"post_id":"cka1y5986001p4huuxt1btjua","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y5991003g4huuhm5iv2oz"},{"post_id":"cka1y5986001p4huuxt1btjua","category_id":"cka1y598e00234huu3y8d3uke","_id":"cka1y5993003j4huuke8eg1wd"},{"post_id":"cka1y5988001t4huux85puqey","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y5996003m4huui5twjhmb"},{"post_id":"cka1y5988001t4huux85puqey","category_id":"cka1y598z003b4huuyf8flxmz","_id":"cka1y5997003o4huuf2s6yarp"},{"post_id":"cka1y598a001v4huunsgdb908","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y5997003r4huu1ryhxyt6"},{"post_id":"cka1y598a001v4huunsgdb908","category_id":"cka1y598z003b4huuyf8flxmz","_id":"cka1y5999003t4huutt02fr4i"},{"post_id":"cka1y598b001y4huuppnodfz2","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y5999003v4huu5g4xan28"},{"post_id":"cka1y598b001y4huuppnodfz2","category_id":"cka1y598z003b4huuyf8flxmz","_id":"cka1y599a003x4huuhgtsb5j8"},{"post_id":"cka1y598d00214huuioh2rw8e","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y599b003z4huutfrxgwz9"},{"post_id":"cka1y598d00214huuioh2rw8e","category_id":"cka1y5997003q4huuzp1l2yal","_id":"cka1y599b00414huuobbv9nmd"},{"post_id":"cka1y598f00254huufdsy7udi","category_id":"cka1y5953000b4huuyyfu5z4d","_id":"cka1y599c00424huue4frz85l"},{"post_id":"cka1y598f00254huufdsy7udi","category_id":"cka1y599a003w4huuplb2sm25","_id":"cka1y599c00444huu4y9mter5"},{"post_id":"cka1y598g00294huuytpjchoh","category_id":"cka1y5953000b4huuyyfu5z4d","_id":"cka1y599d00464huuuo9u8mcw"},{"post_id":"cka1y598g00294huuytpjchoh","category_id":"cka1y599b00404huu2nbcrdvc","_id":"cka1y599e00474huut3xryk5u"},{"post_id":"cka1y598i002d4huu06onppzf","category_id":"cka1y5953000b4huuyyfu5z4d","_id":"cka1y599e00494huu3mvwk79i"},{"post_id":"cka1y598i002d4huu06onppzf","category_id":"cka1y599a003w4huuplb2sm25","_id":"cka1y599f004a4huuvxibk9ev"},{"post_id":"cka1y598k002h4huuc3fgsb7o","category_id":"cka1y5953000b4huuyyfu5z4d","_id":"cka1y599f004c4huuj9j32oee"},{"post_id":"cka1y598k002h4huuc3fgsb7o","category_id":"cka1y599a003w4huuplb2sm25","_id":"cka1y599g004d4huuxu7lsg0c"},{"post_id":"cka1y598o002l4huuoby01avt","category_id":"cka1y5953000b4huuyyfu5z4d","_id":"cka1y599g004e4huulan4zmb7"},{"post_id":"cka1y598o002l4huuoby01avt","category_id":"cka1y599a003w4huuplb2sm25","_id":"cka1y599h004f4huufhqmspm7"},{"post_id":"cka1y598q002p4huudjt7uk0a","category_id":"cka1y5953000b4huuyyfu5z4d","_id":"cka1y599h004g4huuhwkznvlk"},{"post_id":"cka1y598q002p4huudjt7uk0a","category_id":"cka1y599a003w4huuplb2sm25","_id":"cka1y599h004h4huuzytw6gr0"},{"post_id":"cka1y599o004i4huuvxxo90p7","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y599s004n4huu9k8s6rm6"},{"post_id":"cka1y599o004i4huuvxxo90p7","category_id":"cka1y598e00234huu3y8d3uke","_id":"cka1y599s004p4huu2rwib2tg"},{"post_id":"cka1y599p004j4huucopvbcs0","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y599t004q4huulsh7ujtl"},{"post_id":"cka1y599p004j4huucopvbcs0","category_id":"cka1y5997003q4huuzp1l2yal","_id":"cka1y599t004r4huul19yoh59"},{"post_id":"cka1y599q004l4huuz9r1vgbn","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y599t004s4huupqp5vr9t"},{"post_id":"cka1y599q004l4huuz9r1vgbn","category_id":"cka1y5997003q4huuzp1l2yal","_id":"cka1y599u004t4huuo3k58azn"},{"post_id":"cka1y59a2004u4huur56brcea","category_id":"cka1y597u00184huu67j8phqt","_id":"cka1y59a7004w4huu7wd3n1pk"},{"post_id":"cka1y59a2004u4huur56brcea","category_id":"cka1y598z003b4huuyf8flxmz","_id":"cka1y59a9004x4huu0j3d865x"},{"post_id":"ckr9qy9q80000g9shy5e4v2m1","category_id":"cka1y597u00184huu67j8phqt","_id":"ckr9qy9r50003g9shljfbfngv"},{"post_id":"ckr9qy9q80000g9shy5e4v2m1","category_id":"ckr9qy9qo0002g9sht8n0g8qc","_id":"ckr9qy9r50004g9shlorl3t63"}],"PostTag":[{"post_id":"cka1y594p00044huusb0xswfi","tag_id":"cka1y594w00074huuttkx39vr","_id":"cka1y5955000d4huu9fo10can"},{"post_id":"cka1y5952000a4huuo6qb7h3o","tag_id":"cka1y594w00074huuttkx39vr","_id":"cka1y5955000e4huu2isd10jc"},{"post_id":"cka1y594r00054huunm0reb46","tag_id":"cka1y5954000c4huurnts5s23","_id":"cka1y5959000i4huupv2tq46c"},{"post_id":"cka1y594x00084huu6k4ch39z","tag_id":"cka1y5956000h4huujc504cfl","_id":"cka1y595b000m4huuyc267a8u"},{"post_id":"cka1y595000094huuoh5kztsj","tag_id":"cka1y595a000l4huu5t4fsi8t","_id":"cka1y595d000p4huubql3yxvf"},{"post_id":"cka1y596d000s4huu6s41uv14","tag_id":"cka1y5954000c4huurnts5s23","_id":"cka1y596g000u4huu4o7prlyh"},{"post_id":"cka1y596e000t4huuu6ed1frz","tag_id":"cka1y596h000w4huu96c70yd8","_id":"cka1y596j00104huu1x6cnerc"},{"post_id":"cka1y596e000t4huuu6ed1frz","tag_id":"cka1y596i000y4huu4e1c2vta","_id":"cka1y596k00114huu4rph259l"},{"post_id":"cka1y597r00154huu5w41rgul","tag_id":"cka1y594w00074huuttkx39vr","_id":"cka1y597u00194huux4g0d800"},{"post_id":"cka1y597o00124huu1wtf5iy9","tag_id":"cka1y597r00144huuuuhayln8","_id":"cka1y5980001i4huutd2uvz1s"},{"post_id":"cka1y597o00124huu1wtf5iy9","tag_id":"cka1y597w001c4huulh745qk4","_id":"cka1y5982001l4huu83cl2dgs"},{"post_id":"cka1y597q00134huu98tdadd8","tag_id":"cka1y597z001g4huuaqzwp1zm","_id":"cka1y5986001o4huuxpz9siof"},{"post_id":"cka1y597q00134huu98tdadd8","tag_id":"cka1y596h000w4huu96c70yd8","_id":"cka1y5987001r4huu4eq0lqut"},{"post_id":"cka1y597t00164huuyti606sh","tag_id":"cka1y5983001m4huuufmyhgoa","_id":"cka1y5989001u4huumst1bdhn"},{"post_id":"cka1y5988001t4huux85puqey","tag_id":"cka1y594w00074huuttkx39vr","_id":"cka1y598b001x4huuvtlgi297"},{"post_id":"cka1y598a001v4huunsgdb908","tag_id":"cka1y594w00074huuttkx39vr","_id":"cka1y598d00204huuqyf5kwkk"},{"post_id":"cka1y598a001v4huunsgdb908","tag_id":"cka1y5983001m4huuufmyhgoa","_id":"cka1y598f00244huu61bh68rw"},{"post_id":"cka1y597u001a4huuspnhsflr","tag_id":"cka1y5987001s4huudyci9yx0","_id":"cka1y598g00284huu6fa44eml"},{"post_id":"cka1y598b001y4huuppnodfz2","tag_id":"cka1y594w00074huuttkx39vr","_id":"cka1y598h002b4huu2q6wen8j"},{"post_id":"cka1y598d00214huuioh2rw8e","tag_id":"cka1y5987001s4huudyci9yx0","_id":"cka1y598j002g4huum7z8unxb"},{"post_id":"cka1y597w001d4huu070sswhu","tag_id":"cka1y5983001m4huuufmyhgoa","_id":"cka1y598n002i4huu4w25jlcw"},{"post_id":"cka1y597x001e4huuv3ebsp4j","tag_id":"cka1y5987001s4huudyci9yx0","_id":"cka1y598q002n4huudhcmzd8l"},{"post_id":"cka1y597z001h4huur126uc0a","tag_id":"cka1y5987001s4huudyci9yx0","_id":"cka1y598r002q4huu534ex9n3"},{"post_id":"cka1y5981001j4huuk1yz6awj","tag_id":"cka1y5987001s4huudyci9yx0","_id":"cka1y598t002v4huupck4woiq"},{"post_id":"cka1y5983001n4huuemw79ybo","tag_id":"cka1y5987001s4huudyci9yx0","_id":"cka1y598w00304huuo1c12ur3"},{"post_id":"cka1y5986001p4huuxt1btjua","tag_id":"cka1y5987001s4huudyci9yx0","_id":"cka1y598y00354huuzezeifpl"},{"post_id":"cka1y598f00254huufdsy7udi","tag_id":"cka1y598x00334huu7wbssbi7","_id":"cka1y598z003a4huuxhbpr7nd"},{"post_id":"cka1y598g00294huuytpjchoh","tag_id":"cka1y598z00384huu1rilsu1z","_id":"cka1y5991003f4huupklqu83q"},{"post_id":"cka1y598i002d4huu06onppzf","tag_id":"cka1y598x00334huu7wbssbi7","_id":"cka1y5994003k4huu5xvxb95n"},{"post_id":"cka1y598k002h4huuc3fgsb7o","tag_id":"cka1y598x00334huu7wbssbi7","_id":"cka1y5997003p4huuyeqchn46"},{"post_id":"cka1y598o002l4huuoby01avt","tag_id":"cka1y598x00334huu7wbssbi7","_id":"cka1y5999003u4huuuqsut2y0"},{"post_id":"cka1y598q002p4huudjt7uk0a","tag_id":"cka1y598x00334huu7wbssbi7","_id":"cka1y599a003y4huuwn5y4qut"},{"post_id":"cka1y599o004i4huuvxxo90p7","tag_id":"cka1y5987001s4huudyci9yx0","_id":"cka1y599q004k4huuco1uino6"},{"post_id":"cka1y599p004j4huucopvbcs0","tag_id":"cka1y5987001s4huudyci9yx0","_id":"cka1y599r004m4huukspe62yo"},{"post_id":"cka1y599q004l4huuz9r1vgbn","tag_id":"cka1y5987001s4huudyci9yx0","_id":"cka1y599s004o4huu1v1cjhvs"},{"post_id":"cka1y59a2004u4huur56brcea","tag_id":"cka1y594w00074huuttkx39vr","_id":"cka1y59a4004v4huufjih59wt"},{"post_id":"ckr9qy9q80000g9shy5e4v2m1","tag_id":"cka1y594w00074huuttkx39vr","_id":"ckr9qy9qn0001g9shqbgixb6q"}],"Tag":[{"name":"Hexo","_id":"cka1y594w00074huuttkx39vr"},{"name":"影视","_id":"cka1y5954000c4huurnts5s23"},{"name":"历史政治","_id":"cka1y5956000h4huujc504cfl"},{"name":"工作","_id":"cka1y595a000l4huu5t4fsi8t"},{"name":"成长","_id":"cka1y596h000w4huu96c70yd8"},{"name":"经济","_id":"cka1y596i000y4huu4e1c2vta"},{"name":"哲理","_id":"cka1y597r00144huuuuhayln8"},{"name":"书籍","_id":"cka1y597w001c4huulh745qk4"},{"name":"心理","_id":"cka1y597z001g4huuaqzwp1zm"},{"name":"Mac","_id":"cka1y5983001m4huuufmyhgoa"},{"name":"工具","_id":"cka1y5987001s4huudyci9yx0"},{"name":"文学","_id":"cka1y598x00334huu7wbssbi7"},{"name":"娱乐","_id":"cka1y598z00384huu1rilsu1z"}]}}
\ No newline at end of file
diff --git a/docs/Editor-Skills-Summary.html b/docs/Editor-Skills-Summary.html
index 9f34665..e69de29 100644
--- a/docs/Editor-Skills-Summary.html
+++ b/docs/Editor-Skills-Summary.html
@@ -1,581 +0,0 @@
-
-
-
-
-
- 编辑器工具使用技巧汇总 | 天涯的维基
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 编辑器工具使用技巧汇总
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
VSCode
-
-Wechseln zwischen Text-Editor und Terminal
-
-Command+K+S
oder in Menü Code->Pereferenc->Hotky
, öffnet Hot-Key Editor Fenster.
-Tip terminal
in Suchfeld, findet die Binding `^``, löscht diese Einstellung.
-Sucht den “workbench.action.terminal.focus”, bindet es mit Key ⌃<
.
-Sucht den “workbench.action.focusActiveEditorGroup”, bindet es wiederum mit Schlüssel ⌃<
, und Wenn-Kondition “terminalFocus”.
-
-
-
-
-
Typora
-
更多更详细的内容请参阅 Typora Wiki
-
Typora Wiki (wiki-website Project )
-
个性化快捷键
-
Windows
-
文件—>偏好设置—>往高级设置 ,点击看到两个json
格式的文件,打开第二个(conf.user.json ), 用记事本打开,第17行keyBinding
,在大括号中写 代码块
:“你要设置的快捷键”,比如我的是代码块 :Ctrl+Alt+P
,保存文件,重启typora
即可生效。更详细介绍
-
1 2 3 4 5 6 7 8 // Custom key binding, which will override the default ones. "keyBinding": { // for example: // "Always on Top": "Ctrl+Shift+P" "注释":"Ctrl+Alt+/", "代码块":"Ctrl+Alt+P", "打开文件夹…":"Ctrl+Alt+O" },
-
Mac
-
官方说明
-
需要到系统偏好设置—>键盘-->快捷键-->应用快捷键
那边设置。找到 Typora.App ,菜单名称填 代码 ,然后输入希望的快捷键。我的设置是⌃+⌘+C 。
-
更改风格
-
开发好的工具 如何客制化格式
-
简单使用:添加 base.user.css
文件,并改变行内代码的颜色,以及公式颜色
-
1 2 3 4 5 6 7 8 9 # 行内代码 code { color : red } # 行内公式 .MathJax_SVG { color : DarkBlue; }
-
Typora的代码使用 CodeMirror 项目,尝试了一下修改 base.user.css
文件确实可以改变代码段的高度,并带滚动。但同时也限定了进行代码编辑时的整个窗口高度。所以没有用
-
1 2 3 4 5 6 7 8 9 # 缺点:打开源代码模式的时候,整个页面也被限制成了只有300px 高 .CodeMirror { max-height : 300px ; } .CodeMirror-scroll { overflow-y : auto; overflow-x : auto; max-height : 300px ; }
-
注意到书写模式的时候,整个编辑器都被包裹在 <div id="write"> </div>
里面。在源代码模式的时候,没有这个 write
元素的包裹,而整个源代码窗口都被作用为一个 CodeMirror
元素对待。因此,作一些改变就能满足要求
-
1 2 3 4 5 6 7 8 9 10 11 #write .CodeMirror { max-height : 350px ; } # 设定上下 padding 会让滚动条在小代码区消失 #write .CodeMirror-scroll { overflow-y : auto; overflow-x : auto; max-height : 330px ; padding-top : 10px ; padding-bottom : 10px ; }
-
1 # 避免只有一行的代码区,因为会显示滚动条,不好看。一行代码就用行内代码好了。
-
如果要限制来自 GistHub
的代码高度,只能限定其父元素 iframe
-
1 2 3 iframe { max-height : 500px ; }
-
Windows版的 Typora 的数学模块保存在 path/resource/app/lib.asar
压缩文件中。需要用asar解压
-
如何查看 asar 内部结构
-
asar 如何加密解密
-
1 2 3 npm install -g asar asar extract 压缩文件 解压文件夹 asar pack 文件夹 压缩文件名
-
文本搜索
-
打开的单篇文章内搜索:
-
-Windows Control + F
-Mac ⌘+F
-
-
文件夹内的搜索
-
-Windows Control + Shift + F
-Mac ⇧+⌘+F
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上一篇
-
-
- 《驴得水》——影评
-
-
-
-
-
-
- 下一篇
- Ubuntu重设root用户密码
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-