From 3be034ece6abde25696a8f4b15727fe90d8b5dc5 Mon Sep 17 00:00:00 2001 From: li <61769459@qq.com> Date: Wed, 25 May 2016 23:06:51 +0800 Subject: [PATCH 01/39] Replace master branch with page content via GitHub --- index.html | 58 ++++- params.json | 6 + stylesheets/github-light.css | 124 ++++++++++ stylesheets/normalize.css | 424 +++++++++++++++++++++++++++++++++++ stylesheets/stylesheet.css | 245 ++++++++++++++++++++ 5 files changed, 851 insertions(+), 6 deletions(-) create mode 100644 params.json create mode 100644 stylesheets/github-light.css create mode 100644 stylesheets/normalize.css create mode 100644 stylesheets/stylesheet.css diff --git a/index.html b/index.html index f010409..5517cf5 100644 --- a/index.html +++ b/index.html @@ -1,7 +1,53 @@ - - -

Hello World

-

I'm hosted with GitHub Pages.

- - \ No newline at end of file + + + + Minuux.GitHub.io by minuux + + + + + + + + + +
+

+Welcome to GitHub Pages.

+ +

This automatic page generator is the easiest way to create beautiful pages for all of your projects. Author your page content here using GitHub Flavored Markdown, select a template crafted by a designer, and publish. After your page is generated, you can check out the new gh-pages branch locally. If you’re using GitHub Desktop, simply sync your repository and you’ll see the new branch.

+ +

+Designer Templates

+ +

We’ve crafted some handsome templates for you to use. Go ahead and click 'Continue to layouts' to browse through them. You can easily go back to edit your page before publishing. After publishing your page, you can revisit the page generator and switch to another theme. Your Page content will be preserved.

+ +

+Creating pages manually

+ +

If you prefer to not use the automatic generator, push a branch named gh-pages to your repository to create a page manually. In addition to supporting regular HTML content, GitHub Pages support Jekyll, a simple, blog aware static site generator. Jekyll makes it easy to create site-wide headers and footers without having to copy them across every page. It also offers intelligent blog support and other advanced templating features.

+ +

+Authors and Contributors

+ +

You can @mention a GitHub username to generate a link to their profile. The resulting <a> element will link to the contributor’s GitHub Profile. For example: In 2007, Chris Wanstrath (@defunkt), PJ Hyett (@pjhyett), and Tom Preston-Werner (@mojombo) founded GitHub.

+ +

+Support or Contact

+ +

Having trouble with Pages? Check out our documentation or contact support and we’ll help you sort it out.

+ + + +
+ + + + diff --git a/params.json b/params.json new file mode 100644 index 0000000..b1a2b4b --- /dev/null +++ b/params.json @@ -0,0 +1,6 @@ +{ + "name": "Minuux.GitHub.io", + "tagline": "blog", + "body": "### Welcome to GitHub Pages.\r\nThis automatic page generator is the easiest way to create beautiful pages for all of your projects. Author your page content here [using GitHub Flavored Markdown](https://guides.github.com/features/mastering-markdown/), select a template crafted by a designer, and publish. After your page is generated, you can check out the new `gh-pages` branch locally. If you’re using GitHub Desktop, simply sync your repository and you’ll see the new branch.\r\n\r\n### Designer Templates\r\nWe’ve crafted some handsome templates for you to use. Go ahead and click 'Continue to layouts' to browse through them. You can easily go back to edit your page before publishing. After publishing your page, you can revisit the page generator and switch to another theme. Your Page content will be preserved.\r\n\r\n### Creating pages manually\r\nIf you prefer to not use the automatic generator, push a branch named `gh-pages` to your repository to create a page manually. In addition to supporting regular HTML content, GitHub Pages support Jekyll, a simple, blog aware static site generator. Jekyll makes it easy to create site-wide headers and footers without having to copy them across every page. It also offers intelligent blog support and other advanced templating features.\r\n\r\n### Authors and Contributors\r\nYou can @mention a GitHub username to generate a link to their profile. The resulting `` element will link to the contributor’s GitHub Profile. For example: In 2007, Chris Wanstrath (@defunkt), PJ Hyett (@pjhyett), and Tom Preston-Werner (@mojombo) founded GitHub.\r\n\r\n### Support or Contact\r\nHaving trouble with Pages? Check out our [documentation](https://help.github.com/pages) or [contact support](https://github.com/contact) and we’ll help you sort it out.\r\n", + "note": "Don't delete this file! It's used internally to help with page regeneration." +} \ No newline at end of file diff --git a/stylesheets/github-light.css b/stylesheets/github-light.css new file mode 100644 index 0000000..d64ba5d --- /dev/null +++ b/stylesheets/github-light.css @@ -0,0 +1,124 @@ +/* +The MIT License (MIT) + +Copyright (c) 2015 GitHub, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +.pl-c /* comment */ { + color: #969896; +} + +.pl-c1 /* constant, markup.raw, meta.diff.header, meta.module-reference, meta.property-name, support, support.constant, support.variable, variable.other.constant */, +.pl-s .pl-v /* string variable */ { + color: #0086b3; +} + +.pl-e /* entity */, +.pl-en /* entity.name */ { + color: #795da3; +} + +.pl-s .pl-s1 /* string source */, +.pl-smi /* storage.modifier.import, storage.modifier.package, storage.type.java, variable.other, variable.parameter.function */ { + color: #333; +} + +.pl-ent /* entity.name.tag */ { + color: #63a35c; +} + +.pl-k /* keyword, storage, storage.type */ { + color: #a71d5d; +} + +.pl-pds /* punctuation.definition.string, string.regexp.character-class */, +.pl-s /* string */, +.pl-s .pl-pse .pl-s1 /* string punctuation.section.embedded source */, +.pl-sr /* string.regexp */, +.pl-sr .pl-cce /* string.regexp constant.character.escape */, +.pl-sr .pl-sra /* string.regexp string.regexp.arbitrary-repitition */, +.pl-sr .pl-sre /* string.regexp source.ruby.embedded */ { + color: #183691; +} + +.pl-v /* variable */ { + color: #ed6a43; +} + +.pl-id /* invalid.deprecated */ { + color: #b52a1d; +} + +.pl-ii /* invalid.illegal */ { + background-color: #b52a1d; + color: #f8f8f8; +} + +.pl-sr .pl-cce /* string.regexp constant.character.escape */ { + color: #63a35c; + font-weight: bold; +} + +.pl-ml /* markup.list */ { + color: #693a17; +} + +.pl-mh /* markup.heading */, +.pl-mh .pl-en /* markup.heading entity.name */, +.pl-ms /* meta.separator */ { + color: #1d3e81; + font-weight: bold; +} + +.pl-mq /* markup.quote */ { + color: #008080; +} + +.pl-mi /* markup.italic */ { + color: #333; + font-style: italic; +} + +.pl-mb /* markup.bold */ { + color: #333; + font-weight: bold; +} + +.pl-md /* markup.deleted, meta.diff.header.from-file */ { + background-color: #ffecec; + color: #bd2c00; +} + +.pl-mi1 /* markup.inserted, meta.diff.header.to-file */ { + background-color: #eaffea; + color: #55a532; +} + +.pl-mdr /* meta.diff.range */ { + color: #795da3; + font-weight: bold; +} + +.pl-mo /* meta.output */ { + color: #1d3e81; +} + diff --git a/stylesheets/normalize.css b/stylesheets/normalize.css new file mode 100644 index 0000000..30366a6 --- /dev/null +++ b/stylesheets/normalize.css @@ -0,0 +1,424 @@ +/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ + +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + */ + +html { + font-family: sans-serif; /* 1 */ + -ms-text-size-adjust: 100%; /* 2 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/** + * Remove default margin. + */ + +body { + margin: 0; +} + +/* HTML5 display definitions + ========================================================================== */ + +/** + * Correct `block` display not defined for any HTML5 element in IE 8/9. + * Correct `block` display not defined for `details` or `summary` in IE 10/11 + * and Firefox. + * Correct `block` display not defined for `main` in IE 11. + */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} + +/** + * 1. Correct `inline-block` display not defined in IE 8/9. + * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ + +audio, +canvas, +progress, +video { + display: inline-block; /* 1 */ + vertical-align: baseline; /* 2 */ +} + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. + */ + +[hidden], +template { + display: none; +} + +/* Links + ========================================================================== */ + +/** + * Remove the gray background color from active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * Improve readability when focused and also mouse hovered in all browsers. + */ + +a:active, +a:hover { + outline: 0; +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + */ + +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. + */ + +b, +strong { + font-weight: bold; +} + +/** + * Address styling not present in Safari and Chrome. + */ + +dfn { + font-style: italic; +} + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari, and Chrome. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/** + * Address styling not present in IE 8/9. + */ + +mark { + background: #ff0; + color: #000; +} + +/** + * Address inconsistent and variable font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` affecting `line-height` in all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove border when inside `a` element in IE 8/9/10. + */ + +img { + border: 0; +} + +/** + * Correct overflow not hidden in IE 9/10/11. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* Grouping content + ========================================================================== */ + +/** + * Address margin not present in IE 8/9 and Safari. + */ + +figure { + margin: 1em 40px; +} + +/** + * Address differences between Firefox and other browsers. + */ + +hr { + box-sizing: content-box; + height: 0; +} + +/** + * Contain overflow in all browsers. + */ + +pre { + overflow: auto; +} + +/** + * Address odd `em`-unit font size rendering in all browsers. + */ + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +/* Forms + ========================================================================== */ + +/** + * Known limitation: by default, Chrome and Safari on OS X allow very limited + * styling of `select`, unless a `border` property is set. + */ + +/** + * 1. Correct color not being inherited. + * Known issue: affects color of disabled elements. + * 2. Correct font properties not being inherited. + * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. + */ + +button, +input, +optgroup, +select, +textarea { + color: inherit; /* 1 */ + font: inherit; /* 2 */ + margin: 0; /* 3 */ +} + +/** + * Address `overflow` set to `hidden` in IE 8/9/10/11. + */ + +button { + overflow: visible; +} + +/** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. + * Correct `select` style inheritance in Firefox. + */ + +button, +select { + text-transform: none; +} + +/** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve usability and consistency of cursor style between image-type + * `input` and others. + */ + +button, +html input[type="button"], /* 1 */ +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; /* 2 */ + cursor: pointer; /* 3 */ +} + +/** + * Re-set default cursor for disabled elements. + */ + +button[disabled], +html input[disabled] { + cursor: default; +} + +/** + * Remove inner padding and border in Firefox 4+. + */ + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ + +input { + line-height: normal; +} + +/** + * It's recommended that you don't attempt to style these elements. + * Firefox's implementation doesn't respect box-sizing, padding, or width. + * + * 1. Address box sizing set to `content-box` in IE 8/9/10. + * 2. Remove excess padding in IE 8/9/10. + */ + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Address `appearance` set to `searchfield` in Safari and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari and Chrome + * (include `-moz` to future-proof). + */ + +input[type="search"] { + -webkit-appearance: textfield; /* 1 */ /* 2 */ + box-sizing: content-box; +} + +/** + * Remove inner padding and search cancel button in Safari and Chrome on OS X. + * Safari (but not Chrome) clips the cancel button when the search input has + * padding (and `textfield` appearance). + */ + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * Define consistent border, margin, and padding. + */ + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * 1. Correct `color` not being inherited in IE 8/9/10/11. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ + +legend { + border: 0; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Remove default vertical scrollbar in IE 8/9/10/11. + */ + +textarea { + overflow: auto; +} + +/** + * Don't inherit the `font-weight` (applied by a rule above). + * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. + */ + +optgroup { + font-weight: bold; +} + +/* Tables + ========================================================================== */ + +/** + * Remove most spacing between table cells. + */ + +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} diff --git a/stylesheets/stylesheet.css b/stylesheets/stylesheet.css new file mode 100644 index 0000000..b5f20c2 --- /dev/null +++ b/stylesheets/stylesheet.css @@ -0,0 +1,245 @@ +* { + box-sizing: border-box; } + +body { + padding: 0; + margin: 0; + font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 16px; + line-height: 1.5; + color: #606c71; } + +a { + color: #1e6bb8; + text-decoration: none; } + a:hover { + text-decoration: underline; } + +.btn { + display: inline-block; + margin-bottom: 1rem; + color: rgba(255, 255, 255, 0.7); + background-color: rgba(255, 255, 255, 0.08); + border-color: rgba(255, 255, 255, 0.2); + border-style: solid; + border-width: 1px; + border-radius: 0.3rem; + transition: color 0.2s, background-color 0.2s, border-color 0.2s; } + .btn + .btn { + margin-left: 1rem; } + +.btn:hover { + color: rgba(255, 255, 255, 0.8); + text-decoration: none; + background-color: rgba(255, 255, 255, 0.2); + border-color: rgba(255, 255, 255, 0.3); } + +@media screen and (min-width: 64em) { + .btn { + padding: 0.75rem 1rem; } } + +@media screen and (min-width: 42em) and (max-width: 64em) { + .btn { + padding: 0.6rem 0.9rem; + font-size: 0.9rem; } } + +@media screen and (max-width: 42em) { + .btn { + display: block; + width: 100%; + padding: 0.75rem; + font-size: 0.9rem; } + .btn + .btn { + margin-top: 1rem; + margin-left: 0; } } + +.page-header { + color: #fff; + text-align: center; + background-color: #159957; + background-image: linear-gradient(120deg, #155799, #159957); } + +@media screen and (min-width: 64em) { + .page-header { + padding: 5rem 6rem; } } + +@media screen and (min-width: 42em) and (max-width: 64em) { + .page-header { + padding: 3rem 4rem; } } + +@media screen and (max-width: 42em) { + .page-header { + padding: 2rem 1rem; } } + +.project-name { + margin-top: 0; + margin-bottom: 0.1rem; } + +@media screen and (min-width: 64em) { + .project-name { + font-size: 3.25rem; } } + +@media screen and (min-width: 42em) and (max-width: 64em) { + .project-name { + font-size: 2.25rem; } } + +@media screen and (max-width: 42em) { + .project-name { + font-size: 1.75rem; } } + +.project-tagline { + margin-bottom: 2rem; + font-weight: normal; + opacity: 0.7; } + +@media screen and (min-width: 64em) { + .project-tagline { + font-size: 1.25rem; } } + +@media screen and (min-width: 42em) and (max-width: 64em) { + .project-tagline { + font-size: 1.15rem; } } + +@media screen and (max-width: 42em) { + .project-tagline { + font-size: 1rem; } } + +.main-content :first-child { + margin-top: 0; } +.main-content img { + max-width: 100%; } +.main-content h1, .main-content h2, .main-content h3, .main-content h4, .main-content h5, .main-content h6 { + margin-top: 2rem; + margin-bottom: 1rem; + font-weight: normal; + color: #159957; } +.main-content p { + margin-bottom: 1em; } +.main-content code { + padding: 2px 4px; + font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; + font-size: 0.9rem; + color: #383e41; + background-color: #f3f6fa; + border-radius: 0.3rem; } +.main-content pre { + padding: 0.8rem; + margin-top: 0; + margin-bottom: 1rem; + font: 1rem Consolas, "Liberation Mono", Menlo, Courier, monospace; + color: #567482; + word-wrap: normal; + background-color: #f3f6fa; + border: solid 1px #dce6f0; + border-radius: 0.3rem; } + .main-content pre > code { + padding: 0; + margin: 0; + font-size: 0.9rem; + color: #567482; + word-break: normal; + white-space: pre; + background: transparent; + border: 0; } +.main-content .highlight { + margin-bottom: 1rem; } + .main-content .highlight pre { + margin-bottom: 0; + word-break: normal; } +.main-content .highlight pre, .main-content pre { + padding: 0.8rem; + overflow: auto; + font-size: 0.9rem; + line-height: 1.45; + border-radius: 0.3rem; } +.main-content pre code, .main-content pre tt { + display: inline; + max-width: initial; + padding: 0; + margin: 0; + overflow: initial; + line-height: inherit; + word-wrap: normal; + background-color: transparent; + border: 0; } + .main-content pre code:before, .main-content pre code:after, .main-content pre tt:before, .main-content pre tt:after { + content: normal; } +.main-content ul, .main-content ol { + margin-top: 0; } +.main-content blockquote { + padding: 0 1rem; + margin-left: 0; + color: #819198; + border-left: 0.3rem solid #dce6f0; } + .main-content blockquote > :first-child { + margin-top: 0; } + .main-content blockquote > :last-child { + margin-bottom: 0; } +.main-content table { + display: block; + width: 100%; + overflow: auto; + word-break: normal; + word-break: keep-all; } + .main-content table th { + font-weight: bold; } + .main-content table th, .main-content table td { + padding: 0.5rem 1rem; + border: 1px solid #e9ebec; } +.main-content dl { + padding: 0; } + .main-content dl dt { + padding: 0; + margin-top: 1rem; + font-size: 1rem; + font-weight: bold; } + .main-content dl dd { + padding: 0; + margin-bottom: 1rem; } +.main-content hr { + height: 2px; + padding: 0; + margin: 1rem 0; + background-color: #eff0f1; + border: 0; } + +@media screen and (min-width: 64em) { + .main-content { + max-width: 64rem; + padding: 2rem 6rem; + margin: 0 auto; + font-size: 1.1rem; } } + +@media screen and (min-width: 42em) and (max-width: 64em) { + .main-content { + padding: 2rem 4rem; + font-size: 1.1rem; } } + +@media screen and (max-width: 42em) { + .main-content { + padding: 2rem 1rem; + font-size: 1rem; } } + +.site-footer { + padding-top: 2rem; + margin-top: 2rem; + border-top: solid 1px #eff0f1; } + +.site-footer-owner { + display: block; + font-weight: bold; } + +.site-footer-credits { + color: #819198; } + +@media screen and (min-width: 64em) { + .site-footer { + font-size: 1rem; } } + +@media screen and (min-width: 42em) and (max-width: 64em) { + .site-footer { + font-size: 1rem; } } + +@media screen and (max-width: 42em) { + .site-footer { + font-size: 0.9rem; } } From e4c553a6869e3bbe81d7b7bcb276f3c5cb0341ad Mon Sep 17 00:00:00 2001 From: lizhixin <61769459@qq.com> Date: Wed, 25 May 2016 23:14:38 +0800 Subject: [PATCH 02/39] remove --- edx.md | 9 + index.html | 53 ----- params.json | 6 - stylesheets/github-light.css | 124 ---------- stylesheets/normalize.css | 424 ----------------------------------- stylesheets/stylesheet.css | 245 -------------------- 6 files changed, 9 insertions(+), 852 deletions(-) delete mode 100644 index.html delete mode 100644 params.json delete mode 100644 stylesheets/github-light.css delete mode 100644 stylesheets/normalize.css delete mode 100644 stylesheets/stylesheet.css diff --git a/edx.md b/edx.md index 4d27dd6..9b9bc83 100644 --- a/edx.md +++ b/edx.md @@ -131,3 +131,12 @@ db.createUser( - install - install:code ``` + + +### 调整源地址 +修改palybooks/roles/common_vars/default/main.yml +``` +COMMON_PYPI_MIRROR_URL: 'http://mirrors.aliyun.com/pypi/simple' +COMMON_NPM_MIRROR_URL: 'https://registry.npm.taobao.org' + +``` \ No newline at end of file diff --git a/index.html b/index.html deleted file mode 100644 index 5517cf5..0000000 --- a/index.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - - Minuux.GitHub.io by minuux - - - - - - - - - -
-

-Welcome to GitHub Pages.

- -

This automatic page generator is the easiest way to create beautiful pages for all of your projects. Author your page content here using GitHub Flavored Markdown, select a template crafted by a designer, and publish. After your page is generated, you can check out the new gh-pages branch locally. If you’re using GitHub Desktop, simply sync your repository and you’ll see the new branch.

- -

-Designer Templates

- -

We’ve crafted some handsome templates for you to use. Go ahead and click 'Continue to layouts' to browse through them. You can easily go back to edit your page before publishing. After publishing your page, you can revisit the page generator and switch to another theme. Your Page content will be preserved.

- -

-Creating pages manually

- -

If you prefer to not use the automatic generator, push a branch named gh-pages to your repository to create a page manually. In addition to supporting regular HTML content, GitHub Pages support Jekyll, a simple, blog aware static site generator. Jekyll makes it easy to create site-wide headers and footers without having to copy them across every page. It also offers intelligent blog support and other advanced templating features.

- -

-Authors and Contributors

- -

You can @mention a GitHub username to generate a link to their profile. The resulting <a> element will link to the contributor’s GitHub Profile. For example: In 2007, Chris Wanstrath (@defunkt), PJ Hyett (@pjhyett), and Tom Preston-Werner (@mojombo) founded GitHub.

- -

-Support or Contact

- -

Having trouble with Pages? Check out our documentation or contact support and we’ll help you sort it out.

- - - -
- - - - diff --git a/params.json b/params.json deleted file mode 100644 index b1a2b4b..0000000 --- a/params.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "Minuux.GitHub.io", - "tagline": "blog", - "body": "### Welcome to GitHub Pages.\r\nThis automatic page generator is the easiest way to create beautiful pages for all of your projects. Author your page content here [using GitHub Flavored Markdown](https://guides.github.com/features/mastering-markdown/), select a template crafted by a designer, and publish. After your page is generated, you can check out the new `gh-pages` branch locally. If you’re using GitHub Desktop, simply sync your repository and you’ll see the new branch.\r\n\r\n### Designer Templates\r\nWe’ve crafted some handsome templates for you to use. Go ahead and click 'Continue to layouts' to browse through them. You can easily go back to edit your page before publishing. After publishing your page, you can revisit the page generator and switch to another theme. Your Page content will be preserved.\r\n\r\n### Creating pages manually\r\nIf you prefer to not use the automatic generator, push a branch named `gh-pages` to your repository to create a page manually. In addition to supporting regular HTML content, GitHub Pages support Jekyll, a simple, blog aware static site generator. Jekyll makes it easy to create site-wide headers and footers without having to copy them across every page. It also offers intelligent blog support and other advanced templating features.\r\n\r\n### Authors and Contributors\r\nYou can @mention a GitHub username to generate a link to their profile. The resulting `` element will link to the contributor’s GitHub Profile. For example: In 2007, Chris Wanstrath (@defunkt), PJ Hyett (@pjhyett), and Tom Preston-Werner (@mojombo) founded GitHub.\r\n\r\n### Support or Contact\r\nHaving trouble with Pages? Check out our [documentation](https://help.github.com/pages) or [contact support](https://github.com/contact) and we’ll help you sort it out.\r\n", - "note": "Don't delete this file! It's used internally to help with page regeneration." -} \ No newline at end of file diff --git a/stylesheets/github-light.css b/stylesheets/github-light.css deleted file mode 100644 index d64ba5d..0000000 --- a/stylesheets/github-light.css +++ /dev/null @@ -1,124 +0,0 @@ -/* -The MIT License (MIT) - -Copyright (c) 2015 GitHub, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -*/ - -.pl-c /* comment */ { - color: #969896; -} - -.pl-c1 /* constant, markup.raw, meta.diff.header, meta.module-reference, meta.property-name, support, support.constant, support.variable, variable.other.constant */, -.pl-s .pl-v /* string variable */ { - color: #0086b3; -} - -.pl-e /* entity */, -.pl-en /* entity.name */ { - color: #795da3; -} - -.pl-s .pl-s1 /* string source */, -.pl-smi /* storage.modifier.import, storage.modifier.package, storage.type.java, variable.other, variable.parameter.function */ { - color: #333; -} - -.pl-ent /* entity.name.tag */ { - color: #63a35c; -} - -.pl-k /* keyword, storage, storage.type */ { - color: #a71d5d; -} - -.pl-pds /* punctuation.definition.string, string.regexp.character-class */, -.pl-s /* string */, -.pl-s .pl-pse .pl-s1 /* string punctuation.section.embedded source */, -.pl-sr /* string.regexp */, -.pl-sr .pl-cce /* string.regexp constant.character.escape */, -.pl-sr .pl-sra /* string.regexp string.regexp.arbitrary-repitition */, -.pl-sr .pl-sre /* string.regexp source.ruby.embedded */ { - color: #183691; -} - -.pl-v /* variable */ { - color: #ed6a43; -} - -.pl-id /* invalid.deprecated */ { - color: #b52a1d; -} - -.pl-ii /* invalid.illegal */ { - background-color: #b52a1d; - color: #f8f8f8; -} - -.pl-sr .pl-cce /* string.regexp constant.character.escape */ { - color: #63a35c; - font-weight: bold; -} - -.pl-ml /* markup.list */ { - color: #693a17; -} - -.pl-mh /* markup.heading */, -.pl-mh .pl-en /* markup.heading entity.name */, -.pl-ms /* meta.separator */ { - color: #1d3e81; - font-weight: bold; -} - -.pl-mq /* markup.quote */ { - color: #008080; -} - -.pl-mi /* markup.italic */ { - color: #333; - font-style: italic; -} - -.pl-mb /* markup.bold */ { - color: #333; - font-weight: bold; -} - -.pl-md /* markup.deleted, meta.diff.header.from-file */ { - background-color: #ffecec; - color: #bd2c00; -} - -.pl-mi1 /* markup.inserted, meta.diff.header.to-file */ { - background-color: #eaffea; - color: #55a532; -} - -.pl-mdr /* meta.diff.range */ { - color: #795da3; - font-weight: bold; -} - -.pl-mo /* meta.output */ { - color: #1d3e81; -} - diff --git a/stylesheets/normalize.css b/stylesheets/normalize.css deleted file mode 100644 index 30366a6..0000000 --- a/stylesheets/normalize.css +++ /dev/null @@ -1,424 +0,0 @@ -/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ - -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - */ - -html { - font-family: sans-serif; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ -} - -/** - * Remove default margin. - */ - -body { - margin: 0; -} - -/* HTML5 display definitions - ========================================================================== */ - -/** - * Correct `block` display not defined for any HTML5 element in IE 8/9. - * Correct `block` display not defined for `details` or `summary` in IE 10/11 - * and Firefox. - * Correct `block` display not defined for `main` in IE 11. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} - -/** - * 1. Correct `inline-block` display not defined in IE 8/9. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. - */ - -audio, -canvas, -progress, -video { - display: inline-block; /* 1 */ - vertical-align: baseline; /* 2 */ -} - -/** - * Prevent modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Address `[hidden]` styling not present in IE 8/9/10. - * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. - */ - -[hidden], -template { - display: none; -} - -/* Links - ========================================================================== */ - -/** - * Remove the gray background color from active links in IE 10. - */ - -a { - background-color: transparent; -} - -/** - * Improve readability when focused and also mouse hovered in all browsers. - */ - -a:active, -a:hover { - outline: 0; -} - -/* Text-level semantics - ========================================================================== */ - -/** - * Address styling not present in IE 8/9/10/11, Safari, and Chrome. - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/** - * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. - */ - -b, -strong { - font-weight: bold; -} - -/** - * Address styling not present in Safari and Chrome. - */ - -dfn { - font-style: italic; -} - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -/** - * Address styling not present in IE 8/9. - */ - -mark { - background: #ff0; - color: #000; -} - -/** - * Address inconsistent and variable font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -/* Embedded content - ========================================================================== */ - -/** - * Remove border when inside `a` element in IE 8/9/10. - */ - -img { - border: 0; -} - -/** - * Correct overflow not hidden in IE 9/10/11. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Grouping content - ========================================================================== */ - -/** - * Address margin not present in IE 8/9 and Safari. - */ - -figure { - margin: 1em 40px; -} - -/** - * Address differences between Firefox and other browsers. - */ - -hr { - box-sizing: content-box; - height: 0; -} - -/** - * Contain overflow in all browsers. - */ - -pre { - overflow: auto; -} - -/** - * Address odd `em`-unit font size rendering in all browsers. - */ - -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em; -} - -/* Forms - ========================================================================== */ - -/** - * Known limitation: by default, Chrome and Safari on OS X allow very limited - * styling of `select`, unless a `border` property is set. - */ - -/** - * 1. Correct color not being inherited. - * Known issue: affects color of disabled elements. - * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. - */ - -button, -input, -optgroup, -select, -textarea { - color: inherit; /* 1 */ - font: inherit; /* 2 */ - margin: 0; /* 3 */ -} - -/** - * Address `overflow` set to `hidden` in IE 8/9/10/11. - */ - -button { - overflow: visible; -} - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. - * Correct `select` style inheritance in Firefox. - */ - -button, -select { - text-transform: none; -} - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - */ - -button, -html input[type="button"], /* 1 */ -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ -} - -/** - * Re-set default cursor for disabled elements. - */ - -button[disabled], -html input[disabled] { - cursor: default; -} - -/** - * Remove inner padding and border in Firefox 4+. - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ - -input { - line-height: normal; -} - -/** - * It's recommended that you don't attempt to style these elements. - * Firefox's implementation doesn't respect box-sizing, padding, or width. - * - * 1. Address box sizing set to `content-box` in IE 8/9/10. - * 2. Remove excess padding in IE 8/9/10. - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Fix the cursor style for Chrome's increment/decrement buttons. For certain - * `font-size` values of the `input`, it causes the cursor style of the - * decrement button to change from `default` to `text`. - */ - -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari and Chrome - * (include `-moz` to future-proof). - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ /* 2 */ - box-sizing: content-box; -} - -/** - * Remove inner padding and search cancel button in Safari and Chrome on OS X. - * Safari (but not Chrome) clips the cancel button when the search input has - * padding (and `textfield` appearance). - */ - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * Define consistent border, margin, and padding. - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct `color` not being inherited in IE 8/9/10/11. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - */ - -legend { - border: 0; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Remove default vertical scrollbar in IE 8/9/10/11. - */ - -textarea { - overflow: auto; -} - -/** - * Don't inherit the `font-weight` (applied by a rule above). - * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. - */ - -optgroup { - font-weight: bold; -} - -/* Tables - ========================================================================== */ - -/** - * Remove most spacing between table cells. - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td, -th { - padding: 0; -} diff --git a/stylesheets/stylesheet.css b/stylesheets/stylesheet.css deleted file mode 100644 index b5f20c2..0000000 --- a/stylesheets/stylesheet.css +++ /dev/null @@ -1,245 +0,0 @@ -* { - box-sizing: border-box; } - -body { - padding: 0; - margin: 0; - font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 16px; - line-height: 1.5; - color: #606c71; } - -a { - color: #1e6bb8; - text-decoration: none; } - a:hover { - text-decoration: underline; } - -.btn { - display: inline-block; - margin-bottom: 1rem; - color: rgba(255, 255, 255, 0.7); - background-color: rgba(255, 255, 255, 0.08); - border-color: rgba(255, 255, 255, 0.2); - border-style: solid; - border-width: 1px; - border-radius: 0.3rem; - transition: color 0.2s, background-color 0.2s, border-color 0.2s; } - .btn + .btn { - margin-left: 1rem; } - -.btn:hover { - color: rgba(255, 255, 255, 0.8); - text-decoration: none; - background-color: rgba(255, 255, 255, 0.2); - border-color: rgba(255, 255, 255, 0.3); } - -@media screen and (min-width: 64em) { - .btn { - padding: 0.75rem 1rem; } } - -@media screen and (min-width: 42em) and (max-width: 64em) { - .btn { - padding: 0.6rem 0.9rem; - font-size: 0.9rem; } } - -@media screen and (max-width: 42em) { - .btn { - display: block; - width: 100%; - padding: 0.75rem; - font-size: 0.9rem; } - .btn + .btn { - margin-top: 1rem; - margin-left: 0; } } - -.page-header { - color: #fff; - text-align: center; - background-color: #159957; - background-image: linear-gradient(120deg, #155799, #159957); } - -@media screen and (min-width: 64em) { - .page-header { - padding: 5rem 6rem; } } - -@media screen and (min-width: 42em) and (max-width: 64em) { - .page-header { - padding: 3rem 4rem; } } - -@media screen and (max-width: 42em) { - .page-header { - padding: 2rem 1rem; } } - -.project-name { - margin-top: 0; - margin-bottom: 0.1rem; } - -@media screen and (min-width: 64em) { - .project-name { - font-size: 3.25rem; } } - -@media screen and (min-width: 42em) and (max-width: 64em) { - .project-name { - font-size: 2.25rem; } } - -@media screen and (max-width: 42em) { - .project-name { - font-size: 1.75rem; } } - -.project-tagline { - margin-bottom: 2rem; - font-weight: normal; - opacity: 0.7; } - -@media screen and (min-width: 64em) { - .project-tagline { - font-size: 1.25rem; } } - -@media screen and (min-width: 42em) and (max-width: 64em) { - .project-tagline { - font-size: 1.15rem; } } - -@media screen and (max-width: 42em) { - .project-tagline { - font-size: 1rem; } } - -.main-content :first-child { - margin-top: 0; } -.main-content img { - max-width: 100%; } -.main-content h1, .main-content h2, .main-content h3, .main-content h4, .main-content h5, .main-content h6 { - margin-top: 2rem; - margin-bottom: 1rem; - font-weight: normal; - color: #159957; } -.main-content p { - margin-bottom: 1em; } -.main-content code { - padding: 2px 4px; - font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; - font-size: 0.9rem; - color: #383e41; - background-color: #f3f6fa; - border-radius: 0.3rem; } -.main-content pre { - padding: 0.8rem; - margin-top: 0; - margin-bottom: 1rem; - font: 1rem Consolas, "Liberation Mono", Menlo, Courier, monospace; - color: #567482; - word-wrap: normal; - background-color: #f3f6fa; - border: solid 1px #dce6f0; - border-radius: 0.3rem; } - .main-content pre > code { - padding: 0; - margin: 0; - font-size: 0.9rem; - color: #567482; - word-break: normal; - white-space: pre; - background: transparent; - border: 0; } -.main-content .highlight { - margin-bottom: 1rem; } - .main-content .highlight pre { - margin-bottom: 0; - word-break: normal; } -.main-content .highlight pre, .main-content pre { - padding: 0.8rem; - overflow: auto; - font-size: 0.9rem; - line-height: 1.45; - border-radius: 0.3rem; } -.main-content pre code, .main-content pre tt { - display: inline; - max-width: initial; - padding: 0; - margin: 0; - overflow: initial; - line-height: inherit; - word-wrap: normal; - background-color: transparent; - border: 0; } - .main-content pre code:before, .main-content pre code:after, .main-content pre tt:before, .main-content pre tt:after { - content: normal; } -.main-content ul, .main-content ol { - margin-top: 0; } -.main-content blockquote { - padding: 0 1rem; - margin-left: 0; - color: #819198; - border-left: 0.3rem solid #dce6f0; } - .main-content blockquote > :first-child { - margin-top: 0; } - .main-content blockquote > :last-child { - margin-bottom: 0; } -.main-content table { - display: block; - width: 100%; - overflow: auto; - word-break: normal; - word-break: keep-all; } - .main-content table th { - font-weight: bold; } - .main-content table th, .main-content table td { - padding: 0.5rem 1rem; - border: 1px solid #e9ebec; } -.main-content dl { - padding: 0; } - .main-content dl dt { - padding: 0; - margin-top: 1rem; - font-size: 1rem; - font-weight: bold; } - .main-content dl dd { - padding: 0; - margin-bottom: 1rem; } -.main-content hr { - height: 2px; - padding: 0; - margin: 1rem 0; - background-color: #eff0f1; - border: 0; } - -@media screen and (min-width: 64em) { - .main-content { - max-width: 64rem; - padding: 2rem 6rem; - margin: 0 auto; - font-size: 1.1rem; } } - -@media screen and (min-width: 42em) and (max-width: 64em) { - .main-content { - padding: 2rem 4rem; - font-size: 1.1rem; } } - -@media screen and (max-width: 42em) { - .main-content { - padding: 2rem 1rem; - font-size: 1rem; } } - -.site-footer { - padding-top: 2rem; - margin-top: 2rem; - border-top: solid 1px #eff0f1; } - -.site-footer-owner { - display: block; - font-weight: bold; } - -.site-footer-credits { - color: #819198; } - -@media screen and (min-width: 64em) { - .site-footer { - font-size: 1rem; } } - -@media screen and (min-width: 42em) and (max-width: 64em) { - .site-footer { - font-size: 1rem; } } - -@media screen and (max-width: 42em) { - .site-footer { - font-size: 0.9rem; } } From 40ffbcf8d6e52455ea31a7b01169e84ba93ae536 Mon Sep 17 00:00:00 2001 From: li <61769459@qq.com> Date: Fri, 27 May 2016 17:32:00 +0800 Subject: [PATCH 03/39] Replace master branch with page content via GitHub --- images/bg_hr.png | Bin 0 -> 78 bytes images/blacktocat.png | Bin 0 -> 463 bytes images/icon_download.png | Bin 0 -> 216 bytes images/sprite_download.png | Bin 0 -> 14832 bytes index.html | 67 ++++++ javascripts/main.js | 1 + params.json | 6 + stylesheets/github-light.css | 124 ++++++++++ stylesheets/stylesheet.css | 425 +++++++++++++++++++++++++++++++++++ 9 files changed, 623 insertions(+) create mode 100644 images/bg_hr.png create mode 100644 images/blacktocat.png create mode 100644 images/icon_download.png create mode 100644 images/sprite_download.png create mode 100644 index.html create mode 100644 javascripts/main.js create mode 100644 params.json create mode 100644 stylesheets/github-light.css create mode 100644 stylesheets/stylesheet.css diff --git a/images/bg_hr.png b/images/bg_hr.png new file mode 100644 index 0000000000000000000000000000000000000000..514aee5056a320b059a4b92fc31385b01f3fd707 GIT binary patch literal 78 zcmeAS@N?(olHy`uVBq!ia0vp^EI=&E!3HD~tNk5798VX=5Q)pl2@*yR?(8i7?>Hmz b1S7-U!)%xJ1CQbP0l+XkKg_jic literal 0 HcmV?d00001 diff --git a/images/blacktocat.png b/images/blacktocat.png new file mode 100644 index 0000000000000000000000000000000000000000..e160053a5bfc1f1891c5df1a04244b46132ed91c GIT binary patch literal 463 zcmeAS@N?(olHy`uVBq!ia0vp^av;pX3?zBp#Z3TGW&u7Su0Z-f>EL7Xu|Ghaf+azI z!3+%h6VAUEXmGf1FkfMPe?Wo5`wP+x42q#I?$ zCZCHu*mLc{mj@jVb0qJie|tLrXx$RV*xy|DA2&%h)(GsqVy%>MraS!Shm183{#@F! zV^vm_@$^Y{GUuI-cUN0({K+A*SMX|j#GmyK98SEwQl?dz*($XqK|j>0;H2RlD{}=; zx7!XPy5}bEXEt-@-@Ngc#+nIgOgm!u=S(u>E&hLN(cd}Wb8P2o&P?9><1zE8l8pz9 zg==?S&3yIdUhdL~<_mg1Y!?@vTUiymeaGcy&vRcbOG}I6uI`9fxn}VP_6h8=I%b0Z Rq=4be;OXk;vd$@?2>`O9@hboT literal 0 HcmV?d00001 diff --git a/images/icon_download.png b/images/icon_download.png new file mode 100644 index 0000000000000000000000000000000000000000..5a793f17688b22d0c98f8b32855f69daff65afaf GIT binary patch literal 216 zcmeAS@N?(olHy`uVBq!ia0vp^av;pX1|+Qw)-3{3^F3W0Lp+WrCrGd^PB3WLTm5|# z<3>ZVHGbLMPaA&Ni`7(Ic@)^~t}9m~#>{KX@F?FxM~Q7di>SquC^@HPOZ^)nnu6w= zPs-5Ln9{RS^v!FJ4Hk1|eLTx~WO~PjEv;gjQBoc84>y)53m9M4vW{f>=&v)a$*Fn% zwMt9Ivq1qGD=w^dyuiIx3lB69mQJ=Ex6cJ85q6@e`QPvJEsD4 ODubu1pUXO@geCwMBTRk( literal 0 HcmV?d00001 diff --git a/images/sprite_download.png b/images/sprite_download.png new file mode 100644 index 0000000000000000000000000000000000000000..f9f8de24c1c49ce421a44ce2a24ac22d045a39fe GIT binary patch literal 14832 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 WAV6(21mh6^0000 + + + + + + + + + + Minuux.GitHub.io + + + + + +
+
+ View on GitHub + +

Minuux.GitHub.io

+

blog

+ +
+
+ + +
+
+

+Welcome to GitHub Pages.

+ +

This automatic page generator is the easiest way to create beautiful pages for all of your projects. Author your page content here using GitHub Flavored Markdown, select a template crafted by a designer, and publish. After your page is generated, you can check out the new gh-pages branch locally. If you’re using GitHub Desktop, simply sync your repository and you’ll see the new branch.

+ +

+Designer Templates

+ +

We’ve crafted some handsome templates for you to use. Go ahead and click 'Continue to layouts' to browse through them. You can easily go back to edit your page before publishing. After publishing your page, you can revisit the page generator and switch to another theme. Your Page content will be preserved.

+ +

+Creating pages manually

+ +

If you prefer to not use the automatic generator, push a branch named gh-pages to your repository to create a page manually. In addition to supporting regular HTML content, GitHub Pages support Jekyll, a simple, blog aware static site generator. Jekyll makes it easy to create site-wide headers and footers without having to copy them across every page. It also offers intelligent blog support and other advanced templating features.

+ +

+Authors and Contributors

+ +

You can @mention a GitHub username to generate a link to their profile. The resulting <a> element will link to the contributor’s GitHub Profile. For example: In 2007, Chris Wanstrath (@defunkt), PJ Hyett (@pjhyett), and Tom Preston-Werner (@mojombo) founded GitHub.

+ +

+Support or Contact

+ +

Having trouble with Pages? Check out our documentation or contact support and we’ll help you sort it out.

+
+
+ + + + + + + + diff --git a/javascripts/main.js b/javascripts/main.js new file mode 100644 index 0000000..d8135d3 --- /dev/null +++ b/javascripts/main.js @@ -0,0 +1 @@ +console.log('This would be the main JS file.'); diff --git a/params.json b/params.json new file mode 100644 index 0000000..b1a2b4b --- /dev/null +++ b/params.json @@ -0,0 +1,6 @@ +{ + "name": "Minuux.GitHub.io", + "tagline": "blog", + "body": "### Welcome to GitHub Pages.\r\nThis automatic page generator is the easiest way to create beautiful pages for all of your projects. Author your page content here [using GitHub Flavored Markdown](https://guides.github.com/features/mastering-markdown/), select a template crafted by a designer, and publish. After your page is generated, you can check out the new `gh-pages` branch locally. If you’re using GitHub Desktop, simply sync your repository and you’ll see the new branch.\r\n\r\n### Designer Templates\r\nWe’ve crafted some handsome templates for you to use. Go ahead and click 'Continue to layouts' to browse through them. You can easily go back to edit your page before publishing. After publishing your page, you can revisit the page generator and switch to another theme. Your Page content will be preserved.\r\n\r\n### Creating pages manually\r\nIf you prefer to not use the automatic generator, push a branch named `gh-pages` to your repository to create a page manually. In addition to supporting regular HTML content, GitHub Pages support Jekyll, a simple, blog aware static site generator. Jekyll makes it easy to create site-wide headers and footers without having to copy them across every page. It also offers intelligent blog support and other advanced templating features.\r\n\r\n### Authors and Contributors\r\nYou can @mention a GitHub username to generate a link to their profile. The resulting `` element will link to the contributor’s GitHub Profile. For example: In 2007, Chris Wanstrath (@defunkt), PJ Hyett (@pjhyett), and Tom Preston-Werner (@mojombo) founded GitHub.\r\n\r\n### Support or Contact\r\nHaving trouble with Pages? Check out our [documentation](https://help.github.com/pages) or [contact support](https://github.com/contact) and we’ll help you sort it out.\r\n", + "note": "Don't delete this file! It's used internally to help with page regeneration." +} \ No newline at end of file diff --git a/stylesheets/github-light.css b/stylesheets/github-light.css new file mode 100644 index 0000000..d64ba5d --- /dev/null +++ b/stylesheets/github-light.css @@ -0,0 +1,124 @@ +/* +The MIT License (MIT) + +Copyright (c) 2015 GitHub, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +.pl-c /* comment */ { + color: #969896; +} + +.pl-c1 /* constant, markup.raw, meta.diff.header, meta.module-reference, meta.property-name, support, support.constant, support.variable, variable.other.constant */, +.pl-s .pl-v /* string variable */ { + color: #0086b3; +} + +.pl-e /* entity */, +.pl-en /* entity.name */ { + color: #795da3; +} + +.pl-s .pl-s1 /* string source */, +.pl-smi /* storage.modifier.import, storage.modifier.package, storage.type.java, variable.other, variable.parameter.function */ { + color: #333; +} + +.pl-ent /* entity.name.tag */ { + color: #63a35c; +} + +.pl-k /* keyword, storage, storage.type */ { + color: #a71d5d; +} + +.pl-pds /* punctuation.definition.string, string.regexp.character-class */, +.pl-s /* string */, +.pl-s .pl-pse .pl-s1 /* string punctuation.section.embedded source */, +.pl-sr /* string.regexp */, +.pl-sr .pl-cce /* string.regexp constant.character.escape */, +.pl-sr .pl-sra /* string.regexp string.regexp.arbitrary-repitition */, +.pl-sr .pl-sre /* string.regexp source.ruby.embedded */ { + color: #183691; +} + +.pl-v /* variable */ { + color: #ed6a43; +} + +.pl-id /* invalid.deprecated */ { + color: #b52a1d; +} + +.pl-ii /* invalid.illegal */ { + background-color: #b52a1d; + color: #f8f8f8; +} + +.pl-sr .pl-cce /* string.regexp constant.character.escape */ { + color: #63a35c; + font-weight: bold; +} + +.pl-ml /* markup.list */ { + color: #693a17; +} + +.pl-mh /* markup.heading */, +.pl-mh .pl-en /* markup.heading entity.name */, +.pl-ms /* meta.separator */ { + color: #1d3e81; + font-weight: bold; +} + +.pl-mq /* markup.quote */ { + color: #008080; +} + +.pl-mi /* markup.italic */ { + color: #333; + font-style: italic; +} + +.pl-mb /* markup.bold */ { + color: #333; + font-weight: bold; +} + +.pl-md /* markup.deleted, meta.diff.header.from-file */ { + background-color: #ffecec; + color: #bd2c00; +} + +.pl-mi1 /* markup.inserted, meta.diff.header.to-file */ { + background-color: #eaffea; + color: #55a532; +} + +.pl-mdr /* meta.diff.range */ { + color: #795da3; + font-weight: bold; +} + +.pl-mo /* meta.output */ { + color: #1d3e81; +} + diff --git a/stylesheets/stylesheet.css b/stylesheets/stylesheet.css new file mode 100644 index 0000000..3da3485 --- /dev/null +++ b/stylesheets/stylesheet.css @@ -0,0 +1,425 @@ +/******************************************************************************* +Slate Theme for GitHub Pages +by Jason Costello, @jsncostello +*******************************************************************************/ + +@import url(github-light.css); + +/******************************************************************************* +MeyerWeb Reset +*******************************************************************************/ + +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, +menu, nav, output, ruby, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font: inherit; + vertical-align: baseline; +} + +/* HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} + +ol, ul { + list-style: none; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +/******************************************************************************* +Theme Styles +*******************************************************************************/ + +body { + box-sizing: border-box; + color:#373737; + background: #212121; + font-size: 16px; + font-family: 'Myriad Pro', Calibri, Helvetica, Arial, sans-serif; + line-height: 1.5; + -webkit-font-smoothing: antialiased; +} + +h1, h2, h3, h4, h5, h6 { + margin: 10px 0; + font-weight: 700; + color:#222222; + font-family: 'Lucida Grande', 'Calibri', Helvetica, Arial, sans-serif; + letter-spacing: -1px; +} + +h1 { + font-size: 36px; + font-weight: 700; +} + +h2 { + padding-bottom: 10px; + font-size: 32px; + background: url('../images/bg_hr.png') repeat-x bottom; +} + +h3 { + font-size: 24px; +} + +h4 { + font-size: 21px; +} + +h5 { + font-size: 18px; +} + +h6 { + font-size: 16px; +} + +p { + margin: 10px 0 15px 0; +} + +footer p { + color: #f2f2f2; +} + +a { + text-decoration: none; + color: #007edf; + text-shadow: none; + + transition: color 0.5s ease; + transition: text-shadow 0.5s ease; + -webkit-transition: color 0.5s ease; + -webkit-transition: text-shadow 0.5s ease; + -moz-transition: color 0.5s ease; + -moz-transition: text-shadow 0.5s ease; + -o-transition: color 0.5s ease; + -o-transition: text-shadow 0.5s ease; + -ms-transition: color 0.5s ease; + -ms-transition: text-shadow 0.5s ease; +} + +a:hover, a:focus {text-decoration: underline;} + +footer a { + color: #F2F2F2; + text-decoration: underline; +} + +em { + font-style: italic; +} + +strong { + font-weight: bold; +} + +img { + position: relative; + margin: 0 auto; + max-width: 739px; + padding: 5px; + margin: 10px 0 10px 0; + border: 1px solid #ebebeb; + + box-shadow: 0 0 5px #ebebeb; + -webkit-box-shadow: 0 0 5px #ebebeb; + -moz-box-shadow: 0 0 5px #ebebeb; + -o-box-shadow: 0 0 5px #ebebeb; + -ms-box-shadow: 0 0 5px #ebebeb; +} + +p img { + display: inline; + margin: 0; + padding: 0; + vertical-align: middle; + text-align: center; + border: none; +} + +pre, code { + width: 100%; + color: #222; + background-color: #fff; + + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; + font-size: 14px; + + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; +} + +pre { + width: 100%; + padding: 10px; + box-shadow: 0 0 10px rgba(0,0,0,.1); + overflow: auto; +} + +code { + padding: 3px; + margin: 0 3px; + box-shadow: 0 0 10px rgba(0,0,0,.1); +} + +pre code { + display: block; + box-shadow: none; +} + +blockquote { + color: #666; + margin-bottom: 20px; + padding: 0 0 0 20px; + border-left: 3px solid #bbb; +} + + +ul, ol, dl { + margin-bottom: 15px +} + +ul { + list-style-position: inside; + list-style: disc; + padding-left: 20px; +} + +ol { + list-style-position: inside; + list-style: decimal; + padding-left: 20px; +} + +dl dt { + font-weight: bold; +} + +dl dd { + padding-left: 20px; + font-style: italic; +} + +dl p { + padding-left: 20px; + font-style: italic; +} + +hr { + height: 1px; + margin-bottom: 5px; + border: none; + background: url('../images/bg_hr.png') repeat-x center; +} + +table { + border: 1px solid #373737; + margin-bottom: 20px; + text-align: left; + } + +th { + font-family: 'Lucida Grande', 'Helvetica Neue', Helvetica, Arial, sans-serif; + padding: 10px; + background: #373737; + color: #fff; + } + +td { + padding: 10px; + border: 1px solid #373737; + } + +form { + background: #f2f2f2; + padding: 20px; +} + +/******************************************************************************* +Full-Width Styles +*******************************************************************************/ + +.outer { + width: 100%; +} + +.inner { + position: relative; + max-width: 640px; + padding: 20px 10px; + margin: 0 auto; +} + +#forkme_banner { + display: block; + position: absolute; + top:0; + right: 10px; + z-index: 10; + padding: 10px 50px 10px 10px; + color: #fff; + background: url('../images/blacktocat.png') #0090ff no-repeat 95% 50%; + font-weight: 700; + box-shadow: 0 0 10px rgba(0,0,0,.5); + border-bottom-left-radius: 2px; + border-bottom-right-radius: 2px; +} + +#header_wrap { + background: #212121; + background: -moz-linear-gradient(top, #373737, #212121); + background: -webkit-linear-gradient(top, #373737, #212121); + background: -ms-linear-gradient(top, #373737, #212121); + background: -o-linear-gradient(top, #373737, #212121); + background: linear-gradient(top, #373737, #212121); +} + +#header_wrap .inner { + padding: 50px 10px 30px 10px; +} + +#project_title { + margin: 0; + color: #fff; + font-size: 42px; + font-weight: 700; + text-shadow: #111 0px 0px 10px; +} + +#project_tagline { + color: #fff; + font-size: 24px; + font-weight: 300; + background: none; + text-shadow: #111 0px 0px 10px; +} + +#downloads { + position: absolute; + width: 210px; + z-index: 10; + bottom: -40px; + right: 0; + height: 70px; + background: url('../images/icon_download.png') no-repeat 0% 90%; +} + +.zip_download_link { + display: block; + float: right; + width: 90px; + height:70px; + text-indent: -5000px; + overflow: hidden; + background: url(../images/sprite_download.png) no-repeat bottom left; +} + +.tar_download_link { + display: block; + float: right; + width: 90px; + height:70px; + text-indent: -5000px; + overflow: hidden; + background: url(../images/sprite_download.png) no-repeat bottom right; + margin-left: 10px; +} + +.zip_download_link:hover { + background: url(../images/sprite_download.png) no-repeat top left; +} + +.tar_download_link:hover { + background: url(../images/sprite_download.png) no-repeat top right; +} + +#main_content_wrap { + background: #f2f2f2; + border-top: 1px solid #111; + border-bottom: 1px solid #111; +} + +#main_content { + padding-top: 40px; +} + +#footer_wrap { + background: #212121; +} + + + +/******************************************************************************* +Small Device Styles +*******************************************************************************/ + +@media screen and (max-width: 480px) { + body { + font-size:14px; + } + + #downloads { + display: none; + } + + .inner { + min-width: 320px; + max-width: 480px; + } + + #project_title { + font-size: 32px; + } + + h1 { + font-size: 28px; + } + + h2 { + font-size: 24px; + } + + h3 { + font-size: 21px; + } + + h4 { + font-size: 18px; + } + + h5 { + font-size: 14px; + } + + h6 { + font-size: 12px; + } + + code, pre { + min-width: 320px; + max-width: 480px; + font-size: 11px; + } + +} From 75fbff19c3c1ff0f931387ea7a9e1dc1d85ac71d Mon Sep 17 00:00:00 2001 From: lizhixin <61769459@qq.com> Date: Fri, 27 May 2016 19:36:30 +0800 Subject: [PATCH 04/39] add edu --- edx.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/edx.md b/edx.md index 9b9bc83..1c617a1 100644 --- a/edx.md +++ b/edx.md @@ -63,6 +63,13 @@ exit sudo /edx/bin/supervisorctl restart edxapp: ``` +## Docker +edxops/edxapp docker image执行 supervisorctl +``` +/edx/app/supervisor/venvs/supervisor/bin/supervisorctl +``` +日志 +/edx/var/log ## 脚本执行时间 From de5492f29f3a5e4647512717acd1314d46df8260 Mon Sep 17 00:00:00 2001 From: lizhixin <61769459@qq.com> Date: Fri, 27 May 2016 19:39:22 +0800 Subject: [PATCH 05/39] init --- _config.yml | 19 + _includes/footer.html | 38 ++ _includes/head.html | 12 + _includes/header.html | 27 ++ _includes/icon-github.html | 1 + _includes/icon-github.svg | 1 + _includes/icon-twitter.html | 1 + _includes/icon-twitter.svg | 1 + _layouts/default.html | 20 + _layouts/page.html | 14 + _layouts/post.html | 15 + _posts/2015-05-27-welcome-to-jekyll.markdown | 25 + ansible.md => _posts/2016-05-12-ansible.md | 7 + docker.md => _posts/2016-05-12-docker.md | 7 + edx.md => _posts/2016-05-12-edx.md | 9 + osx.md => _posts/2016-05-12-osx.md | 7 + vi.md => _posts/2016-05-12-vi.md | 7 + _sass/_base.scss | 206 ++++++++ _sass/_layout.scss | 242 ++++++++++ _sass/_syntax-highlighting.scss | 71 +++ _site/css/main.css | 457 ++++++++++++++++++ _site/feed.xml | 384 +++++++++++++++ _site/index.html | 148 ++++++ .../update/2015/05/27/welcome-to-jekyll.html | 117 +++++ _site/notes/2016/05/12/ansible.html | 124 +++++ _site/notes/2016/05/12/docker.html | 188 +++++++ _site/notes/2016/05/12/edx.html | 252 ++++++++++ _site/notes/2016/05/12/osx.html | 111 +++++ _site/notes/2016/05/12/vi.html | 123 +++++ css/main.scss | 53 ++ feed.xml | 30 ++ images/bg_hr.png | Bin 78 -> 0 bytes images/blacktocat.png | Bin 463 -> 0 bytes images/icon_download.png | Bin 216 -> 0 bytes images/sprite_download.png | Bin 14832 -> 0 bytes index.html | 78 +-- javascripts/main.js | 1 - params.json | 6 - stylesheets/github-light.css | 124 ----- stylesheets/stylesheet.css | 425 ---------------- 40 files changed, 2733 insertions(+), 618 deletions(-) create mode 100644 _config.yml create mode 100644 _includes/footer.html create mode 100644 _includes/head.html create mode 100644 _includes/header.html create mode 100644 _includes/icon-github.html create mode 100644 _includes/icon-github.svg create mode 100644 _includes/icon-twitter.html create mode 100644 _includes/icon-twitter.svg create mode 100644 _layouts/default.html create mode 100644 _layouts/page.html create mode 100644 _layouts/post.html create mode 100644 _posts/2015-05-27-welcome-to-jekyll.markdown rename ansible.md => _posts/2016-05-12-ansible.md (76%) rename docker.md => _posts/2016-05-12-docker.md (95%) rename edx.md => _posts/2016-05-12-edx.md (98%) rename osx.md => _posts/2016-05-12-osx.md (58%) rename vi.md => _posts/2016-05-12-vi.md (82%) create mode 100644 _sass/_base.scss create mode 100644 _sass/_layout.scss create mode 100644 _sass/_syntax-highlighting.scss create mode 100644 _site/css/main.css create mode 100644 _site/feed.xml create mode 100644 _site/index.html create mode 100644 _site/jekyll/update/2015/05/27/welcome-to-jekyll.html create mode 100644 _site/notes/2016/05/12/ansible.html create mode 100644 _site/notes/2016/05/12/docker.html create mode 100644 _site/notes/2016/05/12/edx.html create mode 100644 _site/notes/2016/05/12/osx.html create mode 100644 _site/notes/2016/05/12/vi.html create mode 100644 css/main.scss create mode 100644 feed.xml delete mode 100644 images/bg_hr.png delete mode 100644 images/blacktocat.png delete mode 100644 images/icon_download.png delete mode 100644 images/sprite_download.png delete mode 100644 javascripts/main.js delete mode 100644 params.json delete mode 100644 stylesheets/github-light.css delete mode 100644 stylesheets/stylesheet.css diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..6837b37 --- /dev/null +++ b/_config.yml @@ -0,0 +1,19 @@ +# Welcome to Jekyll! +# +# This config file is meant for settings that affect your whole blog, values +# which you are expected to set up once and rarely need to edit after that. +# For technical reasons, this file is *NOT* reloaded automatically when you use +# 'jekyll serve'. If you change this file, please restart the server process. + +# Site settings +title: Minuux +email: +description: > # this means to ignore newlines until "baseurl:" + +baseurl: "" # the subpath of your site, e.g. /blog +url: "minuux.github.io" # the base hostname & protocol for your site +#twitter_username: jekyllrb +#github_username: jekyll + +# Build settings +markdown: kramdown diff --git a/_includes/footer.html b/_includes/footer.html new file mode 100644 index 0000000..b6b996d --- /dev/null +++ b/_includes/footer.html @@ -0,0 +1,38 @@ + diff --git a/_includes/head.html b/_includes/head.html new file mode 100644 index 0000000..1598d6f --- /dev/null +++ b/_includes/head.html @@ -0,0 +1,12 @@ + + + + + + {% if page.title %}{{ page.title | escape }}{% else %}{{ site.title | escape }}{% endif %} + + + + + + diff --git a/_includes/header.html b/_includes/header.html new file mode 100644 index 0000000..b3f86db --- /dev/null +++ b/_includes/header.html @@ -0,0 +1,27 @@ + diff --git a/_includes/icon-github.html b/_includes/icon-github.html new file mode 100644 index 0000000..e501a16 --- /dev/null +++ b/_includes/icon-github.html @@ -0,0 +1 @@ +{% include icon-github.svg %}{{ include.username }} diff --git a/_includes/icon-github.svg b/_includes/icon-github.svg new file mode 100644 index 0000000..4422c4f --- /dev/null +++ b/_includes/icon-github.svg @@ -0,0 +1 @@ + diff --git a/_includes/icon-twitter.html b/_includes/icon-twitter.html new file mode 100644 index 0000000..e623dbd --- /dev/null +++ b/_includes/icon-twitter.html @@ -0,0 +1 @@ +{% include icon-twitter.svg %}{{ include.username }} diff --git a/_includes/icon-twitter.svg b/_includes/icon-twitter.svg new file mode 100644 index 0000000..dcf660e --- /dev/null +++ b/_includes/icon-twitter.svg @@ -0,0 +1 @@ + diff --git a/_layouts/default.html b/_layouts/default.html new file mode 100644 index 0000000..e4ab96f --- /dev/null +++ b/_layouts/default.html @@ -0,0 +1,20 @@ + + + + {% include head.html %} + + + + {% include header.html %} + +
+
+ {{ content }} +
+
+ + {% include footer.html %} + + + + diff --git a/_layouts/page.html b/_layouts/page.html new file mode 100644 index 0000000..ce233ad --- /dev/null +++ b/_layouts/page.html @@ -0,0 +1,14 @@ +--- +layout: default +--- +
+ +
+

{{ page.title }}

+
+ +
+ {{ content }} +
+ +
diff --git a/_layouts/post.html b/_layouts/post.html new file mode 100644 index 0000000..3a0fb52 --- /dev/null +++ b/_layouts/post.html @@ -0,0 +1,15 @@ +--- +layout: default +--- +
+ +
+

{{ page.title }}

+ +
+ +
+ {{ content }} +
+ +
diff --git a/_posts/2015-05-27-welcome-to-jekyll.markdown b/_posts/2015-05-27-welcome-to-jekyll.markdown new file mode 100644 index 0000000..78a16e6 --- /dev/null +++ b/_posts/2015-05-27-welcome-to-jekyll.markdown @@ -0,0 +1,25 @@ +--- +layout: post +title: "Welcome to Jekyll!" +date: 2015-05-27 08:26:31 +0000 +categories: jekyll update +--- +You’ll find this post in your `_posts` directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run `jekyll serve`, which launches a web server and auto-regenerates your site when a file is updated. + +To add new posts, simply add a file in the `_posts` directory that follows the convention `YYYY-MM-DD-name-of-post.ext` and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works. + +Jekyll also offers powerful support for code snippets: + +{% highlight ruby %} +def print_hi(name) + puts "Hi, #{name}" +end +print_hi('Tom') +#=> prints 'Hi, Tom' to STDOUT. +{% endhighlight %} + +Check out the [Jekyll docs][jekyll-docs] for more info on how to get the most out of Jekyll. File all bugs/feature requests at [Jekyll’s GitHub repo][jekyll-gh]. If you have questions, you can ask them on [Jekyll Talk][jekyll-talk]. + +[jekyll-docs]: http://jekyllrb.com/docs/home +[jekyll-gh]: https://github.com/jekyll/jekyll +[jekyll-talk]: https://talk.jekyllrb.com/ diff --git a/ansible.md b/_posts/2016-05-12-ansible.md similarity index 76% rename from ansible.md rename to _posts/2016-05-12-ansible.md index 1219d77..deb7fc5 100644 --- a/ansible.md +++ b/_posts/2016-05-12-ansible.md @@ -1,3 +1,10 @@ +--- +layout: post +title: "ansible" +date: 2016-05-12 08:26:31 +0000 +categories: notes +--- + #Ansible ## doc diff --git a/docker.md b/_posts/2016-05-12-docker.md similarity index 95% rename from docker.md rename to _posts/2016-05-12-docker.md index 066f959..343aae0 100644 --- a/docker.md +++ b/_posts/2016-05-12-docker.md @@ -1,3 +1,10 @@ +--- +layout: post +title: "docker" +date: 2016-05-12 08:26:31 +0000 +categories: notes +--- + # Docker ## nginx diff --git a/edx.md b/_posts/2016-05-12-edx.md similarity index 98% rename from edx.md rename to _posts/2016-05-12-edx.md index 1c617a1..e996d90 100644 --- a/edx.md +++ b/_posts/2016-05-12-edx.md @@ -1,3 +1,10 @@ +--- +layout: post +title: "edx" +date: 2016-05-12 08:26:31 +0000 +categories: notes +--- + # Edx ## 背景 @@ -142,7 +149,9 @@ db.createUser( ### 调整源地址 修改palybooks/roles/common_vars/default/main.yml + ``` + COMMON_PYPI_MIRROR_URL: 'http://mirrors.aliyun.com/pypi/simple' COMMON_NPM_MIRROR_URL: 'https://registry.npm.taobao.org' diff --git a/osx.md b/_posts/2016-05-12-osx.md similarity index 58% rename from osx.md rename to _posts/2016-05-12-osx.md index 909d88a..df27465 100644 --- a/osx.md +++ b/_posts/2016-05-12-osx.md @@ -1,3 +1,10 @@ +--- +layout: post +title: "os x" +date: 2016-05-12 08:26:31 +0000 +categories: notes +--- + #osx ## install pip diff --git a/vi.md b/_posts/2016-05-12-vi.md similarity index 82% rename from vi.md rename to _posts/2016-05-12-vi.md index de43002..9d2d6ee 100644 --- a/vi.md +++ b/_posts/2016-05-12-vi.md @@ -1,3 +1,10 @@ +--- +layout: post +title: "vi" +date: 2016-05-12 08:26:31 +0000 +categories: notes +--- + # vi diff --git a/_sass/_base.scss b/_sass/_base.scss new file mode 100644 index 0000000..0883c3c --- /dev/null +++ b/_sass/_base.scss @@ -0,0 +1,206 @@ +/** + * Reset some basic elements + */ +body, h1, h2, h3, h4, h5, h6, +p, blockquote, pre, hr, +dl, dd, ol, ul, figure { + margin: 0; + padding: 0; +} + + + +/** + * Basic styling + */ +body { + font: $base-font-weight #{$base-font-size}/#{$base-line-height} $base-font-family; + color: $text-color; + background-color: $background-color; + -webkit-text-size-adjust: 100%; + -webkit-font-feature-settings: "kern" 1; + -moz-font-feature-settings: "kern" 1; + -o-font-feature-settings: "kern" 1; + font-feature-settings: "kern" 1; + font-kerning: normal; +} + + + +/** + * Set `margin-bottom` to maintain vertical rhythm + */ +h1, h2, h3, h4, h5, h6, +p, blockquote, pre, +ul, ol, dl, figure, +%vertical-rhythm { + margin-bottom: $spacing-unit / 2; +} + + + +/** + * Images + */ +img { + max-width: 100%; + vertical-align: middle; +} + + + +/** + * Figures + */ +figure > img { + display: block; +} + +figcaption { + font-size: $small-font-size; +} + + + +/** + * Lists + */ +ul, ol { + margin-left: $spacing-unit; +} + +li { + > ul, + > ol { + margin-bottom: 0; + } +} + + + +/** + * Headings + */ +h1, h2, h3, h4, h5, h6 { + font-weight: $base-font-weight; +} + + + +/** + * Links + */ +a { + color: $brand-color; + text-decoration: none; + + &:visited { + color: darken($brand-color, 15%); + } + + &:hover { + color: $text-color; + text-decoration: underline; + } +} + + + +/** + * Blockquotes + */ +blockquote { + color: $grey-color; + border-left: 4px solid $grey-color-light; + padding-left: $spacing-unit / 2; + font-size: 18px; + letter-spacing: -1px; + font-style: italic; + + > :last-child { + margin-bottom: 0; + } +} + + + +/** + * Code formatting + */ +pre, +code { + font-size: 15px; + border: 1px solid $grey-color-light; + border-radius: 3px; + background-color: #eef; +} + +code { + padding: 1px 5px; +} + +pre { + padding: 8px 12px; + overflow-x: auto; + + > code { + border: 0; + padding-right: 0; + padding-left: 0; + } +} + + + +/** + * Wrapper + */ +.wrapper { + max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit} * 2)); + max-width: calc(#{$content-width} - (#{$spacing-unit} * 2)); + margin-right: auto; + margin-left: auto; + padding-right: $spacing-unit; + padding-left: $spacing-unit; + @extend %clearfix; + + @include media-query($on-laptop) { + max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit})); + max-width: calc(#{$content-width} - (#{$spacing-unit})); + padding-right: $spacing-unit / 2; + padding-left: $spacing-unit / 2; + } +} + + + +/** + * Clearfix + */ +%clearfix { + + &:after { + content: ""; + display: table; + clear: both; + } +} + + + +/** + * Icons + */ +.icon { + + > svg { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + + path { + fill: $grey-color; + } + } +} diff --git a/_sass/_layout.scss b/_sass/_layout.scss new file mode 100644 index 0000000..9cbfdde --- /dev/null +++ b/_sass/_layout.scss @@ -0,0 +1,242 @@ +/** + * Site header + */ +.site-header { + border-top: 5px solid $grey-color-dark; + border-bottom: 1px solid $grey-color-light; + min-height: 56px; + + // Positioning context for the mobile navigation icon + position: relative; +} + +.site-title { + font-size: 26px; + font-weight: 300; + line-height: 56px; + letter-spacing: -1px; + margin-bottom: 0; + float: left; + + &, + &:visited { + color: $grey-color-dark; + } +} + +.site-nav { + float: right; + line-height: 56px; + + .menu-icon { + display: none; + } + + .page-link { + color: $text-color; + line-height: $base-line-height; + + // Gaps between nav items, but not on the last one + &:not(:last-child) { + margin-right: 20px; + } + } + + @include media-query($on-palm) { + position: absolute; + top: 9px; + right: $spacing-unit / 2; + background-color: $background-color; + border: 1px solid $grey-color-light; + border-radius: 5px; + text-align: right; + + .menu-icon { + display: block; + float: right; + width: 36px; + height: 26px; + line-height: 0; + padding-top: 10px; + text-align: center; + + > svg { + width: 18px; + height: 15px; + + path { + fill: $grey-color-dark; + } + } + } + + .trigger { + clear: both; + display: none; + } + + &:hover .trigger { + display: block; + padding-bottom: 5px; + } + + .page-link { + display: block; + padding: 5px 10px; + + &:not(:last-child) { + margin-right: 0; + } + margin-left: 20px; + } + } +} + + + +/** + * Site footer + */ +.site-footer { + border-top: 1px solid $grey-color-light; + padding: $spacing-unit 0; +} + +.footer-heading { + font-size: 18px; + margin-bottom: $spacing-unit / 2; +} + +.contact-list, +.social-media-list { + list-style: none; + margin-left: 0; +} + +.footer-col-wrapper { + font-size: 15px; + color: $grey-color; + margin-left: -$spacing-unit / 2; + @extend %clearfix; +} + +.footer-col { + float: left; + margin-bottom: $spacing-unit / 2; + padding-left: $spacing-unit / 2; +} + +.footer-col-1 { + width: -webkit-calc(35% - (#{$spacing-unit} / 2)); + width: calc(35% - (#{$spacing-unit} / 2)); +} + +.footer-col-2 { + width: -webkit-calc(20% - (#{$spacing-unit} / 2)); + width: calc(20% - (#{$spacing-unit} / 2)); +} + +.footer-col-3 { + width: -webkit-calc(45% - (#{$spacing-unit} / 2)); + width: calc(45% - (#{$spacing-unit} / 2)); +} + +@include media-query($on-laptop) { + .footer-col-1, + .footer-col-2 { + width: -webkit-calc(50% - (#{$spacing-unit} / 2)); + width: calc(50% - (#{$spacing-unit} / 2)); + } + + .footer-col-3 { + width: -webkit-calc(100% - (#{$spacing-unit} / 2)); + width: calc(100% - (#{$spacing-unit} / 2)); + } +} + +@include media-query($on-palm) { + .footer-col { + float: none; + width: -webkit-calc(100% - (#{$spacing-unit} / 2)); + width: calc(100% - (#{$spacing-unit} / 2)); + } +} + + + +/** + * Page content + */ +.page-content { + padding: $spacing-unit 0; +} + +.page-heading { + font-size: 20px; +} + +.post-list { + margin-left: 0; + list-style: none; + + > li { + margin-bottom: $spacing-unit; + } +} + +.post-meta { + font-size: $small-font-size; + color: $grey-color; +} + +.post-link { + display: block; + font-size: 24px; +} + + + +/** + * Posts + */ +.post-header { + margin-bottom: $spacing-unit; +} + +.post-title { + font-size: 42px; + letter-spacing: -1px; + line-height: 1; + + @include media-query($on-laptop) { + font-size: 36px; + } +} + +.post-content { + margin-bottom: $spacing-unit; + + h2 { + font-size: 32px; + + @include media-query($on-laptop) { + font-size: 28px; + } + } + + h3 { + font-size: 26px; + + @include media-query($on-laptop) { + font-size: 22px; + } + } + + h4 { + font-size: 20px; + + @include media-query($on-laptop) { + font-size: 18px; + } + } +} diff --git a/_sass/_syntax-highlighting.scss b/_sass/_syntax-highlighting.scss new file mode 100644 index 0000000..8fac597 --- /dev/null +++ b/_sass/_syntax-highlighting.scss @@ -0,0 +1,71 @@ +/** + * Syntax highlighting styles + */ +.highlight { + background: #fff; + @extend %vertical-rhythm; + + .highlighter-rouge & { + background: #eef; + } + + .c { color: #998; font-style: italic } // Comment + .err { color: #a61717; background-color: #e3d2d2 } // Error + .k { font-weight: bold } // Keyword + .o { font-weight: bold } // Operator + .cm { color: #998; font-style: italic } // Comment.Multiline + .cp { color: #999; font-weight: bold } // Comment.Preproc + .c1 { color: #998; font-style: italic } // Comment.Single + .cs { color: #999; font-weight: bold; font-style: italic } // Comment.Special + .gd { color: #000; background-color: #fdd } // Generic.Deleted + .gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific + .ge { font-style: italic } // Generic.Emph + .gr { color: #a00 } // Generic.Error + .gh { color: #999 } // Generic.Heading + .gi { color: #000; background-color: #dfd } // Generic.Inserted + .gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific + .go { color: #888 } // Generic.Output + .gp { color: #555 } // Generic.Prompt + .gs { font-weight: bold } // Generic.Strong + .gu { color: #aaa } // Generic.Subheading + .gt { color: #a00 } // Generic.Traceback + .kc { font-weight: bold } // Keyword.Constant + .kd { font-weight: bold } // Keyword.Declaration + .kp { font-weight: bold } // Keyword.Pseudo + .kr { font-weight: bold } // Keyword.Reserved + .kt { color: #458; font-weight: bold } // Keyword.Type + .m { color: #099 } // Literal.Number + .s { color: #d14 } // Literal.String + .na { color: #008080 } // Name.Attribute + .nb { color: #0086B3 } // Name.Builtin + .nc { color: #458; font-weight: bold } // Name.Class + .no { color: #008080 } // Name.Constant + .ni { color: #800080 } // Name.Entity + .ne { color: #900; font-weight: bold } // Name.Exception + .nf { color: #900; font-weight: bold } // Name.Function + .nn { color: #555 } // Name.Namespace + .nt { color: #000080 } // Name.Tag + .nv { color: #008080 } // Name.Variable + .ow { font-weight: bold } // Operator.Word + .w { color: #bbb } // Text.Whitespace + .mf { color: #099 } // Literal.Number.Float + .mh { color: #099 } // Literal.Number.Hex + .mi { color: #099 } // Literal.Number.Integer + .mo { color: #099 } // Literal.Number.Oct + .sb { color: #d14 } // Literal.String.Backtick + .sc { color: #d14 } // Literal.String.Char + .sd { color: #d14 } // Literal.String.Doc + .s2 { color: #d14 } // Literal.String.Double + .se { color: #d14 } // Literal.String.Escape + .sh { color: #d14 } // Literal.String.Heredoc + .si { color: #d14 } // Literal.String.Interpol + .sx { color: #d14 } // Literal.String.Other + .sr { color: #009926 } // Literal.String.Regex + .s1 { color: #d14 } // Literal.String.Single + .ss { color: #990073 } // Literal.String.Symbol + .bp { color: #999 } // Name.Builtin.Pseudo + .vc { color: #008080 } // Name.Variable.Class + .vg { color: #008080 } // Name.Variable.Global + .vi { color: #008080 } // Name.Variable.Instance + .il { color: #099 } // Literal.Number.Integer.Long +} diff --git a/_site/css/main.css b/_site/css/main.css new file mode 100644 index 0000000..1fb1692 --- /dev/null +++ b/_site/css/main.css @@ -0,0 +1,457 @@ +/** + * Reset some basic elements + */ +body, h1, h2, h3, h4, h5, h6, +p, blockquote, pre, hr, +dl, dd, ol, ul, figure { + margin: 0; + padding: 0; } + +/** + * Basic styling + */ +body { + font: 400 16px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif; + color: #111; + background-color: #fdfdfd; + -webkit-text-size-adjust: 100%; + -webkit-font-feature-settings: "kern" 1; + -moz-font-feature-settings: "kern" 1; + -o-font-feature-settings: "kern" 1; + font-feature-settings: "kern" 1; + font-kerning: normal; } + +/** + * Set `margin-bottom` to maintain vertical rhythm + */ +h1, h2, h3, h4, h5, h6, +p, blockquote, pre, +ul, ol, dl, figure, +.highlight { + margin-bottom: 15px; } + +/** + * Images + */ +img { + max-width: 100%; + vertical-align: middle; } + +/** + * Figures + */ +figure > img { + display: block; } + +figcaption { + font-size: 14px; } + +/** + * Lists + */ +ul, ol { + margin-left: 30px; } + +li > ul, +li > ol { + margin-bottom: 0; } + +/** + * Headings + */ +h1, h2, h3, h4, h5, h6 { + font-weight: 400; } + +/** + * Links + */ +a { + color: #2a7ae2; + text-decoration: none; } + a:visited { + color: #1756a9; } + a:hover { + color: #111; + text-decoration: underline; } + +/** + * Blockquotes + */ +blockquote { + color: #828282; + border-left: 4px solid #e8e8e8; + padding-left: 15px; + font-size: 18px; + letter-spacing: -1px; + font-style: italic; } + blockquote > :last-child { + margin-bottom: 0; } + +/** + * Code formatting + */ +pre, +code { + font-size: 15px; + border: 1px solid #e8e8e8; + border-radius: 3px; + background-color: #eef; } + +code { + padding: 1px 5px; } + +pre { + padding: 8px 12px; + overflow-x: auto; } + pre > code { + border: 0; + padding-right: 0; + padding-left: 0; } + +/** + * Wrapper + */ +.wrapper { + max-width: -webkit-calc(800px - (30px * 2)); + max-width: calc(800px - (30px * 2)); + margin-right: auto; + margin-left: auto; + padding-right: 30px; + padding-left: 30px; } + @media screen and (max-width: 800px) { + .wrapper { + max-width: -webkit-calc(800px - (30px)); + max-width: calc(800px - (30px)); + padding-right: 15px; + padding-left: 15px; } } + +/** + * Clearfix + */ +.wrapper:after, .footer-col-wrapper:after { + content: ""; + display: table; + clear: both; } + +/** + * Icons + */ +.icon > svg { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; } + .icon > svg path { + fill: #828282; } + +/** + * Site header + */ +.site-header { + border-top: 5px solid #424242; + border-bottom: 1px solid #e8e8e8; + min-height: 56px; + position: relative; } + +.site-title { + font-size: 26px; + font-weight: 300; + line-height: 56px; + letter-spacing: -1px; + margin-bottom: 0; + float: left; } + .site-title, .site-title:visited { + color: #424242; } + +.site-nav { + float: right; + line-height: 56px; } + .site-nav .menu-icon { + display: none; } + .site-nav .page-link { + color: #111; + line-height: 1.5; } + .site-nav .page-link:not(:last-child) { + margin-right: 20px; } + @media screen and (max-width: 600px) { + .site-nav { + position: absolute; + top: 9px; + right: 15px; + background-color: #fdfdfd; + border: 1px solid #e8e8e8; + border-radius: 5px; + text-align: right; } + .site-nav .menu-icon { + display: block; + float: right; + width: 36px; + height: 26px; + line-height: 0; + padding-top: 10px; + text-align: center; } + .site-nav .menu-icon > svg { + width: 18px; + height: 15px; } + .site-nav .menu-icon > svg path { + fill: #424242; } + .site-nav .trigger { + clear: both; + display: none; } + .site-nav:hover .trigger { + display: block; + padding-bottom: 5px; } + .site-nav .page-link { + display: block; + padding: 5px 10px; + margin-left: 20px; } + .site-nav .page-link:not(:last-child) { + margin-right: 0; } } + +/** + * Site footer + */ +.site-footer { + border-top: 1px solid #e8e8e8; + padding: 30px 0; } + +.footer-heading { + font-size: 18px; + margin-bottom: 15px; } + +.contact-list, +.social-media-list { + list-style: none; + margin-left: 0; } + +.footer-col-wrapper { + font-size: 15px; + color: #828282; + margin-left: -15px; } + +.footer-col { + float: left; + margin-bottom: 15px; + padding-left: 15px; } + +.footer-col-1 { + width: -webkit-calc(35% - (30px / 2)); + width: calc(35% - (30px / 2)); } + +.footer-col-2 { + width: -webkit-calc(20% - (30px / 2)); + width: calc(20% - (30px / 2)); } + +.footer-col-3 { + width: -webkit-calc(45% - (30px / 2)); + width: calc(45% - (30px / 2)); } + +@media screen and (max-width: 800px) { + .footer-col-1, + .footer-col-2 { + width: -webkit-calc(50% - (30px / 2)); + width: calc(50% - (30px / 2)); } + + .footer-col-3 { + width: -webkit-calc(100% - (30px / 2)); + width: calc(100% - (30px / 2)); } } +@media screen and (max-width: 600px) { + .footer-col { + float: none; + width: -webkit-calc(100% - (30px / 2)); + width: calc(100% - (30px / 2)); } } +/** + * Page content + */ +.page-content { + padding: 30px 0; } + +.page-heading { + font-size: 20px; } + +.post-list { + margin-left: 0; + list-style: none; } + .post-list > li { + margin-bottom: 30px; } + +.post-meta { + font-size: 14px; + color: #828282; } + +.post-link { + display: block; + font-size: 24px; } + +/** + * Posts + */ +.post-header { + margin-bottom: 30px; } + +.post-title { + font-size: 42px; + letter-spacing: -1px; + line-height: 1; } + @media screen and (max-width: 800px) { + .post-title { + font-size: 36px; } } + +.post-content { + margin-bottom: 30px; } + .post-content h2 { + font-size: 32px; } + @media screen and (max-width: 800px) { + .post-content h2 { + font-size: 28px; } } + .post-content h3 { + font-size: 26px; } + @media screen and (max-width: 800px) { + .post-content h3 { + font-size: 22px; } } + .post-content h4 { + font-size: 20px; } + @media screen and (max-width: 800px) { + .post-content h4 { + font-size: 18px; } } + +/** + * Syntax highlighting styles + */ +.highlight { + background: #fff; } + .highlighter-rouge .highlight { + background: #eef; } + .highlight .c { + color: #998; + font-style: italic; } + .highlight .err { + color: #a61717; + background-color: #e3d2d2; } + .highlight .k { + font-weight: bold; } + .highlight .o { + font-weight: bold; } + .highlight .cm { + color: #998; + font-style: italic; } + .highlight .cp { + color: #999; + font-weight: bold; } + .highlight .c1 { + color: #998; + font-style: italic; } + .highlight .cs { + color: #999; + font-weight: bold; + font-style: italic; } + .highlight .gd { + color: #000; + background-color: #fdd; } + .highlight .gd .x { + color: #000; + background-color: #faa; } + .highlight .ge { + font-style: italic; } + .highlight .gr { + color: #a00; } + .highlight .gh { + color: #999; } + .highlight .gi { + color: #000; + background-color: #dfd; } + .highlight .gi .x { + color: #000; + background-color: #afa; } + .highlight .go { + color: #888; } + .highlight .gp { + color: #555; } + .highlight .gs { + font-weight: bold; } + .highlight .gu { + color: #aaa; } + .highlight .gt { + color: #a00; } + .highlight .kc { + font-weight: bold; } + .highlight .kd { + font-weight: bold; } + .highlight .kp { + font-weight: bold; } + .highlight .kr { + font-weight: bold; } + .highlight .kt { + color: #458; + font-weight: bold; } + .highlight .m { + color: #099; } + .highlight .s { + color: #d14; } + .highlight .na { + color: #008080; } + .highlight .nb { + color: #0086B3; } + .highlight .nc { + color: #458; + font-weight: bold; } + .highlight .no { + color: #008080; } + .highlight .ni { + color: #800080; } + .highlight .ne { + color: #900; + font-weight: bold; } + .highlight .nf { + color: #900; + font-weight: bold; } + .highlight .nn { + color: #555; } + .highlight .nt { + color: #000080; } + .highlight .nv { + color: #008080; } + .highlight .ow { + font-weight: bold; } + .highlight .w { + color: #bbb; } + .highlight .mf { + color: #099; } + .highlight .mh { + color: #099; } + .highlight .mi { + color: #099; } + .highlight .mo { + color: #099; } + .highlight .sb { + color: #d14; } + .highlight .sc { + color: #d14; } + .highlight .sd { + color: #d14; } + .highlight .s2 { + color: #d14; } + .highlight .se { + color: #d14; } + .highlight .sh { + color: #d14; } + .highlight .si { + color: #d14; } + .highlight .sx { + color: #d14; } + .highlight .sr { + color: #009926; } + .highlight .s1 { + color: #d14; } + .highlight .ss { + color: #990073; } + .highlight .bp { + color: #999; } + .highlight .vc { + color: #008080; } + .highlight .vg { + color: #008080; } + .highlight .vi { + color: #008080; } + .highlight .il { + color: #099; } diff --git a/_site/feed.xml b/_site/feed.xml new file mode 100644 index 0000000..89af187 --- /dev/null +++ b/_site/feed.xml @@ -0,0 +1,384 @@ + + + + Minuux + + minuux.github.io/ + + Fri, 27 May 2016 11:05:42 +0000 + Fri, 27 May 2016 11:05:42 +0000 + Jekyll v3.1.6 + + + vi + <h1 id="vi">vi</h1> + +<h2 id="section">编辑模式</h2> + +<p>在普通模式下,输入a(附加命令)、c(修改命令)、i(插入命令)、o(另起新行)、r(取代命令)以及s(替换命令)都将进入编辑模式</p> + +<h2 id="section-1">保存退出</h2> + +<p>按esc退回到普通模式,输入 :,左下角将出现输入行,然后输入 wq或x来保存退出vi +<code class="highlighter-rouge"> +:wq +:x +</code></p> + +<h2 id="section-2">强制退出,不论是否已经保存</h2> +<div class="highlighter-rouge"><pre class="highlight"><code>:q! + +</code></pre> +</div> + + + Thu, 12 May 2016 08:26:31 +0000 + minuux.github.io/notes/2016/05/12/vi.html + minuux.github.io/notes/2016/05/12/vi.html + + + notes + + + + + os x + <p>#osx</p> + +<h2 id="install-pip">install pip</h2> + +<p>http://stackoverflow.com/questions/17271319/installing-pip-on-mac-os-x +<code class="highlighter-rouge"> +sudo easy_install pip +</code></p> + + Thu, 12 May 2016 08:26:31 +0000 + minuux.github.io/notes/2016/05/12/osx.html + minuux.github.io/notes/2016/05/12/osx.html + + + notes + + + + + edx + <h1 id="edx">Edx</h1> + +<h2 id="section">背景</h2> +<p>edX是哈佛大学和麻省理工学院共同创立的非营利网络教育项目,旨在为全球提供来自哈佛大学、麻省理工学院、加州大学伯克利分校、清华大学、北京大学、香港大学、香港科技大学等全球顶尖高校及组织的慕课(大规模在线公开课)。课程主题涵盖生物、数学、统计、物理、化学、电子、工程、计算机、经济、金融、文学、历史、音乐、哲学、法学、人类学、商业、医学、营养学等多个学科。</p> + +<h2 id="section-1">介绍</h2> +<p>http://blog.just4fun.site/about-Open-edX.html</p> + +<h2 id="edx-1">5种扩展edx的方式</h2> +<p>https://github.com/edx/edx-platform/wiki/Five-ways-to-extend-edX</p> + +<h2 id="ie11chromefirefoxsafari">浏览器支持,必须IE11或chrome,firefox,safari</h2> +<p>http://edx.readthedocs.io/projects/edx-guide-for-students/en/latest/front_matter/browsers.html</p> + +<h2 id="section-2">第三方登陆</h2> + +<p>集成公司的登录方式,但EDX现在只提供了OAUTH2的方式 +http://blog.just4fun.site/Open-edX-login-explore.html</p> + +<h2 id="section-3">案例</h2> +<p>http://www.xuetangx.com/</p> + +<h2 id="section-4">主题修改</h2> +<p>http://blog.just4fun.site/edx-front-dev.html +https://github.com/edx/edx-platform/blob/named-release/dogwood.rc/themes/README.rst</p> + +<h2 id="open-edx">Open edX开发技能与入门资料</h2> +<p>http://blog.just4fun.site/open-edx-dev-skill-and-resource.html</p> + +<h2 id="ansible-">使用ansible 安装失败</h2> +<div class="highlighter-rouge"><pre class="highlight"><code>cd /var/tmp/configuration/playbooks +sudo ansible-playbook -c local ./edx_sandbox.yml -i "localhost," --limit @/home/vagrant/edx_sandbox.retry + +</code></pre> +</div> + +<h2 id="section-5">翻译成本地语言</h2> +<p>localization and development in china +https://github.com/edx/edx-platform/wiki/localization-and-development-in-china +``` +/* +http://www.ichenfei.com/open-edx-nationalization-i18.html +*/</p> + +<p>/<em>删除原有.po翻译文件</em>/ +cd /edx/app/edxapp/edx-platform/conf/locale/zh_CN/LC_MESSAGES/ +sudo rm *</p> + +<p>/<em>下载我们翻译做好的.po文件,并更改所有权,通过浏览器下载就不需要更改所有权了</em>/</p> + +<p>wget http://mirrors.edustack.org/LC_MESSAGES/dogwood/django.po http://mirrors.edustack.org/LC_MESSAGES/dogwood/djangojs.po</p> + +<p>chown edxapp:edxapp django.po djangojs.po</p> + +<p>/<em>切换到edxapp用户加载环境执行翻译</em>/ +sudo -u edxapp bash +source /edx/app/edxapp/edxapp_env +cd /edx/app/edxapp/edx-platform +paver i18n_fastgenerate</p> + +<p>/<em>退出edxapp用户并重启edxapp,最后的:是必要的</em>/ +exit +sudo /edx/bin/supervisorctl restart edxapp:</p> + +<div class="highlighter-rouge"><pre class="highlight"><code>## Docker +edxops/edxapp docker image执行 supervisorctl +</code></pre> +</div> +<p>/edx/app/supervisor/venvs/supervisor/bin/supervisorctl +``` +日志 +/edx/var/log</p> + +<h2 id="section-6">脚本执行时间</h2> + +<div class="highlighter-rouge"><pre class="highlight"><code>PLAY RECAP ******************************************************************** +INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | checkout edx-platform repo into ----------------- 544.58s +INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | install mongo server and recommends ------------------------------------ 317.94s +INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp_common | Install system packages ----------------------------------------- 96.93s +INFO:ansible.callback_plugins.datadog_tasks_timing:mysql | Install mysql-5.6 and dependencies -------------------------------------- 58.14s +INFO:ansible.callback_plugins.datadog_tasks_timing:rabbitmq | install rabbit package using gdebi ----------------------------------- 44.68s +INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | install system packages on which LMS and CMS rely ---------------------- 44.03s +INFO:ansible.callback_plugins.datadog_tasks_timing:rabbitmq | install python-software-properties if debian ------------------------- 31.26s +INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | add ppas for current versions of nodejs -------------------------------- 30.02s +INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | add the mongodb repo to the sources list -------------------------------- 28.09s +INFO:ansible.callback_plugins.datadog_tasks_timing:mysql | Install MySQL community apt repositories -------------------------------- 21.41s +INFO:ansible.callback_plugins.datadog_tasks_timing: +Playbook edx_sandbox finished: Thu May 19 14:48:45 2016, 208 total tasks. 0:22:18 elapsed. + +</code></pre> +</div> + +<h2 id="section-7">配置远程服务</h2> + +<h3 id="mysql">mysql</h3> +<p>数据库 +- edxapp +- edxapp_csmh</p> + +<p>用户 edxapp001:password,root:password</p> + +<h3 id="mongo">mongo</h3> +<p>数据库 edxapp +用户 edxapp:password</p> + +<div class="highlighter-rouge"><pre class="highlight"><code>use edxapp +db.createUser( + { + user: "edxapp", + pwd: "password", + roles: [ "readWrite"] + } +) + +use cs_comments_service +db.createUser( + { + user: "cs_comments_service", + pwd: "password", + roles: [ "readWrite"] + } +) +</code></pre> +</div> + +<h3 id="memcahce">memcahce</h3> + +<h3 id="edx-platform">edx-platform</h3> +<p>修改代码,不要从github上复制代码,直接从本地复制 +修改 checkout edx-platform repo into +<code class="highlighter-rouge"> +- name: checkout edx-platform repo into + shell: cp -R /vagrant/edx-platform + sudo_user: "" + register: edxapp_platform_checkout + tags: + - install + - install:code +</code></p> + +<h3 id="section-8">调整源地址</h3> +<p>修改palybooks/roles/common_vars/default/main.yml</p> + +<div class="highlighter-rouge"><pre class="highlight"><code> +COMMON_PYPI_MIRROR_URL: 'http://mirrors.aliyun.com/pypi/simple' +COMMON_NPM_MIRROR_URL: 'https://registry.npm.taobao.org' + +</code></pre> +</div> + + Thu, 12 May 2016 08:26:31 +0000 + minuux.github.io/notes/2016/05/12/edx.html + minuux.github.io/notes/2016/05/12/edx.html + + + notes + + + + + docker + <h1 id="docker">Docker</h1> + +<h2 id="nginx">nginx</h2> + +<div class="highlighter-rouge"><pre class="highlight"><code>docker run --name nginx -p 80:80 -v /Users/lizhixin/dev/docker/nginx:/usr/share/nginx/html:ro -d nginx + +</code></pre> +</div> + +<h2 id="mysql">mysql</h2> +<p>osx中使用mysql镜像创建容器会出现volumes无权限加载的情况 +解决方法:http://stackoverflow.com/questions/34442831/permission-denied-when-mounting-docker-volume-in-osx</p> + +<p>创建自己的镜像,修改权限</p> + +<div class="highlighter-rouge"><pre class="highlight"><code> FROM mysql + + RUN usermod -u 1000 mysql + RUN mkdir -p /var/run/mysqld + RUN chmod -R 777 /var/run/mysqld + +</code></pre> +</div> + +<div class="highlighter-rouge"><pre class="highlight"><code> docker build -t mysql2 . + +</code></pre> +</div> +<p>生成容器</p> + +<div class="highlighter-rouge"><pre class="highlight"><code>docker run -it --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /Users/lizhixin/dev/edx/mysql:/var/lib/mysql mysql2 + +</code></pre> +</div> + +<h2 id="docker-machine-">docker-machine 使用代理</h2> +<p>修改 vi /var/lib/boot2docker/profile,或者创建的时候就设置 +``` + docker-machine create -d virtualbox \ + –engine-env HTTP_PROXY=http://192.168.1.1:8080 \ + –engine-env HTTPS_PROXY=http://192.168.1.1:8080 \ + –engine-env NO_PROXY=localhost \ + –EXTRA_ARGS=”–registry-mirror=http://de1b1668.m.daocloud.io” \ + default</p> + +<div class="highlighter-rouge"><pre class="highlight"><code> + +## windows 下使用 docker + +安装 Kitematic ,之后使用CMD,运行docker命令 +提示无法连接到 daemon + +通过 docker-machine ip 查询到machine的IP +设置下面的系统环境变量 +</code></pre> +</div> +<div class="highlighter-rouge"><pre class="highlight"><code>export DOCKER_HOST=tcp://192.168.99.100:2376 +export DOCKER_MACHINE_NAME=default +export DOCKER_TLS_VERIFY=1 +export DOCKER_CERT_PATH=C:\Users\li\.docker\machine\machines\default ``` 之后就可以正常使用了 +</code></pre> +</div> + +<p>但仅仅只能通过本机访问 +通过设置virtualbox可以使用局域网中的IP(桥接网络),之后重新通过docker-machine regenerate-certs 生成certs</p> + +<h2 id="section">安装成功后需要配置日期时间</h2> + +<p>设置ubuntu的时区</p> + +<div class="highlighter-rouge"><pre class="highlight"><code>echo "Asia/shanghai" &gt; /etc/timezone +</code></pre> +</div> + +<p>但PHP或MYSQL还是需要单独设置 +找了好久终于找到了解决方法,在容器中执行以下命令就可以了,MYSQL的容器设置后还是需要重启的 +http://www.opstool.com/article/320 +<code class="highlighter-rouge"> +cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime +</code></p> + +<h2 id="boot2docker-">boot2docker 默认密码</h2> +<div class="highlighter-rouge"><pre class="highlight"><code>docker:tcuser +</code></pre> +</div> + + Thu, 12 May 2016 08:26:31 +0000 + minuux.github.io/notes/2016/05/12/docker.html + minuux.github.io/notes/2016/05/12/docker.html + + + notes + + + + + ansible + <p>#Ansible</p> + +<h2 id="doc">doc</h2> +<p>Ansible中文权威指南 http://www.ansible.com.cn</p> + +<h2 id="os-x-ubuntu">使用 OS X 对ubuntu进行管理</h2> + +<div class="highlighter-rouge"><pre class="highlight"><code>brew install ssh-copy-id + +/* +生成公钥与私钥 +ssh介绍:http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html +*/ +ssh-keygen + +ssh-copy-id user@address + +ssh user@address +</code></pre> +</div> + + + Thu, 12 May 2016 08:26:31 +0000 + minuux.github.io/notes/2016/05/12/ansible.html + minuux.github.io/notes/2016/05/12/ansible.html + + + notes + + + + + Welcome to Jekyll! + <p>You’ll find this post in your <code class="highlighter-rouge">_posts</code> directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run <code class="highlighter-rouge">jekyll serve</code>, which launches a web server and auto-regenerates your site when a file is updated.</p> + +<p>To add new posts, simply add a file in the <code class="highlighter-rouge">_posts</code> directory that follows the convention <code class="highlighter-rouge">YYYY-MM-DD-name-of-post.ext</code> and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works.</p> + +<p>Jekyll also offers powerful support for code snippets:</p> + +<figure class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="k">def</span> <span class="nf">print_hi</span><span class="p">(</span><span class="nb">name</span><span class="p">)</span> + <span class="nb">puts</span> <span class="s2">"Hi, </span><span class="si">#{</span><span class="nb">name</span><span class="si">}</span><span class="s2">"</span> +<span class="k">end</span> +<span class="n">print_hi</span><span class="p">(</span><span class="s1">'Tom'</span><span class="p">)</span> +<span class="c1">#=&gt; prints 'Hi, Tom' to STDOUT.</span></code></pre></figure> + +<p>Check out the <a href="http://jekyllrb.com/docs/home">Jekyll docs</a> for more info on how to get the most out of Jekyll. File all bugs/feature requests at <a href="https://github.com/jekyll/jekyll">Jekyll’s GitHub repo</a>. If you have questions, you can ask them on <a href="https://talk.jekyllrb.com/">Jekyll Talk</a>.</p> + + + Wed, 27 May 2015 08:26:31 +0000 + minuux.github.io/jekyll/update/2015/05/27/welcome-to-jekyll.html + minuux.github.io/jekyll/update/2015/05/27/welcome-to-jekyll.html + + + jekyll + + update + + + + + diff --git a/_site/index.html b/_site/index.html new file mode 100644 index 0000000..df2757c --- /dev/null +++ b/_site/index.html @@ -0,0 +1,148 @@ + + + + + + + + + Minuux + + + + + + + + + + + + + +
+
+
+ +
    + +
  • + + +

    + vi +

    +
  • + +
  • + + +

    + os x +

    +
  • + +
  • + + +

    + edx +

    +
  • + +
  • + + +

    + docker +

    +
  • + +
  • + + +

    + ansible +

    +
  • + +
  • + + +

    + Welcome to Jekyll! +

    +
  • + +
+ +

subscribe via RSS

+ +
+ +
+
+ + + + + + + diff --git a/_site/jekyll/update/2015/05/27/welcome-to-jekyll.html b/_site/jekyll/update/2015/05/27/welcome-to-jekyll.html new file mode 100644 index 0000000..233071c --- /dev/null +++ b/_site/jekyll/update/2015/05/27/welcome-to-jekyll.html @@ -0,0 +1,117 @@ + + + + + + + + + Welcome to Jekyll! + + + + + + + + + + + + + +
+
+
+ +
+

Welcome to Jekyll!

+ +
+ +
+

You’ll find this post in your _posts directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run jekyll serve, which launches a web server and auto-regenerates your site when a file is updated.

+ +

To add new posts, simply add a file in the _posts directory that follows the convention YYYY-MM-DD-name-of-post.ext and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works.

+ +

Jekyll also offers powerful support for code snippets:

+ +
def print_hi(name)
+  puts "Hi, #{name}"
+end
+print_hi('Tom')
+#=> prints 'Hi, Tom' to STDOUT.
+ +

Check out the Jekyll docs for more info on how to get the most out of Jekyll. File all bugs/feature requests at Jekyll’s GitHub repo. If you have questions, you can ask them on Jekyll Talk.

+ + +
+ +
+ +
+
+ + + + + + + diff --git a/_site/notes/2016/05/12/ansible.html b/_site/notes/2016/05/12/ansible.html new file mode 100644 index 0000000..8265791 --- /dev/null +++ b/_site/notes/2016/05/12/ansible.html @@ -0,0 +1,124 @@ + + + + + + + + + ansible + + + + + + + + + + + + + +
+
+
+ +
+

ansible

+ +
+ +
+

#Ansible

+ +

doc

+

Ansible中文权威指南 http://www.ansible.com.cn

+ +

使用 OS X 对ubuntu进行管理

+ +
brew install ssh-copy-id
+
+/*
+生成公钥与私钥
+ssh介绍:http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html
+*/
+ssh-keygen
+
+ssh-copy-id user@address
+
+ssh user@address
+
+
+ + +
+ +
+ +
+
+ + + + + + + diff --git a/_site/notes/2016/05/12/docker.html b/_site/notes/2016/05/12/docker.html new file mode 100644 index 0000000..88135d1 --- /dev/null +++ b/_site/notes/2016/05/12/docker.html @@ -0,0 +1,188 @@ + + + + + + + + + docker + + + + + + + + + + + + + +
+
+
+ +
+

docker

+ +
+ +
+

Docker

+ +

nginx

+ +
docker run --name nginx -p 80:80 -v /Users/lizhixin/dev/docker/nginx:/usr/share/nginx/html:ro -d nginx
+
+
+
+ +

mysql

+

osx中使用mysql镜像创建容器会出现volumes无权限加载的情况 +解决方法:http://stackoverflow.com/questions/34442831/permission-denied-when-mounting-docker-volume-in-osx

+ +

创建自己的镜像,修改权限

+ +
	FROM mysql
+
+	RUN usermod -u 1000 mysql
+	RUN mkdir -p /var/run/mysqld
+	RUN chmod -R 777 /var/run/mysqld
+
+
+
+ +
	docker build -t mysql2 .
+
+
+
+

生成容器

+ +
docker run -it --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /Users/lizhixin/dev/edx/mysql:/var/lib/mysql mysql2
+
+
+
+ +

docker-machine 使用代理

+

修改 vi /var/lib/boot2docker/profile,或者创建的时候就设置 +``` + docker-machine create -d virtualbox \ + –engine-env HTTP_PROXY=http://192.168.1.1:8080 \ + –engine-env HTTPS_PROXY=http://192.168.1.1:8080 \ + –engine-env NO_PROXY=localhost \ + –EXTRA_ARGS=”–registry-mirror=http://de1b1668.m.daocloud.io” \ + default

+ +

+
+## windows 下使用 docker
+
+安装 Kitematic ,之后使用CMD,运行docker命令
+提示无法连接到 daemon
+
+通过 docker-machine ip 查询到machine的IP
+设置下面的系统环境变量
+
+
+
export DOCKER_HOST=tcp://192.168.99.100:2376
+export DOCKER_MACHINE_NAME=default
+export DOCKER_TLS_VERIFY=1
+export DOCKER_CERT_PATH=C:\Users\li\.docker\machine\machines\default ``` 之后就可以正常使用了
+
+
+ +

但仅仅只能通过本机访问 +通过设置virtualbox可以使用局域网中的IP(桥接网络),之后重新通过docker-machine regenerate-certs 生成certs

+ +

安装成功后需要配置日期时间

+ +

设置ubuntu的时区

+ +
echo "Asia/shanghai" > /etc/timezone
+
+
+ +

但PHP或MYSQL还是需要单独设置 +找了好久终于找到了解决方法,在容器中执行以下命令就可以了,MYSQL的容器设置后还是需要重启的 +http://www.opstool.com/article/320 + +cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime +

+ +

boot2docker 默认密码

+
docker:tcuser
+
+
+ +
+ +
+ +
+
+ + + + + + + diff --git a/_site/notes/2016/05/12/edx.html b/_site/notes/2016/05/12/edx.html new file mode 100644 index 0000000..4d4b280 --- /dev/null +++ b/_site/notes/2016/05/12/edx.html @@ -0,0 +1,252 @@ + + + + + + + + + edx + + + + + + + + + + + + + +
+
+
+ +
+

edx

+ +
+ +
+

Edx

+ +

背景

+

edX是哈佛大学和麻省理工学院共同创立的非营利网络教育项目,旨在为全球提供来自哈佛大学、麻省理工学院、加州大学伯克利分校、清华大学、北京大学、香港大学、香港科技大学等全球顶尖高校及组织的慕课(大规模在线公开课)。课程主题涵盖生物、数学、统计、物理、化学、电子、工程、计算机、经济、金融、文学、历史、音乐、哲学、法学、人类学、商业、医学、营养学等多个学科。

+ +

介绍

+

http://blog.just4fun.site/about-Open-edX.html

+ +

5种扩展edx的方式

+

https://github.com/edx/edx-platform/wiki/Five-ways-to-extend-edX

+ +

浏览器支持,必须IE11或chrome,firefox,safari

+

http://edx.readthedocs.io/projects/edx-guide-for-students/en/latest/front_matter/browsers.html

+ +

第三方登陆

+ +

集成公司的登录方式,但EDX现在只提供了OAUTH2的方式 +http://blog.just4fun.site/Open-edX-login-explore.html

+ +

案例

+

http://www.xuetangx.com/

+ +

主题修改

+

http://blog.just4fun.site/edx-front-dev.html +https://github.com/edx/edx-platform/blob/named-release/dogwood.rc/themes/README.rst

+ +

Open edX开发技能与入门资料

+

http://blog.just4fun.site/open-edx-dev-skill-and-resource.html

+ +

使用ansible 安装失败

+
cd /var/tmp/configuration/playbooks
+sudo ansible-playbook -c local ./edx_sandbox.yml -i "localhost," --limit @/home/vagrant/edx_sandbox.retry
+
+
+
+ +

翻译成本地语言

+

localization and development in china +https://github.com/edx/edx-platform/wiki/localization-and-development-in-china +``` +/* +http://www.ichenfei.com/open-edx-nationalization-i18.html +*/

+ +

/删除原有.po翻译文件/ +cd /edx/app/edxapp/edx-platform/conf/locale/zh_CN/LC_MESSAGES/ +sudo rm *

+ +

/下载我们翻译做好的.po文件,并更改所有权,通过浏览器下载就不需要更改所有权了/

+ +

wget http://mirrors.edustack.org/LC_MESSAGES/dogwood/django.po http://mirrors.edustack.org/LC_MESSAGES/dogwood/djangojs.po

+ +

chown edxapp:edxapp django.po djangojs.po

+ +

/切换到edxapp用户加载环境执行翻译/ +sudo -u edxapp bash +source /edx/app/edxapp/edxapp_env +cd /edx/app/edxapp/edx-platform +paver i18n_fastgenerate

+ +

/退出edxapp用户并重启edxapp,最后的:是必要的/ +exit +sudo /edx/bin/supervisorctl restart edxapp:

+ +
## Docker
+edxops/edxapp docker image执行 supervisorctl
+
+
+

/edx/app/supervisor/venvs/supervisor/bin/supervisorctl +``` +日志 +/edx/var/log

+ +

脚本执行时间

+ +
PLAY RECAP ******************************************************************** 
+INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | checkout edx-platform repo into  ----------------- 544.58s
+INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | install mongo server and recommends ------------------------------------ 317.94s
+INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp_common | Install system packages ----------------------------------------- 96.93s
+INFO:ansible.callback_plugins.datadog_tasks_timing:mysql | Install mysql-5.6 and dependencies -------------------------------------- 58.14s
+INFO:ansible.callback_plugins.datadog_tasks_timing:rabbitmq | install rabbit package using gdebi ----------------------------------- 44.68s
+INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | install system packages on which LMS and CMS rely ---------------------- 44.03s
+INFO:ansible.callback_plugins.datadog_tasks_timing:rabbitmq | install python-software-properties if debian ------------------------- 31.26s
+INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | add ppas for current versions of nodejs -------------------------------- 30.02s
+INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | add the mongodb repo to the sources list -------------------------------- 28.09s
+INFO:ansible.callback_plugins.datadog_tasks_timing:mysql | Install MySQL community apt repositories -------------------------------- 21.41s
+INFO:ansible.callback_plugins.datadog_tasks_timing:
+Playbook edx_sandbox finished: Thu May 19 14:48:45 2016, 208 total tasks.  0:22:18 elapsed.
+
+
+
+ +

配置远程服务

+ +

mysql

+

数据库 +- edxapp +- edxapp_csmh

+ +

用户 edxapp001:password,root:password

+ +

mongo

+

数据库 edxapp +用户 edxapp:password

+ +
use edxapp
+db.createUser(
+   {
+     user: "edxapp",
+     pwd: "password",
+     roles: [ "readWrite"]
+   }
+)
+
+use cs_comments_service
+db.createUser(
+   {
+     user: "cs_comments_service",
+     pwd: "password",
+     roles: [ "readWrite"]
+   }
+)
+
+
+ +

memcahce

+ +

edx-platform

+

修改代码,不要从github上复制代码,直接从本地复制 +修改 checkout edx-platform repo into + +- name: checkout edx-platform repo into + shell: cp -R /vagrant/edx-platform + sudo_user: "" + register: edxapp_platform_checkout + tags: + - install + - install:code +

+ +

调整源地址

+

修改palybooks/roles/common_vars/default/main.yml

+ +

+COMMON_PYPI_MIRROR_URL: 'http://mirrors.aliyun.com/pypi/simple'
+COMMON_NPM_MIRROR_URL: 'https://registry.npm.taobao.org'
+
+
+
+ +
+ +
+ +
+
+ + + + + + + diff --git a/_site/notes/2016/05/12/osx.html b/_site/notes/2016/05/12/osx.html new file mode 100644 index 0000000..03bc6fc --- /dev/null +++ b/_site/notes/2016/05/12/osx.html @@ -0,0 +1,111 @@ + + + + + + + + + os x + + + + + + + + + + + + + +
+
+
+ +
+

os x

+ +
+ +
+

#osx

+ +

install pip

+ +

http://stackoverflow.com/questions/17271319/installing-pip-on-mac-os-x + +sudo easy_install pip +

+ +
+ +
+ +
+
+ + + + + + + diff --git a/_site/notes/2016/05/12/vi.html b/_site/notes/2016/05/12/vi.html new file mode 100644 index 0000000..4d59571 --- /dev/null +++ b/_site/notes/2016/05/12/vi.html @@ -0,0 +1,123 @@ + + + + + + + + + vi + + + + + + + + + + + + + +
+
+
+ +
+

vi

+ +
+ +
+

vi

+ +

编辑模式

+ +

在普通模式下,输入a(附加命令)、c(修改命令)、i(插入命令)、o(另起新行)、r(取代命令)以及s(替换命令)都将进入编辑模式

+ +

保存退出

+ +

按esc退回到普通模式,输入 :,左下角将出现输入行,然后输入 wq或x来保存退出vi + +:wq +:x +

+ +

强制退出,不论是否已经保存

+
:q!
+
+
+
+ + +
+ +
+ +
+
+ + + + + + + diff --git a/css/main.scss b/css/main.scss new file mode 100644 index 0000000..f2e566e --- /dev/null +++ b/css/main.scss @@ -0,0 +1,53 @@ +--- +# Only the main Sass file needs front matter (the dashes are enough) +--- +@charset "utf-8"; + + + +// Our variables +$base-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +$base-font-size: 16px; +$base-font-weight: 400; +$small-font-size: $base-font-size * 0.875; +$base-line-height: 1.5; + +$spacing-unit: 30px; + +$text-color: #111; +$background-color: #fdfdfd; +$brand-color: #2a7ae2; + +$grey-color: #828282; +$grey-color-light: lighten($grey-color, 40%); +$grey-color-dark: darken($grey-color, 25%); + +// Width of the content area +$content-width: 800px; + +$on-palm: 600px; +$on-laptop: 800px; + + + +// Use media queries like this: +// @include media-query($on-palm) { +// .wrapper { +// padding-right: $spacing-unit / 2; +// padding-left: $spacing-unit / 2; +// } +// } +@mixin media-query($device) { + @media screen and (max-width: $device) { + @content; + } +} + + + +// Import partials from `sass_dir` (defaults to `_sass`) +@import + "base", + "layout", + "syntax-highlighting" +; diff --git a/feed.xml b/feed.xml new file mode 100644 index 0000000..a6628bd --- /dev/null +++ b/feed.xml @@ -0,0 +1,30 @@ +--- +layout: null +--- + + + + {{ site.title | xml_escape }} + {{ site.description | xml_escape }} + {{ site.url }}{{ site.baseurl }}/ + + {{ site.time | date_to_rfc822 }} + {{ site.time | date_to_rfc822 }} + Jekyll v{{ jekyll.version }} + {% for post in site.posts limit:10 %} + + {{ post.title | xml_escape }} + {{ post.content | xml_escape }} + {{ post.date | date_to_rfc822 }} + {{ post.url | prepend: site.baseurl | prepend: site.url }} + {{ post.url | prepend: site.baseurl | prepend: site.url }} + {% for tag in post.tags %} + {{ tag | xml_escape }} + {% endfor %} + {% for cat in post.categories %} + {{ cat | xml_escape }} + {% endfor %} + + {% endfor %} + + diff --git a/images/bg_hr.png b/images/bg_hr.png deleted file mode 100644 index 514aee5056a320b059a4b92fc31385b01f3fd707..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78 zcmeAS@N?(olHy`uVBq!ia0vp^EI=&E!3HD~tNk5798VX=5Q)pl2@*yR?(8i7?>Hmz b1S7-U!)%xJ1CQbP0l+XkKg_jic diff --git a/images/blacktocat.png b/images/blacktocat.png deleted file mode 100644 index e160053a5bfc1f1891c5df1a04244b46132ed91c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 463 zcmeAS@N?(olHy`uVBq!ia0vp^av;pX3?zBp#Z3TGW&u7Su0Z-f>EL7Xu|Ghaf+azI z!3+%h6VAUEXmGf1FkfMPe?Wo5`wP+x42q#I?$ zCZCHu*mLc{mj@jVb0qJie|tLrXx$RV*xy|DA2&%h)(GsqVy%>MraS!Shm183{#@F! zV^vm_@$^Y{GUuI-cUN0({K+A*SMX|j#GmyK98SEwQl?dz*($XqK|j>0;H2RlD{}=; zx7!XPy5}bEXEt-@-@Ngc#+nIgOgm!u=S(u>E&hLN(cd}Wb8P2o&P?9><1zE8l8pz9 zg==?S&3yIdUhdL~<_mg1Y!?@vTUiymeaGcy&vRcbOG}I6uI`9fxn}VP_6h8=I%b0Z Rq=4be;OXk;vd$@?2>`O9@hboT diff --git a/images/icon_download.png b/images/icon_download.png deleted file mode 100644 index 5a793f17688b22d0c98f8b32855f69daff65afaf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 216 zcmeAS@N?(olHy`uVBq!ia0vp^av;pX1|+Qw)-3{3^F3W0Lp+WrCrGd^PB3WLTm5|# z<3>ZVHGbLMPaA&Ni`7(Ic@)^~t}9m~#>{KX@F?FxM~Q7di>SquC^@HPOZ^)nnu6w= zPs-5Ln9{RS^v!FJ4Hk1|eLTx~WO~PjEv;gjQBoc84>y)53m9M4vW{f>=&v)a$*Fn% zwMt9Ivq1qGD=w^dyuiIx3lB69mQJ=Ex6cJ85q6@e`QPvJEsD4 ODubu1pUXO@geCwMBTRk( diff --git a/images/sprite_download.png b/images/sprite_download.png deleted file mode 100644 index f9f8de24c1c49ce421a44ce2a24ac22d045a39fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14832 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 WAV6(21mh6^0000 - +--- +layout: default +--- - - - - +
- +
    + {% for post in site.posts %} +
  • + - Minuux.GitHub.io - +

    + {{ post.title }} +

    +
  • + {% endfor %} +
- +

subscribe via RSS

- -
-
- View on GitHub - -

Minuux.GitHub.io

-

blog

- -
-
- - -
-
-

-Welcome to GitHub Pages.

- -

This automatic page generator is the easiest way to create beautiful pages for all of your projects. Author your page content here using GitHub Flavored Markdown, select a template crafted by a designer, and publish. After your page is generated, you can check out the new gh-pages branch locally. If you’re using GitHub Desktop, simply sync your repository and you’ll see the new branch.

- -

-Designer Templates

- -

We’ve crafted some handsome templates for you to use. Go ahead and click 'Continue to layouts' to browse through them. You can easily go back to edit your page before publishing. After publishing your page, you can revisit the page generator and switch to another theme. Your Page content will be preserved.

- -

-Creating pages manually

- -

If you prefer to not use the automatic generator, push a branch named gh-pages to your repository to create a page manually. In addition to supporting regular HTML content, GitHub Pages support Jekyll, a simple, blog aware static site generator. Jekyll makes it easy to create site-wide headers and footers without having to copy them across every page. It also offers intelligent blog support and other advanced templating features.

- -

-Authors and Contributors

- -

You can @mention a GitHub username to generate a link to their profile. The resulting <a> element will link to the contributor’s GitHub Profile. For example: In 2007, Chris Wanstrath (@defunkt), PJ Hyett (@pjhyett), and Tom Preston-Werner (@mojombo) founded GitHub.

- -

-Support or Contact

- -

Having trouble with Pages? Check out our documentation or contact support and we’ll help you sort it out.

-
-
- - - - - - - - +
diff --git a/javascripts/main.js b/javascripts/main.js deleted file mode 100644 index d8135d3..0000000 --- a/javascripts/main.js +++ /dev/null @@ -1 +0,0 @@ -console.log('This would be the main JS file.'); diff --git a/params.json b/params.json deleted file mode 100644 index b1a2b4b..0000000 --- a/params.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "Minuux.GitHub.io", - "tagline": "blog", - "body": "### Welcome to GitHub Pages.\r\nThis automatic page generator is the easiest way to create beautiful pages for all of your projects. Author your page content here [using GitHub Flavored Markdown](https://guides.github.com/features/mastering-markdown/), select a template crafted by a designer, and publish. After your page is generated, you can check out the new `gh-pages` branch locally. If you’re using GitHub Desktop, simply sync your repository and you’ll see the new branch.\r\n\r\n### Designer Templates\r\nWe’ve crafted some handsome templates for you to use. Go ahead and click 'Continue to layouts' to browse through them. You can easily go back to edit your page before publishing. After publishing your page, you can revisit the page generator and switch to another theme. Your Page content will be preserved.\r\n\r\n### Creating pages manually\r\nIf you prefer to not use the automatic generator, push a branch named `gh-pages` to your repository to create a page manually. In addition to supporting regular HTML content, GitHub Pages support Jekyll, a simple, blog aware static site generator. Jekyll makes it easy to create site-wide headers and footers without having to copy them across every page. It also offers intelligent blog support and other advanced templating features.\r\n\r\n### Authors and Contributors\r\nYou can @mention a GitHub username to generate a link to their profile. The resulting `` element will link to the contributor’s GitHub Profile. For example: In 2007, Chris Wanstrath (@defunkt), PJ Hyett (@pjhyett), and Tom Preston-Werner (@mojombo) founded GitHub.\r\n\r\n### Support or Contact\r\nHaving trouble with Pages? Check out our [documentation](https://help.github.com/pages) or [contact support](https://github.com/contact) and we’ll help you sort it out.\r\n", - "note": "Don't delete this file! It's used internally to help with page regeneration." -} \ No newline at end of file diff --git a/stylesheets/github-light.css b/stylesheets/github-light.css deleted file mode 100644 index d64ba5d..0000000 --- a/stylesheets/github-light.css +++ /dev/null @@ -1,124 +0,0 @@ -/* -The MIT License (MIT) - -Copyright (c) 2015 GitHub, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -*/ - -.pl-c /* comment */ { - color: #969896; -} - -.pl-c1 /* constant, markup.raw, meta.diff.header, meta.module-reference, meta.property-name, support, support.constant, support.variable, variable.other.constant */, -.pl-s .pl-v /* string variable */ { - color: #0086b3; -} - -.pl-e /* entity */, -.pl-en /* entity.name */ { - color: #795da3; -} - -.pl-s .pl-s1 /* string source */, -.pl-smi /* storage.modifier.import, storage.modifier.package, storage.type.java, variable.other, variable.parameter.function */ { - color: #333; -} - -.pl-ent /* entity.name.tag */ { - color: #63a35c; -} - -.pl-k /* keyword, storage, storage.type */ { - color: #a71d5d; -} - -.pl-pds /* punctuation.definition.string, string.regexp.character-class */, -.pl-s /* string */, -.pl-s .pl-pse .pl-s1 /* string punctuation.section.embedded source */, -.pl-sr /* string.regexp */, -.pl-sr .pl-cce /* string.regexp constant.character.escape */, -.pl-sr .pl-sra /* string.regexp string.regexp.arbitrary-repitition */, -.pl-sr .pl-sre /* string.regexp source.ruby.embedded */ { - color: #183691; -} - -.pl-v /* variable */ { - color: #ed6a43; -} - -.pl-id /* invalid.deprecated */ { - color: #b52a1d; -} - -.pl-ii /* invalid.illegal */ { - background-color: #b52a1d; - color: #f8f8f8; -} - -.pl-sr .pl-cce /* string.regexp constant.character.escape */ { - color: #63a35c; - font-weight: bold; -} - -.pl-ml /* markup.list */ { - color: #693a17; -} - -.pl-mh /* markup.heading */, -.pl-mh .pl-en /* markup.heading entity.name */, -.pl-ms /* meta.separator */ { - color: #1d3e81; - font-weight: bold; -} - -.pl-mq /* markup.quote */ { - color: #008080; -} - -.pl-mi /* markup.italic */ { - color: #333; - font-style: italic; -} - -.pl-mb /* markup.bold */ { - color: #333; - font-weight: bold; -} - -.pl-md /* markup.deleted, meta.diff.header.from-file */ { - background-color: #ffecec; - color: #bd2c00; -} - -.pl-mi1 /* markup.inserted, meta.diff.header.to-file */ { - background-color: #eaffea; - color: #55a532; -} - -.pl-mdr /* meta.diff.range */ { - color: #795da3; - font-weight: bold; -} - -.pl-mo /* meta.output */ { - color: #1d3e81; -} - diff --git a/stylesheets/stylesheet.css b/stylesheets/stylesheet.css deleted file mode 100644 index 3da3485..0000000 --- a/stylesheets/stylesheet.css +++ /dev/null @@ -1,425 +0,0 @@ -/******************************************************************************* -Slate Theme for GitHub Pages -by Jason Costello, @jsncostello -*******************************************************************************/ - -@import url(github-light.css); - -/******************************************************************************* -MeyerWeb Reset -*******************************************************************************/ - -html, body, div, span, applet, object, iframe, -h1, h2, h3, h4, h5, h6, p, blockquote, pre, -a, abbr, acronym, address, big, cite, code, -del, dfn, em, img, ins, kbd, q, s, samp, -small, strike, strong, sub, sup, tt, var, -b, u, i, center, -dl, dt, dd, ol, ul, li, -fieldset, form, label, legend, -table, caption, tbody, tfoot, thead, tr, th, td, -article, aside, canvas, details, embed, -figure, figcaption, footer, header, hgroup, -menu, nav, output, ruby, section, summary, -time, mark, audio, video { - margin: 0; - padding: 0; - border: 0; - font: inherit; - vertical-align: baseline; -} - -/* HTML5 display-role reset for older browsers */ -article, aside, details, figcaption, figure, -footer, header, hgroup, menu, nav, section { - display: block; -} - -ol, ul { - list-style: none; -} - -table { - border-collapse: collapse; - border-spacing: 0; -} - -/******************************************************************************* -Theme Styles -*******************************************************************************/ - -body { - box-sizing: border-box; - color:#373737; - background: #212121; - font-size: 16px; - font-family: 'Myriad Pro', Calibri, Helvetica, Arial, sans-serif; - line-height: 1.5; - -webkit-font-smoothing: antialiased; -} - -h1, h2, h3, h4, h5, h6 { - margin: 10px 0; - font-weight: 700; - color:#222222; - font-family: 'Lucida Grande', 'Calibri', Helvetica, Arial, sans-serif; - letter-spacing: -1px; -} - -h1 { - font-size: 36px; - font-weight: 700; -} - -h2 { - padding-bottom: 10px; - font-size: 32px; - background: url('../images/bg_hr.png') repeat-x bottom; -} - -h3 { - font-size: 24px; -} - -h4 { - font-size: 21px; -} - -h5 { - font-size: 18px; -} - -h6 { - font-size: 16px; -} - -p { - margin: 10px 0 15px 0; -} - -footer p { - color: #f2f2f2; -} - -a { - text-decoration: none; - color: #007edf; - text-shadow: none; - - transition: color 0.5s ease; - transition: text-shadow 0.5s ease; - -webkit-transition: color 0.5s ease; - -webkit-transition: text-shadow 0.5s ease; - -moz-transition: color 0.5s ease; - -moz-transition: text-shadow 0.5s ease; - -o-transition: color 0.5s ease; - -o-transition: text-shadow 0.5s ease; - -ms-transition: color 0.5s ease; - -ms-transition: text-shadow 0.5s ease; -} - -a:hover, a:focus {text-decoration: underline;} - -footer a { - color: #F2F2F2; - text-decoration: underline; -} - -em { - font-style: italic; -} - -strong { - font-weight: bold; -} - -img { - position: relative; - margin: 0 auto; - max-width: 739px; - padding: 5px; - margin: 10px 0 10px 0; - border: 1px solid #ebebeb; - - box-shadow: 0 0 5px #ebebeb; - -webkit-box-shadow: 0 0 5px #ebebeb; - -moz-box-shadow: 0 0 5px #ebebeb; - -o-box-shadow: 0 0 5px #ebebeb; - -ms-box-shadow: 0 0 5px #ebebeb; -} - -p img { - display: inline; - margin: 0; - padding: 0; - vertical-align: middle; - text-align: center; - border: none; -} - -pre, code { - width: 100%; - color: #222; - background-color: #fff; - - font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; - font-size: 14px; - - border-radius: 2px; - -moz-border-radius: 2px; - -webkit-border-radius: 2px; -} - -pre { - width: 100%; - padding: 10px; - box-shadow: 0 0 10px rgba(0,0,0,.1); - overflow: auto; -} - -code { - padding: 3px; - margin: 0 3px; - box-shadow: 0 0 10px rgba(0,0,0,.1); -} - -pre code { - display: block; - box-shadow: none; -} - -blockquote { - color: #666; - margin-bottom: 20px; - padding: 0 0 0 20px; - border-left: 3px solid #bbb; -} - - -ul, ol, dl { - margin-bottom: 15px -} - -ul { - list-style-position: inside; - list-style: disc; - padding-left: 20px; -} - -ol { - list-style-position: inside; - list-style: decimal; - padding-left: 20px; -} - -dl dt { - font-weight: bold; -} - -dl dd { - padding-left: 20px; - font-style: italic; -} - -dl p { - padding-left: 20px; - font-style: italic; -} - -hr { - height: 1px; - margin-bottom: 5px; - border: none; - background: url('../images/bg_hr.png') repeat-x center; -} - -table { - border: 1px solid #373737; - margin-bottom: 20px; - text-align: left; - } - -th { - font-family: 'Lucida Grande', 'Helvetica Neue', Helvetica, Arial, sans-serif; - padding: 10px; - background: #373737; - color: #fff; - } - -td { - padding: 10px; - border: 1px solid #373737; - } - -form { - background: #f2f2f2; - padding: 20px; -} - -/******************************************************************************* -Full-Width Styles -*******************************************************************************/ - -.outer { - width: 100%; -} - -.inner { - position: relative; - max-width: 640px; - padding: 20px 10px; - margin: 0 auto; -} - -#forkme_banner { - display: block; - position: absolute; - top:0; - right: 10px; - z-index: 10; - padding: 10px 50px 10px 10px; - color: #fff; - background: url('../images/blacktocat.png') #0090ff no-repeat 95% 50%; - font-weight: 700; - box-shadow: 0 0 10px rgba(0,0,0,.5); - border-bottom-left-radius: 2px; - border-bottom-right-radius: 2px; -} - -#header_wrap { - background: #212121; - background: -moz-linear-gradient(top, #373737, #212121); - background: -webkit-linear-gradient(top, #373737, #212121); - background: -ms-linear-gradient(top, #373737, #212121); - background: -o-linear-gradient(top, #373737, #212121); - background: linear-gradient(top, #373737, #212121); -} - -#header_wrap .inner { - padding: 50px 10px 30px 10px; -} - -#project_title { - margin: 0; - color: #fff; - font-size: 42px; - font-weight: 700; - text-shadow: #111 0px 0px 10px; -} - -#project_tagline { - color: #fff; - font-size: 24px; - font-weight: 300; - background: none; - text-shadow: #111 0px 0px 10px; -} - -#downloads { - position: absolute; - width: 210px; - z-index: 10; - bottom: -40px; - right: 0; - height: 70px; - background: url('../images/icon_download.png') no-repeat 0% 90%; -} - -.zip_download_link { - display: block; - float: right; - width: 90px; - height:70px; - text-indent: -5000px; - overflow: hidden; - background: url(../images/sprite_download.png) no-repeat bottom left; -} - -.tar_download_link { - display: block; - float: right; - width: 90px; - height:70px; - text-indent: -5000px; - overflow: hidden; - background: url(../images/sprite_download.png) no-repeat bottom right; - margin-left: 10px; -} - -.zip_download_link:hover { - background: url(../images/sprite_download.png) no-repeat top left; -} - -.tar_download_link:hover { - background: url(../images/sprite_download.png) no-repeat top right; -} - -#main_content_wrap { - background: #f2f2f2; - border-top: 1px solid #111; - border-bottom: 1px solid #111; -} - -#main_content { - padding-top: 40px; -} - -#footer_wrap { - background: #212121; -} - - - -/******************************************************************************* -Small Device Styles -*******************************************************************************/ - -@media screen and (max-width: 480px) { - body { - font-size:14px; - } - - #downloads { - display: none; - } - - .inner { - min-width: 320px; - max-width: 480px; - } - - #project_title { - font-size: 32px; - } - - h1 { - font-size: 28px; - } - - h2 { - font-size: 24px; - } - - h3 { - font-size: 21px; - } - - h4 { - font-size: 18px; - } - - h5 { - font-size: 14px; - } - - h6 { - font-size: 12px; - } - - code, pre { - min-width: 320px; - max-width: 480px; - font-size: 11px; - } - -} From a46d7d5be5c61fdf342bc8bd74fa264961875a16 Mon Sep 17 00:00:00 2001 From: lizhixin <61769459@qq.com> Date: Fri, 27 May 2016 19:41:19 +0800 Subject: [PATCH 06/39] add .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c08f9ad --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +_site \ No newline at end of file From 367555fee01ec2674460abca9170d56a35afe2f9 Mon Sep 17 00:00:00 2001 From: lizhixin <61769459@qq.com> Date: Fri, 27 May 2016 19:42:46 +0800 Subject: [PATCH 07/39] del _site --- _site/css/main.css | 457 ------------------ _site/feed.xml | 384 --------------- _site/index.html | 148 ------ .../update/2015/05/27/welcome-to-jekyll.html | 117 ----- _site/notes/2016/05/12/ansible.html | 124 ----- _site/notes/2016/05/12/docker.html | 188 ------- _site/notes/2016/05/12/edx.html | 252 ---------- _site/notes/2016/05/12/osx.html | 111 ----- _site/notes/2016/05/12/vi.html | 123 ----- 9 files changed, 1904 deletions(-) delete mode 100644 _site/css/main.css delete mode 100644 _site/feed.xml delete mode 100644 _site/index.html delete mode 100644 _site/jekyll/update/2015/05/27/welcome-to-jekyll.html delete mode 100644 _site/notes/2016/05/12/ansible.html delete mode 100644 _site/notes/2016/05/12/docker.html delete mode 100644 _site/notes/2016/05/12/edx.html delete mode 100644 _site/notes/2016/05/12/osx.html delete mode 100644 _site/notes/2016/05/12/vi.html diff --git a/_site/css/main.css b/_site/css/main.css deleted file mode 100644 index 1fb1692..0000000 --- a/_site/css/main.css +++ /dev/null @@ -1,457 +0,0 @@ -/** - * Reset some basic elements - */ -body, h1, h2, h3, h4, h5, h6, -p, blockquote, pre, hr, -dl, dd, ol, ul, figure { - margin: 0; - padding: 0; } - -/** - * Basic styling - */ -body { - font: 400 16px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif; - color: #111; - background-color: #fdfdfd; - -webkit-text-size-adjust: 100%; - -webkit-font-feature-settings: "kern" 1; - -moz-font-feature-settings: "kern" 1; - -o-font-feature-settings: "kern" 1; - font-feature-settings: "kern" 1; - font-kerning: normal; } - -/** - * Set `margin-bottom` to maintain vertical rhythm - */ -h1, h2, h3, h4, h5, h6, -p, blockquote, pre, -ul, ol, dl, figure, -.highlight { - margin-bottom: 15px; } - -/** - * Images - */ -img { - max-width: 100%; - vertical-align: middle; } - -/** - * Figures - */ -figure > img { - display: block; } - -figcaption { - font-size: 14px; } - -/** - * Lists - */ -ul, ol { - margin-left: 30px; } - -li > ul, -li > ol { - margin-bottom: 0; } - -/** - * Headings - */ -h1, h2, h3, h4, h5, h6 { - font-weight: 400; } - -/** - * Links - */ -a { - color: #2a7ae2; - text-decoration: none; } - a:visited { - color: #1756a9; } - a:hover { - color: #111; - text-decoration: underline; } - -/** - * Blockquotes - */ -blockquote { - color: #828282; - border-left: 4px solid #e8e8e8; - padding-left: 15px; - font-size: 18px; - letter-spacing: -1px; - font-style: italic; } - blockquote > :last-child { - margin-bottom: 0; } - -/** - * Code formatting - */ -pre, -code { - font-size: 15px; - border: 1px solid #e8e8e8; - border-radius: 3px; - background-color: #eef; } - -code { - padding: 1px 5px; } - -pre { - padding: 8px 12px; - overflow-x: auto; } - pre > code { - border: 0; - padding-right: 0; - padding-left: 0; } - -/** - * Wrapper - */ -.wrapper { - max-width: -webkit-calc(800px - (30px * 2)); - max-width: calc(800px - (30px * 2)); - margin-right: auto; - margin-left: auto; - padding-right: 30px; - padding-left: 30px; } - @media screen and (max-width: 800px) { - .wrapper { - max-width: -webkit-calc(800px - (30px)); - max-width: calc(800px - (30px)); - padding-right: 15px; - padding-left: 15px; } } - -/** - * Clearfix - */ -.wrapper:after, .footer-col-wrapper:after { - content: ""; - display: table; - clear: both; } - -/** - * Icons - */ -.icon > svg { - display: inline-block; - width: 16px; - height: 16px; - vertical-align: middle; } - .icon > svg path { - fill: #828282; } - -/** - * Site header - */ -.site-header { - border-top: 5px solid #424242; - border-bottom: 1px solid #e8e8e8; - min-height: 56px; - position: relative; } - -.site-title { - font-size: 26px; - font-weight: 300; - line-height: 56px; - letter-spacing: -1px; - margin-bottom: 0; - float: left; } - .site-title, .site-title:visited { - color: #424242; } - -.site-nav { - float: right; - line-height: 56px; } - .site-nav .menu-icon { - display: none; } - .site-nav .page-link { - color: #111; - line-height: 1.5; } - .site-nav .page-link:not(:last-child) { - margin-right: 20px; } - @media screen and (max-width: 600px) { - .site-nav { - position: absolute; - top: 9px; - right: 15px; - background-color: #fdfdfd; - border: 1px solid #e8e8e8; - border-radius: 5px; - text-align: right; } - .site-nav .menu-icon { - display: block; - float: right; - width: 36px; - height: 26px; - line-height: 0; - padding-top: 10px; - text-align: center; } - .site-nav .menu-icon > svg { - width: 18px; - height: 15px; } - .site-nav .menu-icon > svg path { - fill: #424242; } - .site-nav .trigger { - clear: both; - display: none; } - .site-nav:hover .trigger { - display: block; - padding-bottom: 5px; } - .site-nav .page-link { - display: block; - padding: 5px 10px; - margin-left: 20px; } - .site-nav .page-link:not(:last-child) { - margin-right: 0; } } - -/** - * Site footer - */ -.site-footer { - border-top: 1px solid #e8e8e8; - padding: 30px 0; } - -.footer-heading { - font-size: 18px; - margin-bottom: 15px; } - -.contact-list, -.social-media-list { - list-style: none; - margin-left: 0; } - -.footer-col-wrapper { - font-size: 15px; - color: #828282; - margin-left: -15px; } - -.footer-col { - float: left; - margin-bottom: 15px; - padding-left: 15px; } - -.footer-col-1 { - width: -webkit-calc(35% - (30px / 2)); - width: calc(35% - (30px / 2)); } - -.footer-col-2 { - width: -webkit-calc(20% - (30px / 2)); - width: calc(20% - (30px / 2)); } - -.footer-col-3 { - width: -webkit-calc(45% - (30px / 2)); - width: calc(45% - (30px / 2)); } - -@media screen and (max-width: 800px) { - .footer-col-1, - .footer-col-2 { - width: -webkit-calc(50% - (30px / 2)); - width: calc(50% - (30px / 2)); } - - .footer-col-3 { - width: -webkit-calc(100% - (30px / 2)); - width: calc(100% - (30px / 2)); } } -@media screen and (max-width: 600px) { - .footer-col { - float: none; - width: -webkit-calc(100% - (30px / 2)); - width: calc(100% - (30px / 2)); } } -/** - * Page content - */ -.page-content { - padding: 30px 0; } - -.page-heading { - font-size: 20px; } - -.post-list { - margin-left: 0; - list-style: none; } - .post-list > li { - margin-bottom: 30px; } - -.post-meta { - font-size: 14px; - color: #828282; } - -.post-link { - display: block; - font-size: 24px; } - -/** - * Posts - */ -.post-header { - margin-bottom: 30px; } - -.post-title { - font-size: 42px; - letter-spacing: -1px; - line-height: 1; } - @media screen and (max-width: 800px) { - .post-title { - font-size: 36px; } } - -.post-content { - margin-bottom: 30px; } - .post-content h2 { - font-size: 32px; } - @media screen and (max-width: 800px) { - .post-content h2 { - font-size: 28px; } } - .post-content h3 { - font-size: 26px; } - @media screen and (max-width: 800px) { - .post-content h3 { - font-size: 22px; } } - .post-content h4 { - font-size: 20px; } - @media screen and (max-width: 800px) { - .post-content h4 { - font-size: 18px; } } - -/** - * Syntax highlighting styles - */ -.highlight { - background: #fff; } - .highlighter-rouge .highlight { - background: #eef; } - .highlight .c { - color: #998; - font-style: italic; } - .highlight .err { - color: #a61717; - background-color: #e3d2d2; } - .highlight .k { - font-weight: bold; } - .highlight .o { - font-weight: bold; } - .highlight .cm { - color: #998; - font-style: italic; } - .highlight .cp { - color: #999; - font-weight: bold; } - .highlight .c1 { - color: #998; - font-style: italic; } - .highlight .cs { - color: #999; - font-weight: bold; - font-style: italic; } - .highlight .gd { - color: #000; - background-color: #fdd; } - .highlight .gd .x { - color: #000; - background-color: #faa; } - .highlight .ge { - font-style: italic; } - .highlight .gr { - color: #a00; } - .highlight .gh { - color: #999; } - .highlight .gi { - color: #000; - background-color: #dfd; } - .highlight .gi .x { - color: #000; - background-color: #afa; } - .highlight .go { - color: #888; } - .highlight .gp { - color: #555; } - .highlight .gs { - font-weight: bold; } - .highlight .gu { - color: #aaa; } - .highlight .gt { - color: #a00; } - .highlight .kc { - font-weight: bold; } - .highlight .kd { - font-weight: bold; } - .highlight .kp { - font-weight: bold; } - .highlight .kr { - font-weight: bold; } - .highlight .kt { - color: #458; - font-weight: bold; } - .highlight .m { - color: #099; } - .highlight .s { - color: #d14; } - .highlight .na { - color: #008080; } - .highlight .nb { - color: #0086B3; } - .highlight .nc { - color: #458; - font-weight: bold; } - .highlight .no { - color: #008080; } - .highlight .ni { - color: #800080; } - .highlight .ne { - color: #900; - font-weight: bold; } - .highlight .nf { - color: #900; - font-weight: bold; } - .highlight .nn { - color: #555; } - .highlight .nt { - color: #000080; } - .highlight .nv { - color: #008080; } - .highlight .ow { - font-weight: bold; } - .highlight .w { - color: #bbb; } - .highlight .mf { - color: #099; } - .highlight .mh { - color: #099; } - .highlight .mi { - color: #099; } - .highlight .mo { - color: #099; } - .highlight .sb { - color: #d14; } - .highlight .sc { - color: #d14; } - .highlight .sd { - color: #d14; } - .highlight .s2 { - color: #d14; } - .highlight .se { - color: #d14; } - .highlight .sh { - color: #d14; } - .highlight .si { - color: #d14; } - .highlight .sx { - color: #d14; } - .highlight .sr { - color: #009926; } - .highlight .s1 { - color: #d14; } - .highlight .ss { - color: #990073; } - .highlight .bp { - color: #999; } - .highlight .vc { - color: #008080; } - .highlight .vg { - color: #008080; } - .highlight .vi { - color: #008080; } - .highlight .il { - color: #099; } diff --git a/_site/feed.xml b/_site/feed.xml deleted file mode 100644 index 89af187..0000000 --- a/_site/feed.xml +++ /dev/null @@ -1,384 +0,0 @@ - - - - Minuux - - minuux.github.io/ - - Fri, 27 May 2016 11:05:42 +0000 - Fri, 27 May 2016 11:05:42 +0000 - Jekyll v3.1.6 - - - vi - <h1 id="vi">vi</h1> - -<h2 id="section">编辑模式</h2> - -<p>在普通模式下,输入a(附加命令)、c(修改命令)、i(插入命令)、o(另起新行)、r(取代命令)以及s(替换命令)都将进入编辑模式</p> - -<h2 id="section-1">保存退出</h2> - -<p>按esc退回到普通模式,输入 :,左下角将出现输入行,然后输入 wq或x来保存退出vi -<code class="highlighter-rouge"> -:wq -:x -</code></p> - -<h2 id="section-2">强制退出,不论是否已经保存</h2> -<div class="highlighter-rouge"><pre class="highlight"><code>:q! - -</code></pre> -</div> - - - Thu, 12 May 2016 08:26:31 +0000 - minuux.github.io/notes/2016/05/12/vi.html - minuux.github.io/notes/2016/05/12/vi.html - - - notes - - - - - os x - <p>#osx</p> - -<h2 id="install-pip">install pip</h2> - -<p>http://stackoverflow.com/questions/17271319/installing-pip-on-mac-os-x -<code class="highlighter-rouge"> -sudo easy_install pip -</code></p> - - Thu, 12 May 2016 08:26:31 +0000 - minuux.github.io/notes/2016/05/12/osx.html - minuux.github.io/notes/2016/05/12/osx.html - - - notes - - - - - edx - <h1 id="edx">Edx</h1> - -<h2 id="section">背景</h2> -<p>edX是哈佛大学和麻省理工学院共同创立的非营利网络教育项目,旨在为全球提供来自哈佛大学、麻省理工学院、加州大学伯克利分校、清华大学、北京大学、香港大学、香港科技大学等全球顶尖高校及组织的慕课(大规模在线公开课)。课程主题涵盖生物、数学、统计、物理、化学、电子、工程、计算机、经济、金融、文学、历史、音乐、哲学、法学、人类学、商业、医学、营养学等多个学科。</p> - -<h2 id="section-1">介绍</h2> -<p>http://blog.just4fun.site/about-Open-edX.html</p> - -<h2 id="edx-1">5种扩展edx的方式</h2> -<p>https://github.com/edx/edx-platform/wiki/Five-ways-to-extend-edX</p> - -<h2 id="ie11chromefirefoxsafari">浏览器支持,必须IE11或chrome,firefox,safari</h2> -<p>http://edx.readthedocs.io/projects/edx-guide-for-students/en/latest/front_matter/browsers.html</p> - -<h2 id="section-2">第三方登陆</h2> - -<p>集成公司的登录方式,但EDX现在只提供了OAUTH2的方式 -http://blog.just4fun.site/Open-edX-login-explore.html</p> - -<h2 id="section-3">案例</h2> -<p>http://www.xuetangx.com/</p> - -<h2 id="section-4">主题修改</h2> -<p>http://blog.just4fun.site/edx-front-dev.html -https://github.com/edx/edx-platform/blob/named-release/dogwood.rc/themes/README.rst</p> - -<h2 id="open-edx">Open edX开发技能与入门资料</h2> -<p>http://blog.just4fun.site/open-edx-dev-skill-and-resource.html</p> - -<h2 id="ansible-">使用ansible 安装失败</h2> -<div class="highlighter-rouge"><pre class="highlight"><code>cd /var/tmp/configuration/playbooks -sudo ansible-playbook -c local ./edx_sandbox.yml -i "localhost," --limit @/home/vagrant/edx_sandbox.retry - -</code></pre> -</div> - -<h2 id="section-5">翻译成本地语言</h2> -<p>localization and development in china -https://github.com/edx/edx-platform/wiki/localization-and-development-in-china -``` -/* -http://www.ichenfei.com/open-edx-nationalization-i18.html -*/</p> - -<p>/<em>删除原有.po翻译文件</em>/ -cd /edx/app/edxapp/edx-platform/conf/locale/zh_CN/LC_MESSAGES/ -sudo rm *</p> - -<p>/<em>下载我们翻译做好的.po文件,并更改所有权,通过浏览器下载就不需要更改所有权了</em>/</p> - -<p>wget http://mirrors.edustack.org/LC_MESSAGES/dogwood/django.po http://mirrors.edustack.org/LC_MESSAGES/dogwood/djangojs.po</p> - -<p>chown edxapp:edxapp django.po djangojs.po</p> - -<p>/<em>切换到edxapp用户加载环境执行翻译</em>/ -sudo -u edxapp bash -source /edx/app/edxapp/edxapp_env -cd /edx/app/edxapp/edx-platform -paver i18n_fastgenerate</p> - -<p>/<em>退出edxapp用户并重启edxapp,最后的:是必要的</em>/ -exit -sudo /edx/bin/supervisorctl restart edxapp:</p> - -<div class="highlighter-rouge"><pre class="highlight"><code>## Docker -edxops/edxapp docker image执行 supervisorctl -</code></pre> -</div> -<p>/edx/app/supervisor/venvs/supervisor/bin/supervisorctl -``` -日志 -/edx/var/log</p> - -<h2 id="section-6">脚本执行时间</h2> - -<div class="highlighter-rouge"><pre class="highlight"><code>PLAY RECAP ******************************************************************** -INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | checkout edx-platform repo into ----------------- 544.58s -INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | install mongo server and recommends ------------------------------------ 317.94s -INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp_common | Install system packages ----------------------------------------- 96.93s -INFO:ansible.callback_plugins.datadog_tasks_timing:mysql | Install mysql-5.6 and dependencies -------------------------------------- 58.14s -INFO:ansible.callback_plugins.datadog_tasks_timing:rabbitmq | install rabbit package using gdebi ----------------------------------- 44.68s -INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | install system packages on which LMS and CMS rely ---------------------- 44.03s -INFO:ansible.callback_plugins.datadog_tasks_timing:rabbitmq | install python-software-properties if debian ------------------------- 31.26s -INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | add ppas for current versions of nodejs -------------------------------- 30.02s -INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | add the mongodb repo to the sources list -------------------------------- 28.09s -INFO:ansible.callback_plugins.datadog_tasks_timing:mysql | Install MySQL community apt repositories -------------------------------- 21.41s -INFO:ansible.callback_plugins.datadog_tasks_timing: -Playbook edx_sandbox finished: Thu May 19 14:48:45 2016, 208 total tasks. 0:22:18 elapsed. - -</code></pre> -</div> - -<h2 id="section-7">配置远程服务</h2> - -<h3 id="mysql">mysql</h3> -<p>数据库 -- edxapp -- edxapp_csmh</p> - -<p>用户 edxapp001:password,root:password</p> - -<h3 id="mongo">mongo</h3> -<p>数据库 edxapp -用户 edxapp:password</p> - -<div class="highlighter-rouge"><pre class="highlight"><code>use edxapp -db.createUser( - { - user: "edxapp", - pwd: "password", - roles: [ "readWrite"] - } -) - -use cs_comments_service -db.createUser( - { - user: "cs_comments_service", - pwd: "password", - roles: [ "readWrite"] - } -) -</code></pre> -</div> - -<h3 id="memcahce">memcahce</h3> - -<h3 id="edx-platform">edx-platform</h3> -<p>修改代码,不要从github上复制代码,直接从本地复制 -修改 checkout edx-platform repo into -<code class="highlighter-rouge"> -- name: checkout edx-platform repo into - shell: cp -R /vagrant/edx-platform - sudo_user: "" - register: edxapp_platform_checkout - tags: - - install - - install:code -</code></p> - -<h3 id="section-8">调整源地址</h3> -<p>修改palybooks/roles/common_vars/default/main.yml</p> - -<div class="highlighter-rouge"><pre class="highlight"><code> -COMMON_PYPI_MIRROR_URL: 'http://mirrors.aliyun.com/pypi/simple' -COMMON_NPM_MIRROR_URL: 'https://registry.npm.taobao.org' - -</code></pre> -</div> - - Thu, 12 May 2016 08:26:31 +0000 - minuux.github.io/notes/2016/05/12/edx.html - minuux.github.io/notes/2016/05/12/edx.html - - - notes - - - - - docker - <h1 id="docker">Docker</h1> - -<h2 id="nginx">nginx</h2> - -<div class="highlighter-rouge"><pre class="highlight"><code>docker run --name nginx -p 80:80 -v /Users/lizhixin/dev/docker/nginx:/usr/share/nginx/html:ro -d nginx - -</code></pre> -</div> - -<h2 id="mysql">mysql</h2> -<p>osx中使用mysql镜像创建容器会出现volumes无权限加载的情况 -解决方法:http://stackoverflow.com/questions/34442831/permission-denied-when-mounting-docker-volume-in-osx</p> - -<p>创建自己的镜像,修改权限</p> - -<div class="highlighter-rouge"><pre class="highlight"><code> FROM mysql - - RUN usermod -u 1000 mysql - RUN mkdir -p /var/run/mysqld - RUN chmod -R 777 /var/run/mysqld - -</code></pre> -</div> - -<div class="highlighter-rouge"><pre class="highlight"><code> docker build -t mysql2 . - -</code></pre> -</div> -<p>生成容器</p> - -<div class="highlighter-rouge"><pre class="highlight"><code>docker run -it --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /Users/lizhixin/dev/edx/mysql:/var/lib/mysql mysql2 - -</code></pre> -</div> - -<h2 id="docker-machine-">docker-machine 使用代理</h2> -<p>修改 vi /var/lib/boot2docker/profile,或者创建的时候就设置 -``` - docker-machine create -d virtualbox \ - –engine-env HTTP_PROXY=http://192.168.1.1:8080 \ - –engine-env HTTPS_PROXY=http://192.168.1.1:8080 \ - –engine-env NO_PROXY=localhost \ - –EXTRA_ARGS=”–registry-mirror=http://de1b1668.m.daocloud.io” \ - default</p> - -<div class="highlighter-rouge"><pre class="highlight"><code> - -## windows 下使用 docker - -安装 Kitematic ,之后使用CMD,运行docker命令 -提示无法连接到 daemon - -通过 docker-machine ip 查询到machine的IP -设置下面的系统环境变量 -</code></pre> -</div> -<div class="highlighter-rouge"><pre class="highlight"><code>export DOCKER_HOST=tcp://192.168.99.100:2376 -export DOCKER_MACHINE_NAME=default -export DOCKER_TLS_VERIFY=1 -export DOCKER_CERT_PATH=C:\Users\li\.docker\machine\machines\default ``` 之后就可以正常使用了 -</code></pre> -</div> - -<p>但仅仅只能通过本机访问 -通过设置virtualbox可以使用局域网中的IP(桥接网络),之后重新通过docker-machine regenerate-certs 生成certs</p> - -<h2 id="section">安装成功后需要配置日期时间</h2> - -<p>设置ubuntu的时区</p> - -<div class="highlighter-rouge"><pre class="highlight"><code>echo "Asia/shanghai" &gt; /etc/timezone -</code></pre> -</div> - -<p>但PHP或MYSQL还是需要单独设置 -找了好久终于找到了解决方法,在容器中执行以下命令就可以了,MYSQL的容器设置后还是需要重启的 -http://www.opstool.com/article/320 -<code class="highlighter-rouge"> -cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime -</code></p> - -<h2 id="boot2docker-">boot2docker 默认密码</h2> -<div class="highlighter-rouge"><pre class="highlight"><code>docker:tcuser -</code></pre> -</div> - - Thu, 12 May 2016 08:26:31 +0000 - minuux.github.io/notes/2016/05/12/docker.html - minuux.github.io/notes/2016/05/12/docker.html - - - notes - - - - - ansible - <p>#Ansible</p> - -<h2 id="doc">doc</h2> -<p>Ansible中文权威指南 http://www.ansible.com.cn</p> - -<h2 id="os-x-ubuntu">使用 OS X 对ubuntu进行管理</h2> - -<div class="highlighter-rouge"><pre class="highlight"><code>brew install ssh-copy-id - -/* -生成公钥与私钥 -ssh介绍:http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html -*/ -ssh-keygen - -ssh-copy-id user@address - -ssh user@address -</code></pre> -</div> - - - Thu, 12 May 2016 08:26:31 +0000 - minuux.github.io/notes/2016/05/12/ansible.html - minuux.github.io/notes/2016/05/12/ansible.html - - - notes - - - - - Welcome to Jekyll! - <p>You’ll find this post in your <code class="highlighter-rouge">_posts</code> directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run <code class="highlighter-rouge">jekyll serve</code>, which launches a web server and auto-regenerates your site when a file is updated.</p> - -<p>To add new posts, simply add a file in the <code class="highlighter-rouge">_posts</code> directory that follows the convention <code class="highlighter-rouge">YYYY-MM-DD-name-of-post.ext</code> and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works.</p> - -<p>Jekyll also offers powerful support for code snippets:</p> - -<figure class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="k">def</span> <span class="nf">print_hi</span><span class="p">(</span><span class="nb">name</span><span class="p">)</span> - <span class="nb">puts</span> <span class="s2">"Hi, </span><span class="si">#{</span><span class="nb">name</span><span class="si">}</span><span class="s2">"</span> -<span class="k">end</span> -<span class="n">print_hi</span><span class="p">(</span><span class="s1">'Tom'</span><span class="p">)</span> -<span class="c1">#=&gt; prints 'Hi, Tom' to STDOUT.</span></code></pre></figure> - -<p>Check out the <a href="http://jekyllrb.com/docs/home">Jekyll docs</a> for more info on how to get the most out of Jekyll. File all bugs/feature requests at <a href="https://github.com/jekyll/jekyll">Jekyll’s GitHub repo</a>. If you have questions, you can ask them on <a href="https://talk.jekyllrb.com/">Jekyll Talk</a>.</p> - - - Wed, 27 May 2015 08:26:31 +0000 - minuux.github.io/jekyll/update/2015/05/27/welcome-to-jekyll.html - minuux.github.io/jekyll/update/2015/05/27/welcome-to-jekyll.html - - - jekyll - - update - - - - - diff --git a/_site/index.html b/_site/index.html deleted file mode 100644 index df2757c..0000000 --- a/_site/index.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - Minuux - - - - - - - - - - - - - -
-
-
- -
    - -
  • - - -

    - vi -

    -
  • - -
  • - - -

    - os x -

    -
  • - -
  • - - -

    - edx -

    -
  • - -
  • - - -

    - docker -

    -
  • - -
  • - - -

    - ansible -

    -
  • - -
  • - - -

    - Welcome to Jekyll! -

    -
  • - -
- -

subscribe via RSS

- -
- -
-
- -
- -
- - - - - -
- -
- - - - - diff --git a/_site/jekyll/update/2015/05/27/welcome-to-jekyll.html b/_site/jekyll/update/2015/05/27/welcome-to-jekyll.html deleted file mode 100644 index 233071c..0000000 --- a/_site/jekyll/update/2015/05/27/welcome-to-jekyll.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - Welcome to Jekyll! - - - - - - - - - - - - - -
-
-
- -
-

Welcome to Jekyll!

- -
- -
-

You’ll find this post in your _posts directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run jekyll serve, which launches a web server and auto-regenerates your site when a file is updated.

- -

To add new posts, simply add a file in the _posts directory that follows the convention YYYY-MM-DD-name-of-post.ext and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works.

- -

Jekyll also offers powerful support for code snippets:

- -
def print_hi(name)
-  puts "Hi, #{name}"
-end
-print_hi('Tom')
-#=> prints 'Hi, Tom' to STDOUT.
- -

Check out the Jekyll docs for more info on how to get the most out of Jekyll. File all bugs/feature requests at Jekyll’s GitHub repo. If you have questions, you can ask them on Jekyll Talk.

- - -
- -
- -
-
- -
- -
- - - - - -
- -
- - - - - diff --git a/_site/notes/2016/05/12/ansible.html b/_site/notes/2016/05/12/ansible.html deleted file mode 100644 index 8265791..0000000 --- a/_site/notes/2016/05/12/ansible.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - ansible - - - - - - - - - - - - - -
-
-
- -
-

ansible

- -
- -
-

#Ansible

- -

doc

-

Ansible中文权威指南 http://www.ansible.com.cn

- -

使用 OS X 对ubuntu进行管理

- -
brew install ssh-copy-id
-
-/*
-生成公钥与私钥
-ssh介绍:http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html
-*/
-ssh-keygen
-
-ssh-copy-id user@address
-
-ssh user@address
-
-
- - -
- -
- -
-
- -
- -
- - - - - -
- -
- - - - - diff --git a/_site/notes/2016/05/12/docker.html b/_site/notes/2016/05/12/docker.html deleted file mode 100644 index 88135d1..0000000 --- a/_site/notes/2016/05/12/docker.html +++ /dev/null @@ -1,188 +0,0 @@ - - - - - - - - - docker - - - - - - - - - - - - - -
-
-
- -
-

docker

- -
- -
-

Docker

- -

nginx

- -
docker run --name nginx -p 80:80 -v /Users/lizhixin/dev/docker/nginx:/usr/share/nginx/html:ro -d nginx
-
-
-
- -

mysql

-

osx中使用mysql镜像创建容器会出现volumes无权限加载的情况 -解决方法:http://stackoverflow.com/questions/34442831/permission-denied-when-mounting-docker-volume-in-osx

- -

创建自己的镜像,修改权限

- -
	FROM mysql
-
-	RUN usermod -u 1000 mysql
-	RUN mkdir -p /var/run/mysqld
-	RUN chmod -R 777 /var/run/mysqld
-
-
-
- -
	docker build -t mysql2 .
-
-
-
-

生成容器

- -
docker run -it --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /Users/lizhixin/dev/edx/mysql:/var/lib/mysql mysql2
-
-
-
- -

docker-machine 使用代理

-

修改 vi /var/lib/boot2docker/profile,或者创建的时候就设置 -``` - docker-machine create -d virtualbox \ - –engine-env HTTP_PROXY=http://192.168.1.1:8080 \ - –engine-env HTTPS_PROXY=http://192.168.1.1:8080 \ - –engine-env NO_PROXY=localhost \ - –EXTRA_ARGS=”–registry-mirror=http://de1b1668.m.daocloud.io” \ - default

- -

-
-## windows 下使用 docker
-
-安装 Kitematic ,之后使用CMD,运行docker命令
-提示无法连接到 daemon
-
-通过 docker-machine ip 查询到machine的IP
-设置下面的系统环境变量
-
-
-
export DOCKER_HOST=tcp://192.168.99.100:2376
-export DOCKER_MACHINE_NAME=default
-export DOCKER_TLS_VERIFY=1
-export DOCKER_CERT_PATH=C:\Users\li\.docker\machine\machines\default ``` 之后就可以正常使用了
-
-
- -

但仅仅只能通过本机访问 -通过设置virtualbox可以使用局域网中的IP(桥接网络),之后重新通过docker-machine regenerate-certs 生成certs

- -

安装成功后需要配置日期时间

- -

设置ubuntu的时区

- -
echo "Asia/shanghai" > /etc/timezone
-
-
- -

但PHP或MYSQL还是需要单独设置 -找了好久终于找到了解决方法,在容器中执行以下命令就可以了,MYSQL的容器设置后还是需要重启的 -http://www.opstool.com/article/320 - -cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime -

- -

boot2docker 默认密码

-
docker:tcuser
-
-
- -
- -
- -
-
- -
- -
- - - - - -
- -
- - - - - diff --git a/_site/notes/2016/05/12/edx.html b/_site/notes/2016/05/12/edx.html deleted file mode 100644 index 4d4b280..0000000 --- a/_site/notes/2016/05/12/edx.html +++ /dev/null @@ -1,252 +0,0 @@ - - - - - - - - - edx - - - - - - - - - - - - - -
-
-
- -
-

edx

- -
- -
-

Edx

- -

背景

-

edX是哈佛大学和麻省理工学院共同创立的非营利网络教育项目,旨在为全球提供来自哈佛大学、麻省理工学院、加州大学伯克利分校、清华大学、北京大学、香港大学、香港科技大学等全球顶尖高校及组织的慕课(大规模在线公开课)。课程主题涵盖生物、数学、统计、物理、化学、电子、工程、计算机、经济、金融、文学、历史、音乐、哲学、法学、人类学、商业、医学、营养学等多个学科。

- -

介绍

-

http://blog.just4fun.site/about-Open-edX.html

- -

5种扩展edx的方式

-

https://github.com/edx/edx-platform/wiki/Five-ways-to-extend-edX

- -

浏览器支持,必须IE11或chrome,firefox,safari

-

http://edx.readthedocs.io/projects/edx-guide-for-students/en/latest/front_matter/browsers.html

- -

第三方登陆

- -

集成公司的登录方式,但EDX现在只提供了OAUTH2的方式 -http://blog.just4fun.site/Open-edX-login-explore.html

- -

案例

-

http://www.xuetangx.com/

- -

主题修改

-

http://blog.just4fun.site/edx-front-dev.html -https://github.com/edx/edx-platform/blob/named-release/dogwood.rc/themes/README.rst

- -

Open edX开发技能与入门资料

-

http://blog.just4fun.site/open-edx-dev-skill-and-resource.html

- -

使用ansible 安装失败

-
cd /var/tmp/configuration/playbooks
-sudo ansible-playbook -c local ./edx_sandbox.yml -i "localhost," --limit @/home/vagrant/edx_sandbox.retry
-
-
-
- -

翻译成本地语言

-

localization and development in china -https://github.com/edx/edx-platform/wiki/localization-and-development-in-china -``` -/* -http://www.ichenfei.com/open-edx-nationalization-i18.html -*/

- -

/删除原有.po翻译文件/ -cd /edx/app/edxapp/edx-platform/conf/locale/zh_CN/LC_MESSAGES/ -sudo rm *

- -

/下载我们翻译做好的.po文件,并更改所有权,通过浏览器下载就不需要更改所有权了/

- -

wget http://mirrors.edustack.org/LC_MESSAGES/dogwood/django.po http://mirrors.edustack.org/LC_MESSAGES/dogwood/djangojs.po

- -

chown edxapp:edxapp django.po djangojs.po

- -

/切换到edxapp用户加载环境执行翻译/ -sudo -u edxapp bash -source /edx/app/edxapp/edxapp_env -cd /edx/app/edxapp/edx-platform -paver i18n_fastgenerate

- -

/退出edxapp用户并重启edxapp,最后的:是必要的/ -exit -sudo /edx/bin/supervisorctl restart edxapp:

- -
## Docker
-edxops/edxapp docker image执行 supervisorctl
-
-
-

/edx/app/supervisor/venvs/supervisor/bin/supervisorctl -``` -日志 -/edx/var/log

- -

脚本执行时间

- -
PLAY RECAP ******************************************************************** 
-INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | checkout edx-platform repo into  ----------------- 544.58s
-INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | install mongo server and recommends ------------------------------------ 317.94s
-INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp_common | Install system packages ----------------------------------------- 96.93s
-INFO:ansible.callback_plugins.datadog_tasks_timing:mysql | Install mysql-5.6 and dependencies -------------------------------------- 58.14s
-INFO:ansible.callback_plugins.datadog_tasks_timing:rabbitmq | install rabbit package using gdebi ----------------------------------- 44.68s
-INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | install system packages on which LMS and CMS rely ---------------------- 44.03s
-INFO:ansible.callback_plugins.datadog_tasks_timing:rabbitmq | install python-software-properties if debian ------------------------- 31.26s
-INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | add ppas for current versions of nodejs -------------------------------- 30.02s
-INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | add the mongodb repo to the sources list -------------------------------- 28.09s
-INFO:ansible.callback_plugins.datadog_tasks_timing:mysql | Install MySQL community apt repositories -------------------------------- 21.41s
-INFO:ansible.callback_plugins.datadog_tasks_timing:
-Playbook edx_sandbox finished: Thu May 19 14:48:45 2016, 208 total tasks.  0:22:18 elapsed.
-
-
-
- -

配置远程服务

- -

mysql

-

数据库 -- edxapp -- edxapp_csmh

- -

用户 edxapp001:password,root:password

- -

mongo

-

数据库 edxapp -用户 edxapp:password

- -
use edxapp
-db.createUser(
-   {
-     user: "edxapp",
-     pwd: "password",
-     roles: [ "readWrite"]
-   }
-)
-
-use cs_comments_service
-db.createUser(
-   {
-     user: "cs_comments_service",
-     pwd: "password",
-     roles: [ "readWrite"]
-   }
-)
-
-
- -

memcahce

- -

edx-platform

-

修改代码,不要从github上复制代码,直接从本地复制 -修改 checkout edx-platform repo into - -- name: checkout edx-platform repo into - shell: cp -R /vagrant/edx-platform - sudo_user: "" - register: edxapp_platform_checkout - tags: - - install - - install:code -

- -

调整源地址

-

修改palybooks/roles/common_vars/default/main.yml

- -

-COMMON_PYPI_MIRROR_URL: 'http://mirrors.aliyun.com/pypi/simple'
-COMMON_NPM_MIRROR_URL: 'https://registry.npm.taobao.org'
-
-
-
- -
- -
- -
-
- -
- -
- - - - - -
- -
- - - - - diff --git a/_site/notes/2016/05/12/osx.html b/_site/notes/2016/05/12/osx.html deleted file mode 100644 index 03bc6fc..0000000 --- a/_site/notes/2016/05/12/osx.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - os x - - - - - - - - - - - - - -
-
-
- -
-

os x

- -
- -
-

#osx

- -

install pip

- -

http://stackoverflow.com/questions/17271319/installing-pip-on-mac-os-x - -sudo easy_install pip -

- -
- -
- -
-
- -
- -
- - - - - -
- -
- - - - - diff --git a/_site/notes/2016/05/12/vi.html b/_site/notes/2016/05/12/vi.html deleted file mode 100644 index 4d59571..0000000 --- a/_site/notes/2016/05/12/vi.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - vi - - - - - - - - - - - - - -
-
-
- -
-

vi

- -
- -
-

vi

- -

编辑模式

- -

在普通模式下,输入a(附加命令)、c(修改命令)、i(插入命令)、o(另起新行)、r(取代命令)以及s(替换命令)都将进入编辑模式

- -

保存退出

- -

按esc退回到普通模式,输入 :,左下角将出现输入行,然后输入 wq或x来保存退出vi - -:wq -:x -

- -

强制退出,不论是否已经保存

-
:q!
-
-
-
- - -
- -
- -
-
- -
- -
- - - - - -
- -
- - - - - From 3fd17ef6c7d6e147a39afc335df833ba92a1535b Mon Sep 17 00:00:00 2001 From: lizhixin <61769459@qq.com> Date: Fri, 27 May 2016 19:46:16 +0800 Subject: [PATCH 08/39] update config --- _config.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/_config.yml b/_config.yml index 6837b37..b236009 100644 --- a/_config.yml +++ b/_config.yml @@ -6,14 +6,14 @@ # 'jekyll serve'. If you change this file, please restart the server process. # Site settings -title: Minuux +title: minuux email: description: > # this means to ignore newlines until "baseurl:" baseurl: "" # the subpath of your site, e.g. /blog url: "minuux.github.io" # the base hostname & protocol for your site -#twitter_username: jekyllrb -#github_username: jekyll +twitter_username: minuux +github_username: minuux # Build settings markdown: kramdown From 499631af9df10d4445ca54ebd142d691e0e3cf40 Mon Sep 17 00:00:00 2001 From: lizhixin <61769459@qq.com> Date: Fri, 27 May 2016 19:53:49 +0800 Subject: [PATCH 09/39] update edx.md,ansible.md --- _posts/2016-05-12-ansible.md | 2 ++ _posts/2016-05-12-edx.md | 6 ++---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/_posts/2016-05-12-ansible.md b/_posts/2016-05-12-ansible.md index deb7fc5..de14009 100644 --- a/_posts/2016-05-12-ansible.md +++ b/_posts/2016-05-12-ansible.md @@ -26,3 +26,5 @@ ssh-copy-id user@address ssh user@address ``` + + diff --git a/_posts/2016-05-12-edx.md b/_posts/2016-05-12-edx.md index e996d90..c6c2179 100644 --- a/_posts/2016-05-12-edx.md +++ b/_posts/2016-05-12-edx.md @@ -5,7 +5,7 @@ date: 2016-05-12 08:26:31 +0000 categories: notes --- -# Edx +# Edx ## 背景 edX是哈佛大学和麻省理工学院共同创立的非营利网络教育项目,旨在为全球提供来自哈佛大学、麻省理工学院、加州大学伯克利分校、清华大学、北京大学、香港大学、香港科技大学等全球顶尖高校及组织的慕课(大规模在线公开课)。课程主题涵盖生物、数学、统计、物理、化学、电子、工程、计算机、经济、金融、文学、历史、音乐、哲学、法学、人类学、商业、医学、营养学等多个学科。 @@ -54,7 +54,7 @@ cd /edx/app/edxapp/edx-platform/conf/locale/zh_CN/LC_MESSAGES/ sudo rm * /*下载我们翻译做好的.po文件,并更改所有权,通过浏览器下载就不需要更改所有权了*/ - + wget http://mirrors.edustack.org/LC_MESSAGES/dogwood/django.po http://mirrors.edustack.org/LC_MESSAGES/dogwood/djangojs.po chown edxapp:edxapp django.po djangojs.po @@ -149,9 +149,7 @@ db.createUser( ### 调整源地址 修改palybooks/roles/common_vars/default/main.yml - ``` - COMMON_PYPI_MIRROR_URL: 'http://mirrors.aliyun.com/pypi/simple' COMMON_NPM_MIRROR_URL: 'https://registry.npm.taobao.org' From 7026d841c797d7c8fb44e0130ebdf810abd40086 Mon Sep 17 00:00:00 2001 From: lizhixin <61769459@qq.com> Date: Fri, 27 May 2016 19:54:28 +0800 Subject: [PATCH 10/39] update .gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index c08f9ad..badbc02 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -_site \ No newline at end of file +_site +.sass-cache From 4890700dcbe6109e1e6fb6acb4455a1cb68e50bc Mon Sep 17 00:00:00 2001 From: lizhixin <61769459@qq.com> Date: Fri, 27 May 2016 19:56:37 +0800 Subject: [PATCH 11/39] modify title --- _posts/2016-05-12-ansible.md | 3 +-- _posts/2016-05-12-docker.md | 3 +-- _posts/2016-05-12-edx.md | 3 +-- _posts/2016-05-12-osx.md | 1 - _posts/2016-05-12-vi.md | 3 --- 5 files changed, 3 insertions(+), 10 deletions(-) diff --git a/_posts/2016-05-12-ansible.md b/_posts/2016-05-12-ansible.md index de14009..c5826e3 100644 --- a/_posts/2016-05-12-ansible.md +++ b/_posts/2016-05-12-ansible.md @@ -1,11 +1,10 @@ --- layout: post -title: "ansible" +title: "Ansible" date: 2016-05-12 08:26:31 +0000 categories: notes --- -#Ansible ## doc Ansible中文权威指南 http://www.ansible.com.cn diff --git a/_posts/2016-05-12-docker.md b/_posts/2016-05-12-docker.md index 343aae0..13410fb 100644 --- a/_posts/2016-05-12-docker.md +++ b/_posts/2016-05-12-docker.md @@ -1,11 +1,10 @@ --- layout: post -title: "docker" +title: "Docker" date: 2016-05-12 08:26:31 +0000 categories: notes --- -# Docker ## nginx diff --git a/_posts/2016-05-12-edx.md b/_posts/2016-05-12-edx.md index c6c2179..f7d18b3 100644 --- a/_posts/2016-05-12-edx.md +++ b/_posts/2016-05-12-edx.md @@ -1,11 +1,10 @@ --- layout: post -title: "edx" +title: "Edx" date: 2016-05-12 08:26:31 +0000 categories: notes --- -# Edx ## 背景 edX是哈佛大学和麻省理工学院共同创立的非营利网络教育项目,旨在为全球提供来自哈佛大学、麻省理工学院、加州大学伯克利分校、清华大学、北京大学、香港大学、香港科技大学等全球顶尖高校及组织的慕课(大规模在线公开课)。课程主题涵盖生物、数学、统计、物理、化学、电子、工程、计算机、经济、金融、文学、历史、音乐、哲学、法学、人类学、商业、医学、营养学等多个学科。 diff --git a/_posts/2016-05-12-osx.md b/_posts/2016-05-12-osx.md index df27465..24da79f 100644 --- a/_posts/2016-05-12-osx.md +++ b/_posts/2016-05-12-osx.md @@ -5,7 +5,6 @@ date: 2016-05-12 08:26:31 +0000 categories: notes --- -#osx ## install pip diff --git a/_posts/2016-05-12-vi.md b/_posts/2016-05-12-vi.md index 9d2d6ee..4bd5d62 100644 --- a/_posts/2016-05-12-vi.md +++ b/_posts/2016-05-12-vi.md @@ -5,9 +5,6 @@ date: 2016-05-12 08:26:31 +0000 categories: notes --- -# vi - - ## 编辑模式 在普通模式下,输入a(附加命令)、c(修改命令)、i(插入命令)、o(另起新行)、r(取代命令)以及s(替换命令)都将进入编辑模式 From 04d7fd6768ca6059b695e2229a9c5035742b789c Mon Sep 17 00:00:00 2001 From: lizhixin <61769459@qq.com> Date: Fri, 27 May 2016 20:55:24 +0800 Subject: [PATCH 12/39] modify datetime --- _posts/2016-05-12-ansible.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-05-12-ansible.md b/_posts/2016-05-12-ansible.md index c5826e3..23b2504 100644 --- a/_posts/2016-05-12-ansible.md +++ b/_posts/2016-05-12-ansible.md @@ -1,7 +1,7 @@ --- layout: post title: "Ansible" -date: 2016-05-12 08:26:31 +0000 +date: 2016-05-12 08:26:31 categories: notes --- From 0dfc2f6c019d8e5768ce9aef5dd4c7c1fa98655f Mon Sep 17 00:00:00 2001 From: lizhixin <61769459@qq.com> Date: Fri, 27 May 2016 21:25:06 +0800 Subject: [PATCH 13/39] change style --- _includes/header.html | 1 + _layouts/post.html | 2 +- _posts/2016-05-12-ansible.md | 15 -------------- _posts/2016-05-12-docker.md | 40 ++++++++++++++++++------------------ _posts/2016-05-12-edx.md | 13 ++++++++---- _posts/2016-05-12-osx.md | 20 +++++++++++++++++- _posts/2016-05-12-vi.md | 4 ++-- _sass/_layout.scss | 3 +-- index.html | 9 +++----- 9 files changed, 56 insertions(+), 51 deletions(-) diff --git a/_includes/header.html b/_includes/header.html index b3f86db..192526b 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -19,6 +19,7 @@ {{ my_page.title }} {% endif %} {% endfor %} + RSS diff --git a/_layouts/post.html b/_layouts/post.html index 3a0fb52..5e5b91f 100644 --- a/_layouts/post.html +++ b/_layouts/post.html @@ -5,7 +5,7 @@

{{ page.title }}

- +
diff --git a/_posts/2016-05-12-ansible.md b/_posts/2016-05-12-ansible.md index 23b2504..7b82066 100644 --- a/_posts/2016-05-12-ansible.md +++ b/_posts/2016-05-12-ansible.md @@ -9,21 +9,6 @@ categories: notes ## doc Ansible中文权威指南 http://www.ansible.com.cn -## 使用 OS X 对ubuntu进行管理 - -``` -brew install ssh-copy-id - -/* -生成公钥与私钥 -ssh介绍:http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html -*/ -ssh-keygen - -ssh-copy-id user@address - -ssh user@address -``` diff --git a/_posts/2016-05-12-docker.md b/_posts/2016-05-12-docker.md index 13410fb..fcdbf00 100644 --- a/_posts/2016-05-12-docker.md +++ b/_posts/2016-05-12-docker.md @@ -10,7 +10,6 @@ categories: notes ``` docker run --name nginx -p 80:80 -v /Users/lizhixin/dev/docker/nginx:/usr/share/nginx/html:ro -d nginx - ``` ## mysql @@ -20,36 +19,34 @@ osx中使用mysql镜像创建容器会出现volumes无权限加载的情况 创建自己的镜像,修改权限 ``` - FROM mysql - - RUN usermod -u 1000 mysql - RUN mkdir -p /var/run/mysqld - RUN chmod -R 777 /var/run/mysqld +FROM mysql +RUN usermod -u 1000 mysql +RUN mkdir -p /var/run/mysqld +RUN chmod -R 777 /var/run/mysqld ``` ``` - docker build -t mysql2 . - +docker build -t mysql2 . ``` 生成容器 ``` docker run -it --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /Users/lizhixin/dev/edx/mysql:/var/lib/mysql mysql2 - ``` ## docker-machine 使用代理 + 修改 vi /var/lib/boot2docker/profile,或者创建的时候就设置 -``` - docker-machine create -d virtualbox \ - --engine-env HTTP_PROXY=http://192.168.1.1:8080 \ - --engine-env HTTPS_PROXY=http://192.168.1.1:8080 \ - --engine-env NO_PROXY=localhost \ - --EXTRA_ARGS="--registry-mirror=http://de1b1668.m.daocloud.io" \ - default ``` +docker-machine create -d virtualbox \ + --engine-env HTTP_PROXY=http://192.168.1.1:8080 \ + --engine-env HTTPS_PROXY=http://192.168.1.1:8080 \ + --engine-env NO_PROXY=localhost \ + --EXTRA_ARGS="--registry-mirror=http://de1b1668.m.daocloud.io" \ + default +``` ## windows 下使用 docker @@ -59,11 +56,12 @@ docker run -it --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /Users 通过 docker-machine ip 查询到machine的IP 设置下面的系统环境变量 + ``` - export DOCKER_HOST=tcp://192.168.99.100:2376 - export DOCKER_MACHINE_NAME=default - export DOCKER_TLS_VERIFY=1 - export DOCKER_CERT_PATH=C:\Users\li\.docker\machine\machines\default +export DOCKER_HOST=tcp://192.168.99.100:2376 +export DOCKER_MACHINE_NAME=default +export DOCKER_TLS_VERIFY=1 +export DOCKER_CERT_PATH=C:\Users\li\.docker\machine\machines\default ``` 之后就可以正常使用了 @@ -82,11 +80,13 @@ echo "Asia/shanghai" > /etc/timezone 但PHP或MYSQL还是需要单独设置 找了好久终于找到了解决方法,在容器中执行以下命令就可以了,MYSQL的容器设置后还是需要重启的 http://www.opstool.com/article/320 + ``` cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime ``` ## boot2docker 默认密码 + ``` docker:tcuser ``` \ No newline at end of file diff --git a/_posts/2016-05-12-edx.md b/_posts/2016-05-12-edx.md index f7d18b3..bb6419e 100644 --- a/_posts/2016-05-12-edx.md +++ b/_posts/2016-05-12-edx.md @@ -34,15 +34,16 @@ https://github.com/edx/edx-platform/blob/named-release/dogwood.rc/themes/README. http://blog.just4fun.site/open-edx-dev-skill-and-resource.html ## 使用ansible 安装失败 + ``` cd /var/tmp/configuration/playbooks sudo ansible-playbook -c local ./edx_sandbox.yml -i "localhost," --limit @/home/vagrant/edx_sandbox.retry - ``` ## 翻译成本地语言 localization and development in china -https://github.com/edx/edx-platform/wiki/localization-and-development-in-china +https://github.com/edx/edx-platform/wiki/localization-and-development-in-china + ``` /* http://www.ichenfei.com/open-edx-nationalization-i18.html @@ -67,10 +68,12 @@ paver i18n_fastgenerate /*退出edxapp用户并重启edxapp,最后的:是必要的*/ exit sudo /edx/bin/supervisorctl restart edxapp: - ``` + ## Docker + edxops/edxapp docker image执行 supervisorctl + ``` /edx/app/supervisor/venvs/supervisor/bin/supervisorctl ``` @@ -133,8 +136,10 @@ db.createUser( ### edx-platform + 修改代码,不要从github上复制代码,直接从本地复制 修改 checkout edx-platform repo into {{ edxapp_code_dir }} + ``` - name: checkout edx-platform repo into {{ edxapp_code_dir }} shell: cp -R /vagrant/edx-platform {{ edxapp_code_dir }} @@ -148,8 +153,8 @@ db.createUser( ### 调整源地址 修改palybooks/roles/common_vars/default/main.yml + ``` COMMON_PYPI_MIRROR_URL: 'http://mirrors.aliyun.com/pypi/simple' COMMON_NPM_MIRROR_URL: 'https://registry.npm.taobao.org' - ``` \ No newline at end of file diff --git a/_posts/2016-05-12-osx.md b/_posts/2016-05-12-osx.md index 24da79f..8d408a5 100644 --- a/_posts/2016-05-12-osx.md +++ b/_posts/2016-05-12-osx.md @@ -1,6 +1,6 @@ --- layout: post -title: "os x" +title: "OS X" date: 2016-05-12 08:26:31 +0000 categories: notes --- @@ -9,6 +9,24 @@ categories: notes ## install pip http://stackoverflow.com/questions/17271319/installing-pip-on-mac-os-x + ``` sudo easy_install pip ``` + + +## 使用 OS X 对ubuntu进行管理 + +``` +brew install ssh-copy-id + +/* +生成公钥与私钥 +ssh介绍:http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html +*/ +ssh-keygen + +ssh-copy-id user@address + +ssh user@address +``` diff --git a/_posts/2016-05-12-vi.md b/_posts/2016-05-12-vi.md index 4bd5d62..ed33d03 100644 --- a/_posts/2016-05-12-vi.md +++ b/_posts/2016-05-12-vi.md @@ -1,6 +1,6 @@ --- layout: post -title: "vi" +title: "VI" date: 2016-05-12 08:26:31 +0000 categories: notes --- @@ -12,6 +12,7 @@ categories: notes ## 保存退出 按esc退回到普通模式,输入 :,左下角将出现输入行,然后输入 wq或x来保存退出vi + ``` :wq :x @@ -20,6 +21,5 @@ categories: notes ## 强制退出,不论是否已经保存 ``` :q! - ``` diff --git a/_sass/_layout.scss b/_sass/_layout.scss index 9cbfdde..92b0606 100644 --- a/_sass/_layout.scss +++ b/_sass/_layout.scss @@ -190,8 +190,7 @@ } .post-link { - display: block; - font-size: 24px; + font-size: 14px; } diff --git a/index.html b/index.html index 45c1ead..4b13236 100644 --- a/index.html +++ b/index.html @@ -7,15 +7,12 @@
    {% for post in site.posts %}
  • - + -

    + {{ post.title }} -

    +
  • {% endfor %}
- -

subscribe via RSS

-
From da8eea6d9b2740b75a6c1b3f8497ab51e2b845e0 Mon Sep 17 00:00:00 2001 From: lizhixin <61769459@qq.com> Date: Fri, 27 May 2016 21:32:31 +0800 Subject: [PATCH 14/39] modify edx --- _posts/2016-05-12-edx.md | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/_posts/2016-05-12-edx.md b/_posts/2016-05-12-edx.md index bb6419e..79ef7a7 100644 --- a/_posts/2016-05-12-edx.md +++ b/_posts/2016-05-12-edx.md @@ -10,28 +10,34 @@ categories: notes edX是哈佛大学和麻省理工学院共同创立的非营利网络教育项目,旨在为全球提供来自哈佛大学、麻省理工学院、加州大学伯克利分校、清华大学、北京大学、香港大学、香港科技大学等全球顶尖高校及组织的慕课(大规模在线公开课)。课程主题涵盖生物、数学、统计、物理、化学、电子、工程、计算机、经济、金融、文学、历史、音乐、哲学、法学、人类学、商业、医学、营养学等多个学科。 ## 介绍 -http://blog.just4fun.site/about-Open-edX.html + +[http://blog.just4fun.site/about-Open-edX.html](http://blog.just4fun.site/about-Open-edX.html) + ## 5种扩展edx的方式 -https://github.com/edx/edx-platform/wiki/Five-ways-to-extend-edX +[https://github.com/edx/edx-platform/wiki/Five-ways-to-extend-edX](https://github.com/edx/edx-platform/wiki/Five-ways-to-extend-edX) ## 浏览器支持,必须IE11或chrome,firefox,safari -http://edx.readthedocs.io/projects/edx-guide-for-students/en/latest/front_matter/browsers.html +[http://edx.readthedocs.io/projects/edx-guide-for-students/en/latest/front_matter/browsers.html](http://edx.readthedocs.io/projects/edx-guide-for-students/en/latest/front_matter/browsers.html) + ## 第三方登陆 集成公司的登录方式,但EDX现在只提供了OAUTH2的方式 -http://blog.just4fun.site/Open-edX-login-explore.html +[http://blog.just4fun.site/Open-edX-login-explore.html](http://blog.just4fun.site/Open-edX-login-explore.html) + ## 案例 -http://www.xuetangx.com/ +[http://www.xuetangx.com/](http://www.xuetangx.com/) + ## 主题修改 -http://blog.just4fun.site/edx-front-dev.html -https://github.com/edx/edx-platform/blob/named-release/dogwood.rc/themes/README.rst +[http://blog.just4fun.site/edx-front-dev.html](http://blog.just4fun.site/edx-front-dev.html) +[https://github.com/edx/edx-platform/blob/named-release/dogwood.rc/themes/README.rst](https://github.com/edx/edx-platform/blob/named-release/dogwood.rc/themes/README.rst) + ## Open edX开发技能与入门资料 -http://blog.just4fun.site/open-edx-dev-skill-and-resource.html +[http://blog.just4fun.site/open-edx-dev-skill-and-resource.html](http://blog.just4fun.site/open-edx-dev-skill-and-resource.html) ## 使用ansible 安装失败 @@ -41,8 +47,9 @@ sudo ansible-playbook -c local ./edx_sandbox.yml -i "localhost," --limit @/home/ ``` ## 翻译成本地语言 -localization and development in china -https://github.com/edx/edx-platform/wiki/localization-and-development-in-china +[localization and development in china](https://github.com/edx/edx-platform/wiki/localization-and-development-in-china) + + ``` /* From 95d55d67abf287ca4e26380881ab318544d4529f Mon Sep 17 00:00:00 2001 From: lizhixin <61769459@qq.com> Date: Sun, 29 May 2016 23:59:03 +0800 Subject: [PATCH 15/39] modify post --- _posts/2016-05-12-ansible.md | 21 ++++++++++++++++++++- _posts/2016-05-12-docker.md | 6 +++++- _posts/2016-05-12-osx.md | 9 ++++----- 3 files changed, 29 insertions(+), 7 deletions(-) diff --git a/_posts/2016-05-12-ansible.md b/_posts/2016-05-12-ansible.md index 7b82066..81f8972 100644 --- a/_posts/2016-05-12-ansible.md +++ b/_posts/2016-05-12-ansible.md @@ -7,7 +7,26 @@ categories: notes ## doc -Ansible中文权威指南 http://www.ansible.com.cn + +- [Ansible中文权威指南](http://www.ansible.com.cn) + + +## other +[http://docs.ansible.com/ansible/playbooks_startnstep.html](http://docs.ansible.com/ansible/playbooks_startnstep.html) + +### 从某一个任务开始执行 +``` +ansible-playbook playbook.yml --start-at-task="install packages" +``` + +### 单步执行,每执行一次task,之后会提示是否继续执行下一步 +``` +ansible-playbook playbook.yml --step +``` + + + + diff --git a/_posts/2016-05-12-docker.md b/_posts/2016-05-12-docker.md index fcdbf00..50e3bd5 100644 --- a/_posts/2016-05-12-docker.md +++ b/_posts/2016-05-12-docker.md @@ -89,4 +89,8 @@ cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime ``` docker:tcuser -``` \ No newline at end of file +``` + +## docker pull 本地镜像 +[http://stackoverflow.com/questions/20481225/how-can-i-use-a-local-image-as-the-base-image-with-a-dockerfile](How can I use a local image as the base image with a dockerfile?) + diff --git a/_posts/2016-05-12-osx.md b/_posts/2016-05-12-osx.md index 8d408a5..a04874b 100644 --- a/_posts/2016-05-12-osx.md +++ b/_posts/2016-05-12-osx.md @@ -8,7 +8,7 @@ categories: notes ## install pip -http://stackoverflow.com/questions/17271319/installing-pip-on-mac-os-x +[http://stackoverflow.com/questions/17271319/installing-pip-on-mac-os-x](http://stackoverflow.com/questions/17271319/installing-pip-on-mac-os-x) ``` sudo easy_install pip @@ -17,13 +17,12 @@ sudo easy_install pip ## 使用 OS X 对ubuntu进行管理 +[ssh介绍](http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html) + ``` brew install ssh-copy-id -/* -生成公钥与私钥 -ssh介绍:http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html -*/ +/*生成公钥与私钥*/ ssh-keygen ssh-copy-id user@address From d28bf6988a1e7b0f7d4160ad03658a3e455daf3b Mon Sep 17 00:00:00 2001 From: li <61769459@qq.com> Date: Wed, 1 Jun 2016 22:39:51 +0800 Subject: [PATCH 16/39] add django --- _posts/2016-06-01-django | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 _posts/2016-06-01-django diff --git a/_posts/2016-06-01-django b/_posts/2016-06-01-django new file mode 100644 index 0000000..add36cd --- /dev/null +++ b/_posts/2016-06-01-django @@ -0,0 +1,27 @@ +--- +layout: post +title: "Django" +date: 2016-06-01 +categories: notes +--- + +## helloworld + +```python +$ python -c "import django; print(django.get_version())" +``` + + +## Creating a project + +创建一个项目 +```python +$ django-admin startproject mysite +``` + +运行 + +```python +$ python manage.py runserver +``` + From 74e8bc60de085b4309a313d488963059d8bc97c9 Mon Sep 17 00:00:00 2001 From: li <61769459@qq.com> Date: Wed, 1 Jun 2016 22:41:22 +0800 Subject: [PATCH 17/39] change name --- _posts/{2016-06-01-django => 2016-06-01-django.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename _posts/{2016-06-01-django => 2016-06-01-django.md} (100%) diff --git a/_posts/2016-06-01-django b/_posts/2016-06-01-django.md similarity index 100% rename from _posts/2016-06-01-django rename to _posts/2016-06-01-django.md From 6b49b70534d664b7099a0783d0300cc76901baef Mon Sep 17 00:00:00 2001 From: li <61769459@qq.com> Date: Wed, 1 Jun 2016 22:42:05 +0800 Subject: [PATCH 18/39] change --- _posts/2016-06-01-django.md | 1 + 1 file changed, 1 insertion(+) diff --git a/_posts/2016-06-01-django.md b/_posts/2016-06-01-django.md index add36cd..1707ddd 100644 --- a/_posts/2016-06-01-django.md +++ b/_posts/2016-06-01-django.md @@ -15,6 +15,7 @@ $ python -c "import django; print(django.get_version())" ## Creating a project 创建一个项目 + ```python $ django-admin startproject mysite ``` From cb73fee014025e76f7583e631fb6955c157953d4 Mon Sep 17 00:00:00 2001 From: li <61769459@qq.com> Date: Fri, 10 Jun 2016 01:28:50 +0800 Subject: [PATCH 19/39] add ubuntu install docker --- .../2016-06-10-ubuntu1404-install-docker.md | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 _posts/2016-06-10-ubuntu1404-install-docker.md diff --git a/_posts/2016-06-10-ubuntu1404-install-docker.md b/_posts/2016-06-10-ubuntu1404-install-docker.md new file mode 100644 index 0000000..aa80ec6 --- /dev/null +++ b/_posts/2016-06-10-ubuntu1404-install-docker.md @@ -0,0 +1,66 @@ +--- +layout: post +title: "ubuntu install docker" +date: 2016-06-10 01:02 +categories: notes +--- + +## 使用ubuntu14.04安装docker + +[docker官方给出的安装方法](https://docs.docker.com/engine/installation/linux/ubuntulinux/) + + +### Update your apt sources + +``` +sudo apt-get update +sudo apt-get install apt-transport-https ca-certificates +sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D +``` +### Add an entry for your Ubuntu operating system. + +``` +sudo su +sudo echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" > /etc/apt/sources.list.d/docker.list +exit +``` + +### 检查docker的安装源是否正确 + +``` +sudo apt-get update +sudo apt-get purge lxc-docker +apt-cache policy docker-engine + +``` + +### 安装在ubuntu上安装docker所需要的依赖程序 + +``` +sudo apt-get -Y install linux-image-extra-$(uname -r) +sudo apt-get -Y install apparmor +sudo reboot +``` + +### 最后安装docker + +``` +sudo apt-get update +sudo apt-get -Y install docker-engine +``` + +### 使用docker的时候不需要每次都输入**sudo** + +下面代码中的vagrant是你使用的用户名,以后当你使用该用户名登录系统使用docker,就不需要每次输入sudo, +执行后,退出 vagrant,然后重新登录就可以不需要输入 sudo,正常使用docker. + +``` +sudo groupadd docker +sudo usermod -aG docker vagrant +``` +### test docker + +``` +sudo docker run hello-world +``` + From 5e9a1a5e508894b56ba8020ea366c3c468cd3096 Mon Sep 17 00:00:00 2001 From: li <61769459@qq.com> Date: Sat, 11 Jun 2016 16:31:56 +0800 Subject: [PATCH 20/39] Rename 2016-06-10-ubuntu1404-install-docker.md to 2016-06-10-ubuntu-1404-install-docker.md --- ...install-docker.md => 2016-06-10-ubuntu-1404-install-docker.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename _posts/{2016-06-10-ubuntu1404-install-docker.md => 2016-06-10-ubuntu-1404-install-docker.md} (100%) diff --git a/_posts/2016-06-10-ubuntu1404-install-docker.md b/_posts/2016-06-10-ubuntu-1404-install-docker.md similarity index 100% rename from _posts/2016-06-10-ubuntu1404-install-docker.md rename to _posts/2016-06-10-ubuntu-1404-install-docker.md From c1f50ebef9b4e13debb7f2416694029bf894223c Mon Sep 17 00:00:00 2001 From: li <61769459@qq.com> Date: Sat, 11 Jun 2016 16:32:58 +0800 Subject: [PATCH 21/39] Update 2016-06-10-ubuntu-1404-install-docker.md --- _posts/2016-06-10-ubuntu-1404-install-docker.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/_posts/2016-06-10-ubuntu-1404-install-docker.md b/_posts/2016-06-10-ubuntu-1404-install-docker.md index aa80ec6..7eec6c3 100644 --- a/_posts/2016-06-10-ubuntu-1404-install-docker.md +++ b/_posts/2016-06-10-ubuntu-1404-install-docker.md @@ -1,6 +1,6 @@ --- layout: post -title: "ubuntu install docker" +title: "ubuntu14.04 install docker" date: 2016-06-10 01:02 categories: notes --- @@ -17,6 +17,7 @@ sudo apt-get update sudo apt-get install apt-transport-https ca-certificates sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D ``` + ### Add an entry for your Ubuntu operating system. ``` From ad66e38f8a2fac97454a0399460f1796c4f8cdcc Mon Sep 17 00:00:00 2001 From: li <61769459@qq.com> Date: Sat, 11 Jun 2016 16:33:39 +0800 Subject: [PATCH 22/39] Update 2016-06-10-ubuntu-1404-install-docker.md --- _posts/2016-06-10-ubuntu-1404-install-docker.md | 1 + 1 file changed, 1 insertion(+) diff --git a/_posts/2016-06-10-ubuntu-1404-install-docker.md b/_posts/2016-06-10-ubuntu-1404-install-docker.md index 7eec6c3..3c84766 100644 --- a/_posts/2016-06-10-ubuntu-1404-install-docker.md +++ b/_posts/2016-06-10-ubuntu-1404-install-docker.md @@ -59,6 +59,7 @@ sudo apt-get -Y install docker-engine sudo groupadd docker sudo usermod -aG docker vagrant ``` + ### test docker ``` From 177a4336546dc48196ca6fcf92b95d39d0fac07d Mon Sep 17 00:00:00 2001 From: li <61769459@qq.com> Date: Tue, 14 Jun 2016 19:02:57 +0800 Subject: [PATCH 23/39] Create npm --- _posts/npm | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 _posts/npm diff --git a/_posts/npm b/_posts/npm new file mode 100644 index 0000000..89826d6 --- /dev/null +++ b/_posts/npm @@ -0,0 +1,12 @@ + + +## npm-link + +使用开发中的npm包 +[https://docs.npmjs.com/cli/link](https://docs.npmjs.com/cli/link) + +``` +cd ~/projects/node-redis # go into the package directory +npm link # creates global link + +``` From 0b6481c8c2c170977d4e514a87fdfdfe32bbb583 Mon Sep 17 00:00:00 2001 From: li <61769459@qq.com> Date: Tue, 14 Jun 2016 19:03:19 +0800 Subject: [PATCH 24/39] Rename npm to npm.md --- _posts/{npm => npm.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename _posts/{npm => npm.md} (100%) diff --git a/_posts/npm b/_posts/npm.md similarity index 100% rename from _posts/npm rename to _posts/npm.md From 103a25a4a8bd7ee7bc543015e9b9f53973d4e013 Mon Sep 17 00:00:00 2001 From: lizhixin <61769459@qq.com> Date: Sat, 27 Aug 2016 18:34:07 +0800 Subject: [PATCH 25/39] =?UTF-8?q?merge=E9=94=99=E8=AF=AF=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E7=94=9F=E6=88=90=E4=BA=86...?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- feed.xml | 43 ----------------- index.html | 133 +---------------------------------------------------- 2 files changed, 1 insertion(+), 175 deletions(-) diff --git a/feed.xml b/feed.xml index 9977c0a..a6628bd 100644 --- a/feed.xml +++ b/feed.xml @@ -1,4 +1,3 @@ -<<<<<<< HEAD --- layout: null --- @@ -27,47 +26,5 @@ layout: null {% endfor %} {% endfor %} -======= - - - - Minuux - Write an awesome description for your new site here. You can edit this line in _config.yml. It will appear in your document head meta (for Google search results) and in your feed.xml site description. - - http://yourdomain.com/ - - Thu, 26 May 2016 05:07:43 +0000 - Thu, 26 May 2016 05:07:43 +0000 - Jekyll v3.1.6 - - - Welcome to Jekyll! - <p>You’ll find this post in your <code class="highlighter-rouge">_posts</code> directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run <code class="highlighter-rouge">jekyll serve</code>, which launches a web server and auto-regenerates your site when a file is updated.</p> - -<p>To add new posts, simply add a file in the <code class="highlighter-rouge">_posts</code> directory that follows the convention <code class="highlighter-rouge">YYYY-MM-DD-name-of-post.ext</code> and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works.</p> - -<p>Jekyll also offers powerful support for code snippets:</p> - -<figure class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="k">def</span> <span class="nf">print_hi</span><span class="p">(</span><span class="nb">name</span><span class="p">)</span> - <span class="nb">puts</span> <span class="s2">"Hi, </span><span class="si">#{</span><span class="nb">name</span><span class="si">}</span><span class="s2">"</span> -<span class="k">end</span> -<span class="n">print_hi</span><span class="p">(</span><span class="s1">'Tom'</span><span class="p">)</span> -<span class="c1">#=&gt; prints 'Hi, Tom' to STDOUT.</span></code></pre></figure> - -<p>Check out the <a href="http://jekyllrb.com/docs/home">Jekyll docs</a> for more info on how to get the most out of Jekyll. File all bugs/feature requests at <a href="https://github.com/jekyll/jekyll">Jekyll’s GitHub repo</a>. If you have questions, you can ask them on <a href="https://talk.jekyllrb.com/">Jekyll Talk</a>.</p> - - - Wed, 25 May 2016 06:59:04 +0000 - http://yourdomain.com/jekyll/update/2016/05/25/welcome-to-jekyll.html - http://yourdomain.com/jekyll/update/2016/05/25/welcome-to-jekyll.html - - - jekyll - - update - - - ->>>>>>> gh-pages diff --git a/index.html b/index.html index 75d2c92..b9dd536 100644 --- a/index.html +++ b/index.html @@ -1,4 +1,3 @@ -<<<<<<< HEAD --- layout: default --- @@ -16,134 +15,4 @@ {% endfor %} - -======= - - - - - - - - - Minuux - - - - - - - - - - - - - -
-
-
- -

Posts

- - - -

subscribe via RSS

- -
- -
-
- -
- -
- - - - - -
- -
- - - - - ->>>>>>> gh-pages + \ No newline at end of file From f9770a7692ea062dffb6fd862425d1bae2ddf1b5 Mon Sep 17 00:00:00 2001 From: lizhixin <61769459@qq.com> Date: Wed, 31 Aug 2016 22:35:54 +0800 Subject: [PATCH 26/39] add Ubuntu php connect sqlserver --- .gitignore | 2 + ...2016-08-31-Ubuntu-php-connect-sqlserver.md | 52 +++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 _posts/2016-08-31-Ubuntu-php-connect-sqlserver.md diff --git a/.gitignore b/.gitignore index badbc02..7593a0f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ _site .sass-cache + +.DS_Store diff --git a/_posts/2016-08-31-Ubuntu-php-connect-sqlserver.md b/_posts/2016-08-31-Ubuntu-php-connect-sqlserver.md new file mode 100644 index 0000000..c7eff1c --- /dev/null +++ b/_posts/2016-08-31-Ubuntu-php-connect-sqlserver.md @@ -0,0 +1,52 @@ +--- +layout: post +title: "Ubuntu php connect sqlserver" +date: 2016-08-31 +categories: notes +--- + +## 安装freetds + + +``` +apt-get install php5-sybase freetds-common tdsodbc libsybdb5 + +``` + +## 配置freetds +编辑 /etc/freetds/freetds.conf, + +``` +[global] + tds version = 8.0 + client charset = UTF-8 + +``` + +## codeigniter + +使用codeigniter连接的时候,也许需要修改下 **codeigniter/system/database/drivers/mssql/mssql_driver.php**中的_version函数 +。 +,如果不设置返回结果的类型(比如varchar),也许会报错。 + +``` +A PHP Error was encountered + +Severity: Warning + +Message: mssql_query(): column 1 has unknown data type (98) + +Filename: mssql/mssql_driver.php + +Line Number: 178 + +``` +调整函数为: + +``` +protected function _version() + { + return "SELECT left(cast(serverproperty('productversion') as varchar), 4) AS ver"; + } + +``` \ No newline at end of file From a7172623ee93fff7cacf5e71671b81728b29beaf Mon Sep 17 00:00:00 2001 From: lizhixin <61769459@qq.com> Date: Thu, 8 Sep 2016 23:01:55 +0800 Subject: [PATCH 27/39] add linked server usage --- ...2016-08-31-Ubuntu-php-connect-sqlserver.md | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/_posts/2016-08-31-Ubuntu-php-connect-sqlserver.md b/_posts/2016-08-31-Ubuntu-php-connect-sqlserver.md index c7eff1c..b2898bc 100644 --- a/_posts/2016-08-31-Ubuntu-php-connect-sqlserver.md +++ b/_posts/2016-08-31-Ubuntu-php-connect-sqlserver.md @@ -49,4 +49,32 @@ protected function _version() return "SELECT left(cast(serverproperty('productversion') as varchar), 4) AS ver"; } -``` \ No newline at end of file +``` + +## 使用链接服务器 + +如果链接sqlserver后,使用了链接服务器就需要设置参数,否则会提示错误 + +**Error: Heterogeneous queries require the ANSI_NULLS and ANSI_WARNINGS options to be set for the connection** + +在每次执行前需要设置以下参数。 + +``` +SET ANSI_NULLS ON ; +SET ANSI_WARNINGS ON; + +``` +如果需要在codeigniter中使用,需要修改mssql_driver.php,修改 function db_connect(),增加执行的sql语句 + +``` + +$this->simple_query("SET ANSI_NULLS ON ;SET ANSI_WARNINGS ON;"); +$query = $this->query('SELECT CASE WHEN (@@OPTIONS | 256) = @@OPTIONS THEN 1 ELSE 0 END AS qi'); + +``` + +## 最后 + +如果你使用docker,可以使用[https://github.com/ngineered/nginx-php-fpm](https://github.com/ngineered/nginx-php-fpm), +在dockerfile中增加 **php5-mssql** 就可以正常使用了!!! + From 4f40babc51e1ce142c767aa129fb7ec4f689c7f8 Mon Sep 17 00:00:00 2001 From: lizhixin <61769459@qq.com> Date: Mon, 19 Sep 2016 00:40:01 +0800 Subject: [PATCH 28/39] add draft --- _posts/draft.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 _posts/draft.md diff --git a/_posts/draft.md b/_posts/draft.md new file mode 100644 index 0000000..5122d2a --- /dev/null +++ b/_posts/draft.md @@ -0,0 +1,5 @@ +通过代码下载链接,用百度离线下载,在未和谐前 + +``` +magnet:?xt=urn:btih:D7A8F1D6A3606C14C2C3245EF5EDA544610B6CB4 +``` From c5b067e35d204d21b51879c2afeda9f8c0417d7d Mon Sep 17 00:00:00 2001 From: lizhixin <61769459@qq.com> Date: Mon, 19 Sep 2016 13:39:55 +0800 Subject: [PATCH 29/39] add gitignore --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 7593a0f..8931490 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ _site .sass-cache - +run.docker .DS_Store From b803adf86a187ff674b8085abc132c09f279b2bd Mon Sep 17 00:00:00 2001 From: li <61769459@qq.com> Date: Fri, 21 Oct 2016 16:14:07 +0800 Subject: [PATCH 30/39] Create rsync.md --- _posts/rsync.md | 61 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 _posts/rsync.md diff --git a/_posts/rsync.md b/_posts/rsync.md new file mode 100644 index 0000000..2bc5177 --- /dev/null +++ b/_posts/rsync.md @@ -0,0 +1,61 @@ +# cygwin 部署 rsync + +在windows下备份手机相册,通过简单的 [手机APP](https://itunes.apple.com/cn/app/zhao-pian-shi-pin-bei-fen/id945026388) 直接备份,可以每次备份不重复。 +这个APP支持linux,mac。但windows需要通过cygwin部署才行 + +## 安装cygwin + 下载cygwin后安装rsync,反正我选择后就可以了,或许还需要安装ssh + +## 配置rsync + +``` +# 写入之后需要使用到的rsync密码文件,文件名可以选择自己喜欢的名称,和配置文件中一致即可 +# echo "minuux:123456" >> /etc/rsync_server.passwd + +use chroot = false +strict modes = false +lock file = rsyncd.lock +hosts allow = * +max connections = 5 +# 设置端口后,便于client配置 +port = 28953 +pid file = /var/run/rsyncd.pid +# use cygwin in windows,so set windows's user +# windows登录的用户名称是Administrator,所以cygwin中也有该用户,用该用户的uid +uid = Administrator +gid = None +# 设置日志文件路径 +log file = /cygdrive/g/rsync/rsyncd.log + +# Module definitions +# Remember cygwin naming conventions : c:\work becomes /cygdrive/c/work +# 设置模块,便于client链接的时候选择,类似于alias,客户端连接的时候可以设置为home/other,将会备份在/cygdrive/g/myhome/photos/other +[home] +path = /cygdrive/g/myhome/photos +auth users = minuux +secrets file =/etc/rsync_server.passwd +read only = no +list = yes +transfer logging = yes + + +``` + +## 启动rsync + +``` +rsync --daemon +``` +查看rsync运行情况,如果存在rsync.pid类似的名称就说明已经启动了 + +``` +cd /var/run +ls +``` + +## 其他 +有的时候会出现备份完成后,从windows访问已备份的文件夹,结果发现没有权限。。。,需要到cygwin下为该目录使用 chmod授权,如果只是自己备份可以执行 +``` +chmod 644 文件夹名称 +``` +为什么是644?请点击:https://www.v2ex.com/t/299246#reply70 From 1df4433f54f00b454ecea710f60ea97833ec9e5b Mon Sep 17 00:00:00 2001 From: li <61769459@qq.com> Date: Fri, 21 Oct 2016 16:16:23 +0800 Subject: [PATCH 31/39] Update rsync.md --- _posts/rsync.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/rsync.md b/_posts/rsync.md index 2bc5177..3d27dac 100644 --- a/_posts/rsync.md +++ b/_posts/rsync.md @@ -7,7 +7,7 @@ 下载cygwin后安装rsync,反正我选择后就可以了,或许还需要安装ssh ## 配置rsync - +gist:[rsyncd.conf](https://gist.github.com/minuux/02e28a90d87a58db3492c548b2200e55) ``` # 写入之后需要使用到的rsync密码文件,文件名可以选择自己喜欢的名称,和配置文件中一致即可 # echo "minuux:123456" >> /etc/rsync_server.passwd From 3f06bcbb5b5bd5e496957c089e2eef3e61df2a3a Mon Sep 17 00:00:00 2001 From: li <61769459@qq.com> Date: Fri, 21 Oct 2016 16:48:03 +0800 Subject: [PATCH 32/39] Update and rename rsync.md to 2016-10-21-rsync.md --- _posts/{rsync.md => 2016-10-21-rsync.md} | 7 +++++++ 1 file changed, 7 insertions(+) rename _posts/{rsync.md => 2016-10-21-rsync.md} (95%) diff --git a/_posts/rsync.md b/_posts/2016-10-21-rsync.md similarity index 95% rename from _posts/rsync.md rename to _posts/2016-10-21-rsync.md index 3d27dac..0c999e0 100644 --- a/_posts/rsync.md +++ b/_posts/2016-10-21-rsync.md @@ -1,3 +1,10 @@ +--- +layout: post +title: "rsync" +date: 2016-10-21 16:26:31 +0000 +categories: notes +--- + # cygwin 部署 rsync 在windows下备份手机相册,通过简单的 [手机APP](https://itunes.apple.com/cn/app/zhao-pian-shi-pin-bei-fen/id945026388) 直接备份,可以每次备份不重复。 From 20adf8ea97930ae2da73fe7889588269d380229e Mon Sep 17 00:00:00 2001 From: li <61769459@qq.com> Date: Fri, 21 Oct 2016 16:49:01 +0800 Subject: [PATCH 33/39] Update and rename 2016-10-21-rsync.md to 2016-10-21-cygwin-rsync.md --- _posts/{2016-10-21-rsync.md => 2016-10-21-cygwin-rsync.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename _posts/{2016-10-21-rsync.md => 2016-10-21-cygwin-rsync.md} (98%) diff --git a/_posts/2016-10-21-rsync.md b/_posts/2016-10-21-cygwin-rsync.md similarity index 98% rename from _posts/2016-10-21-rsync.md rename to _posts/2016-10-21-cygwin-rsync.md index 0c999e0..894daac 100644 --- a/_posts/2016-10-21-rsync.md +++ b/_posts/2016-10-21-cygwin-rsync.md @@ -1,6 +1,6 @@ --- layout: post -title: "rsync" +title: "cygwin 部署 rsync" date: 2016-10-21 16:26:31 +0000 categories: notes --- From ad5a822897de1cc181bae49096f63c9e74a0b0c4 Mon Sep 17 00:00:00 2001 From: li <61769459@qq.com> Date: Fri, 21 Oct 2016 16:49:49 +0800 Subject: [PATCH 34/39] Update 2016-10-21-cygwin-rsync.md --- _posts/2016-10-21-cygwin-rsync.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/_posts/2016-10-21-cygwin-rsync.md b/_posts/2016-10-21-cygwin-rsync.md index 894daac..b0140b2 100644 --- a/_posts/2016-10-21-cygwin-rsync.md +++ b/_posts/2016-10-21-cygwin-rsync.md @@ -15,6 +15,8 @@ categories: notes ## 配置rsync gist:[rsyncd.conf](https://gist.github.com/minuux/02e28a90d87a58db3492c548b2200e55) + + ``` # 写入之后需要使用到的rsync密码文件,文件名可以选择自己喜欢的名称,和配置文件中一致即可 # echo "minuux:123456" >> /etc/rsync_server.passwd @@ -45,9 +47,9 @@ read only = no list = yes transfer logging = yes - ``` + ## 启动rsync ``` From 78d713d257c767cc15595a44575fa7fc5fe6a45d Mon Sep 17 00:00:00 2001 From: li <61769459@qq.com> Date: Fri, 21 Oct 2016 17:40:54 +0800 Subject: [PATCH 35/39] Update 2016-10-21-cygwin-rsync.md --- _posts/2016-10-21-cygwin-rsync.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_posts/2016-10-21-cygwin-rsync.md b/_posts/2016-10-21-cygwin-rsync.md index b0140b2..35e2c4d 100644 --- a/_posts/2016-10-21-cygwin-rsync.md +++ b/_posts/2016-10-21-cygwin-rsync.md @@ -64,7 +64,9 @@ ls ## 其他 有的时候会出现备份完成后,从windows访问已备份的文件夹,结果发现没有权限。。。,需要到cygwin下为该目录使用 chmod授权,如果只是自己备份可以执行 + ``` chmod 644 文件夹名称 ``` + 为什么是644?请点击:https://www.v2ex.com/t/299246#reply70 From 99cb7baa5d8fa8179fdb364d5e1db04b9b77492d Mon Sep 17 00:00:00 2001 From: minuux <61769459@qq.com> Date: Sun, 11 Dec 2016 20:55:04 +0800 Subject: [PATCH 36/39] Add Synology --- _posts/2016-12-11-synology.md | 21 +++++++++++++++++++++ _posts/draft.md | 4 ++++ 2 files changed, 25 insertions(+) create mode 100644 _posts/2016-12-11-synology.md diff --git a/_posts/2016-12-11-synology.md b/_posts/2016-12-11-synology.md new file mode 100644 index 0000000..545b254 --- /dev/null +++ b/_posts/2016-12-11-synology.md @@ -0,0 +1,21 @@ +--- +layout: post +title: "synology" +date: 2016-12-11 08:26:31 +0000 +categories: notes +--- + + +## 在群晖下设置新的photo目录 +使用ln来创建软链接也是不行的 +``` +mount --bind /volumeUSB1/usbshare/synology/photo /volume1/photo + +``` + +## photo station数据库位置 + +``` +/volume1/@database/pgsql + +``` \ No newline at end of file diff --git a/_posts/draft.md b/_posts/draft.md index 5122d2a..cb66782 100644 --- a/_posts/draft.md +++ b/_posts/draft.md @@ -3,3 +3,7 @@ ``` magnet:?xt=urn:btih:D7A8F1D6A3606C14C2C3245EF5EDA544610B6CB4 ``` + +获取群晖的序列号 + +http://www.xpenology.com/forum/viewtopic.php?f=15&t=1353 From a585234046e999198ddad4c5768c904598457c2a Mon Sep 17 00:00:00 2001 From: minuux <61769459@qq.com> Date: Sun, 11 Dec 2016 21:00:17 +0800 Subject: [PATCH 37/39] fix --- _posts/2016-12-11-synology.md | 1 + 1 file changed, 1 insertion(+) diff --git a/_posts/2016-12-11-synology.md b/_posts/2016-12-11-synology.md index 545b254..db41e7f 100644 --- a/_posts/2016-12-11-synology.md +++ b/_posts/2016-12-11-synology.md @@ -8,6 +8,7 @@ categories: notes ## 在群晖下设置新的photo目录 使用ln来创建软链接也是不行的 + ``` mount --bind /volumeUSB1/usbshare/synology/photo /volume1/photo From 7e1f130c5b24bfded9074d846630bcadba031e43 Mon Sep 17 00:00:00 2001 From: minuux <61769459@qq.com> Date: Sun, 21 May 2017 01:19:55 +0800 Subject: [PATCH 38/39] Add merlin-xiaobao --- _posts/2017-05-21-merlin-xiaobao.md | 44 +++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 _posts/2017-05-21-merlin-xiaobao.md diff --git a/_posts/2017-05-21-merlin-xiaobao.md b/_posts/2017-05-21-merlin-xiaobao.md new file mode 100644 index 0000000..086ce49 --- /dev/null +++ b/_posts/2017-05-21-merlin-xiaobao.md @@ -0,0 +1,44 @@ +--- +layout: post +title: "梅林小宝-ddnspod" +date: 2017-05-21 00:08:31 +categories: notes +--- + + +## 为子域名*设置动态ip + +安装好梅林小宝固件后,在soft center中可以安装ddnspod,通过脚本来更新域名ip。 +但是,我需要设置的子域名是 *.test.com,直接保存后,提示 record line invailid。 +参考 ,将脚本保存为utf-8格式,设置后的确可以保存成功,但是我在dnspod中设置的*子域名就变成了@前缀了 + +所以最后只能通过修改梅林小宝固件中的文件来处理了(梅林小宝版本:380.63_X7.2) + +复制文件到本地 + + +``` + scp -r admin@router.asus.com:/jffs/.koolshare/init.d/S99ddnspod.sh . +``` + + +修改文件 + + +``` +parseDomain() { + mainDomain=${ddnspod_config_domain#*.} + local tmp=${ddnspod_config_domain%$mainDomain} + #subDomain=${tmp%.} + subDomain="*" +} +``` + +将文件修改后复制到路由器 + + +``` + scp -r S99ddnspod.sh admin@router.asus.com:/jffs/.koolshare/init.d/ +``` + + From 1fd9165249f916de6d859bcf78edd6c9594f0266 Mon Sep 17 00:00:00 2001 From: minuux <61769459@qq.com> Date: Sun, 21 May 2017 01:23:13 +0800 Subject: [PATCH 39/39] =?UTF-8?q?=E9=81=BF=E5=85=8D*=E5=8F=B7=E8=A2=AB?= =?UTF-8?q?=E8=A7=A3=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _posts/2017-05-21-merlin-xiaobao.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2017-05-21-merlin-xiaobao.md b/_posts/2017-05-21-merlin-xiaobao.md index 086ce49..bd8c6de 100644 --- a/_posts/2017-05-21-merlin-xiaobao.md +++ b/_posts/2017-05-21-merlin-xiaobao.md @@ -9,8 +9,8 @@ categories: notes ## 为子域名*设置动态ip 安装好梅林小宝固件后,在soft center中可以安装ddnspod,通过脚本来更新域名ip。 -但是,我需要设置的子域名是 *.test.com,直接保存后,提示 record line invailid。 -参考 ,将脚本保存为utf-8格式,设置后的确可以保存成功,但是我在dnspod中设置的*子域名就变成了@前缀了 +但是,我需要设置的子域名是 \*.test.com,直接保存后,提示 record line invailid。 +参考 ,将脚本保存为utf-8格式,设置后的确可以保存成功,但是我在dnspod中设置的\*子域名就变成了@前缀了 所以最后只能通过修改梅林小宝固件中的文件来处理了(梅林小宝版本:380.63_X7.2)