diff options
| author | ruki <waruqi@gmail.com> | 2018-11-08 00:38:48 +0800 |
|---|---|---|
| committer | ruki <waruqi@gmail.com> | 2018-11-07 21:53:09 +0800 |
| commit | 26105034da4fcce7ac883c899d781f016559310d (patch) | |
| tree | c459a5dc4e3aa0972d9919033ece511ce76dd129 /node_modules/vuepress | |
| parent | 2c77f00f1a7ecb6c8192f9c16d3b2001b254a107 (diff) | |
| download | xmake-docs-26105034da4fcce7ac883c899d781f016559310d.tar.gz xmake-docs-26105034da4fcce7ac883c899d781f016559310d.zip | |
switch to vuepress
Diffstat (limited to 'node_modules/vuepress')
830 files changed, 11005 insertions, 0 deletions
diff --git a/node_modules/vuepress/.bin/vuepress b/node_modules/vuepress/.bin/vuepress new file mode 120000 index 00000000..aeb6d92f --- /dev/null +++ b/node_modules/vuepress/.bin/vuepress @@ -0,0 +1 @@ +../bin/vuepress.js
\ No newline at end of file diff --git a/node_modules/vuepress/.editorconfig b/node_modules/vuepress/.editorconfig new file mode 100644 index 00000000..9d08a1a8 --- /dev/null +++ b/node_modules/vuepress/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/node_modules/vuepress/CHANGELOG.md b/node_modules/vuepress/CHANGELOG.md new file mode 100644 index 00000000..92e86b04 --- /dev/null +++ b/node_modules/vuepress/CHANGELOG.md @@ -0,0 +1,607 @@ +<a name="0.14.4"></a> +## [0.14.4](https://github.com/vuejs/vuepress/compare/v0.14.3...v0.14.4) (2018-09-15) + + +### Bug Fixes + +* missing config.base in google analytics page view URL (close: [#818](https://github.com/vuejs/vuepress/issues/818)) ([#834](https://github.com/vuejs/vuepress/issues/834)) ([559888b](https://github.com/vuejs/vuepress/commit/559888b)) +* **$markdown:** sidebar headers not being detected (close: [#841](https://github.com/vuejs/vuepress/issues/841)) ([181c1e5](https://github.com/vuejs/vuepress/commit/181c1e5)) + + + +<a name="0.14.3"></a> +## [0.14.3](https://github.com/vuejs/vuepress/compare/v0.14.2...v0.14.3) (2018-09-13) + + +### Bug Fixes + +* **$build:** do not pick "babel.config.js" at user-land (close: [#797](https://github.com/vuejs/vuepress/issues/797)) ([48be61b](https://github.com/vuejs/vuepress/commit/48be61b)) + + + +<a name="0.14.2"></a> +## [0.14.2](https://github.com/vuejs/vuepress/compare/v0.14.1...v0.14.2) (2018-08-14) + + +### Bug Fixes + +* SW-update popup only shows up on first page reload (close: [#677](https://github.com/vuejs/vuepress/issues/677)) ([6d8f813](https://github.com/vuejs/vuepress/commit/6d8f813)) + + +<a name="0.14.1"></a> +## [0.14.1](https://github.com/vuejs/vuepress/compare/v0.14.0...v0.14.1) (2018-08-09) + + +### Bug Fixes + +* **$default-theme:** default search box line wrap ([03c812b](https://github.com/vuejs/vuepress/commit/03c812b)) +* **$default-theme:** navbar's regression - siteName null check ([02a4713](https://github.com/vuejs/vuepress/commit/02a4713)) + + + +<a name="0.14.0"></a> +# [0.14.0](https://github.com/vuejs/vuepress/compare/v0.13.1...v0.14.0) (2018-08-08) + + +### Bug Fixes + +* **$default-theme:** algolia search doesn't work well at i18n mode ([e8a6ab1](https://github.com/vuejs/vuepress/commit/e8a6ab1)) +* **$default-theme:** navbar's messy layout at narrow screen ([#714](https://github.com/vuejs/vuepress/issues/714)) ([3e1da57](https://github.com/vuejs/vuepress/commit/3e1da57)) +* **$default-theme:** set alias "collapsible" to "collapsable" (close: [#705](https://github.com/vuejs/vuepress/issues/705)) ([#706](https://github.com/vuejs/vuepress/issues/706)) ([ad66fa8](https://github.com/vuejs/vuepress/commit/ad66fa8)) +* **$build:** skip format data.head if not exist while loading toml config ([#707](https://github.com/vuejs/vuepress/issues/707)) ([bb48a77](https://github.com/vuejs/vuepress/commit/bb48a77)) + + +### Features + +* **core:** support writing HTML(Vue) anywhere in the header. ([#711](https://github.com/vuejs/vuepress/issues/711)) ([885496e](https://github.com/vuejs/vuepress/commit/885496e)) +* **$webpack:** display host url at dev HMR log ([2e8d69c](https://github.com/vuejs/vuepress/commit/2e8d69c)) + + + +<a name="0.13.1"></a> +## [0.13.1](https://github.com/vuejs/vuepress/compare/v0.13.0...v0.13.1) (2018-08-01) + + +### Bug Fixes + +* **core:** normalize override file path in windows ([#692](https://github.com/vuejs/vuepress/issues/692)) (close: [#642](https://github.com/vuejs/vuepress/issues/642)) ([9537c2c](https://github.com/vuejs/vuepress/commit/9537c2c)) +* **$default-theme:** `py` lang label doesn't display in code block ([#690](https://github.com/vuejs/vuepress/issues/690)) ([88b65cc](https://github.com/vuejs/vuepress/commit/88b65cc)) + + + +<a name="0.13.0"></a> +# [0.13.0](https://github.com/vuejs/vuepress/compare/v0.12.0...v0.13.0) (2018-07-28) + + +### Bug Fixes + +* **$seo:** Avoid duplicate `description meta` at runtime. (close: [#665](https://github.com/vuejs/vuepress/issues/665)) ([b207a5f](https://github.com/vuejs/vuepress/commit/b207a5f)) +* **$default-theme:** Scoped styles of `Badge` component (close: [#653](https://github.com/vuejs/vuepress/issues/653)) ([#657](https://github.com/vuejs/vuepress/issues/657)) ([9b602f2](https://github.com/vuejs/vuepress/commit/9b602f2)) +* **$build:** set `babelrc: false` in babel-loader options ([#644](https://github.com/vuejs/vuepress/issues/644)) ([c500201](https://github.com/vuejs/vuepress/commit/c500201)) ([@posva](https://github.com/posva)) +* **$build:** exclude dest folder from pageFiles (close: [#654](https://github.com/vuejs/vuepress/issues/654)) ([#655](https://github.com/vuejs/vuepress/issues/655)) ([c1fe692](https://github.com/vuejs/vuepress/commit/c1fe692)) +* **$build:** markdown config should be included in `cache-loader` identifier ([0ad1a45](https://github.com/vuejs/vuepress/commit/0ad1a45)) +* **$markdown:** cannot highlight external python file (`.py`) correctly (close: [#660](https://github.com/vuejs/vuepress/issues/660)) ([2a33075](https://github.com/vuejs/vuepress/commit/2a33075)) +* **$markdown:** missing space between `italics` and `bold` (close: [#661](https://github.com/vuejs/vuepress/issues/661)) ([7730ee1](https://github.com/vuejs/vuepress/commit/7730ee1)) + 1. `markdown-it` compiler will intendedly reserve this space between some inline elements, but `preserveWhitespace: false` will remove them. (Ref: [vue-template-compiler#options](https://github.com/vuejs/vue/tree/dev/packages/vue-template-compiler#options)) + 2. **Performance Impact**: Size of whole assets of vuepress documentation: + - Before (1952 kb) + - After (1960 kb) + +### Features + +* **$cli:** debug flag at dev mode ([231da6a](https://github.com/vuejs/vuepress/commit/231da6a)) +* **$default-theme:** transform `Badge` into async component ([de9a51b](https://github.com/vuejs/vuepress/commit/de9a51b)) +* **$default-theme**(**$pwa**): `themeConfig.serviceWorker.updatePopup` option (close: [#453](https://github.com/vuejs/vuepress/issues/453)) ([#533](https://github.com/vuejs/vuepress/issues/533)) ([14dbd1e](https://github.com/vuejs/vuepress/commit/14dbd1e)) ([@mysticatea](https://github.com/mysticatea)) + ``` js + module.exports = { + themeConfig: { + serviceWorker: { + updatePopup: true + } + } + } + ``` + + + +<a name="0.12.0"></a> +# [0.12.0](https://github.com/vuejs/vuepress/compare/v0.11.0...v0.12.0) (2018-07-12) + + +### Bug Fixes + +* **$build** npm audit vulnerability (close: [#493](https://github.com/vuejs/vuepress/issues/493))([#641](https://github.com/vuejs/vuepress/issues/641)) ([8dde5d8](https://github.com/vuejs/vuepress/commit/8dde5d8)) +* **$markdown**: wrong sidebar slugs and anchor link at content (close: [#645](https://github.com/vuejs/vuepress/issues/645)) ([c2eaff3](https://github.com/vuejs/vuepress/commit/c2eaff3)) + + +### Features + +* **$core:**: version data layer ([0c5b752](https://github.com/vuejs/vuepress/commit/0c5b752)) +* **$default-theme:** new file-level API: `style.styl`. ([2f53f2f](https://github.com/vuejs/vuepress/commit/2f53f2f)) + 1. Fixed overriding css variable doesn't work at `0.11.0` (close: [#639](https://github.com/vuejs/vuepress/issues/639)) + 2. Split `override.styl` into two APIs: `override.styl` and `style.styl`, the former will focus on ONLY the stylus constants override, while the latter will focus on styles override or custom styles. See also: https://vuepress.vuejs.org/default-theme-config/#simple-css-override. + + +<a name="0.11.0"></a> +# [0.11.0](https://github.com/vuejs/vuepress/compare/v0.10.2...v0.11.0) (2018-07-08) + + +### Bug Fixes + +* **$default-theme:** indent-styled code is invisible (close: [#609](https://github.com/vuejs/vuepress/issues/609)) ([fd46a26](https://github.com/vuejs/vuepress/commit/fd46a26)) +* **$default-theme:** cannot get sidebar when sidebar config contains non-ASCII chars. (close: [#628](https://github.com/vuejs/vuepress/issues/628)) ([8837e7a](https://github.com/vuejs/vuepress/commit/8837e7a)) +* **$core:** override style issues (close: [#637](https://github.com/vuejs/vuepress/issues/637)) ([#638](https://github.com/vuejs/vuepress/issues/638)) ([f998802](https://github.com/vuejs/vuepress/commit/f998802)) + 1. Duplicated generated `override style`. + 2. Unexpected style order, `override style` should be at the end of the extracted style bundle. (ref: [mini-css-extract-plugin#130](https://github.com/webpack-contrib/mini-css-extract-plugin#130)) + +### Features + +* **$default-theme:** page top slot ([f4c1059](https://github.com/vuejs/vuepress/commit/f4c1059)) +* **$build:** set exitCode to non-zero when catching error (close: [#598](https://github.com/vuejs/vuepress/issues/598) & [#570](https://github.com/vuejs/vuepress/issues/570)) ([#615](https://github.com/vuejs/vuepress/issues/615)) ([0907c7e](https://github.com/vuejs/vuepress/commit/0907c7e)) +* **$default-theme:** support display header links of all pages (close [#534](https://github.com/vuejs/vuepress/issues/534)) ([#595](https://github.com/vuejs/vuepress/issues/595)) ([36bb6a4](https://github.com/vuejs/vuepress/commit/36bb6a4)) + + + +<a name="0.10.2"></a> +## [0.10.2](https://github.com/vuejs/vuepress/compare/v0.10.1...v0.10.2) (2018-06-20) + + +### Bug Fixes + +* build cannot exit (close: [#580](https://github.com/vuejs/vuepress/issues/580)) ([fa473a7](https://github.com/vuejs/vuepress/commit/fa473a7)) +* duplicate description meta (close: [#565](https://github.com/vuejs/vuepress/issues/565)) ([de35315](https://github.com/vuejs/vuepress/commit/de35315)) +* edit page from Bitbucket ([#569](https://github.com/vuejs/vuepress/issues/569)) ([5479d6e](https://github.com/vuejs/vuepress/commit/5479d6e)) +* multiple markdown tokens in header text ([#564](https://github.com/vuejs/vuepress/issues/564)) ([ec330f0](https://github.com/vuejs/vuepress/commit/ec330f0)) +* setting HMR port (close: [#582](https://github.com/vuejs/vuepress/issues/582)) ([#586](https://github.com/vuejs/vuepress/issues/586)) ([64bb80d](https://github.com/vuejs/vuepress/commit/64bb80d)) + + +### Features + +* refine Badge's API ([d68199d](https://github.com/vuejs/vuepress/commit/d68199d)) + + + +<a name="0.10.1"></a> +## [0.10.1](https://github.com/vuejs/vuepress/compare/v0.10.0...v0.10.1) (2018-06-08) + + +### Bug Fixes + +* active side arrow not middle align ([#508](https://github.com/vuejs/vuepress/issues/508)). ([5fcac1b](https://github.com/vuejs/vuepress/commit/5fcac1b)) +* **$default-theme:** code renders language css as c (close: [#527](https://github.com/vuejs/vuepress/issues/527)) ([777c4f1](https://github.com/vuejs/vuepress/commit/777c4f1)) +* **$default-theme:** table tag cannot scroll horizontally (close: [#518](https://github.com/vuejs/vuepress/issues/518)) ([#519](https://github.com/vuejs/vuepress/issues/519)) ([e9cdee7](https://github.com/vuejs/vuepress/commit/e9cdee7)) +* **$dev:** using config.yml/toml doesn't reload changes (close: [#520](https://github.com/vuejs/vuepress/issues/520)) ([6048eb9](https://github.com/vuejs/vuepress/commit/6048eb9)) +* compilation error when chainWebpack's code contains ! (close: [#532](https://github.com/vuejs/vuepress/issues/532)) ([3b5991f](https://github.com/vuejs/vuepress/commit/3b5991f)) +* reserve '*' and '_' when detecting escape char '\' (close: [#544](https://github.com/vuejs/vuepress/issues/544)). ([4503cfc](https://github.com/vuejs/vuepress/commit/4503cfc)) +* search box throw a error with no suggestions ([#510](https://github.com/vuejs/vuepress/issues/510)) ([1186d6a](https://github.com/vuejs/vuepress/commit/1186d6a)) + + +### Features + +* **$seo:** show page title in front of site title ([#522](https://github.com/vuejs/vuepress/issues/522)) ([ffe12b9](https://github.com/vuejs/vuepress/commit/ffe12b9)) +* add support to import files as code fence ([#538](https://github.com/vuejs/vuepress/issues/538)) ([26ecff7](https://github.com/vuejs/vuepress/commit/26ecff7)) +* better log ([#506](https://github.com/vuejs/vuepress/issues/506)) ([d53807e](https://github.com/vuejs/vuepress/commit/d53807e)) +* enable header request Content-Range ([#555](https://github.com/vuejs/vuepress/issues/555)) ([825877c](https://github.com/vuejs/vuepress/commit/825877c)) +* headers badge ([#540](https://github.com/vuejs/vuepress/issues/540)) ([c3696d2](https://github.com/vuejs/vuepress/commit/c3696d2)) +* shouldPrefetch option for bundleRenderer (close: [#463](https://github.com/vuejs/vuepress/issues/463)) ([#514](https://github.com/vuejs/vuepress/issues/514)) ([9cb174d](https://github.com/vuejs/vuepress/commit/9cb174d)) +* support "themeConfig.sidebar: 'auto'" (close: [#552](https://github.com/vuejs/vuepress/issues/552)) ([56cbb5f](https://github.com/vuejs/vuepress/commit/56cbb5f)) +* support generic markdown file path reference ([#509](https://github.com/vuejs/vuepress/issues/509)) ([292e4bc](https://github.com/vuejs/vuepress/commit/292e4bc)) + + + +<a name="0.10.0"></a> +# [0.10.0](https://github.com/vuejs/vuepress/compare/v0.9.1...v0.10.0) (2018-05-25) + + +### Features + +* upgrade to babel 7 + use [@vue](https://github.com/vue)/babel-preset-app ([c43c73d](https://github.com/vuejs/vuepress/commit/c43c73d)) + + + +<a name="0.9.1"></a> +## [0.9.1](https://github.com/vuejs/vuepress/compare/v0.9.0...v0.9.1) (2018-05-25) + + +### Bug Fixes + +* avoid cache error (close [#492](https://github.com/vuejs/vuepress/issues/492)) ([75cdc74](https://github.com/vuejs/vuepress/commit/75cdc74)) +* fix config reload cache busting ([90f9689](https://github.com/vuejs/vuepress/commit/90f9689)) +* lastUpdated looks bad when editLinks is false. ([11b1830](https://github.com/vuejs/vuepress/commit/11b1830)) +* wrong OutboundLink insertion position (close: [#496](https://github.com/vuejs/vuepress/issues/496)) ([af96f28](https://github.com/vuejs/vuepress/commit/af96f28)) + + +### Features + +* allow for disabling of active hash on scroll ([#489](https://github.com/vuejs/vuepress/issues/489)) ([4c09627](https://github.com/vuejs/vuepress/commit/4c09627)) +* support filename that contains non-ASCII and unicode chars ([#473](https://github.com/vuejs/vuepress/issues/473)) ([566e681](https://github.com/vuejs/vuepress/commit/566e681)) + + + +<a name="0.9.0"></a> +# [0.9.0](https://github.com/vuejs/vuepress/compare/v0.8.4...v0.9.0) (2018-05-22) + + +### Bug Fixes + +* $page is missing at 404 page ([#388](https://github.com/vuejs/vuepress/issues/388)) ([cefc8c3](https://github.com/vuejs/vuepress/commit/cefc8c3)) +* avoid the searchbox exceeded out of screen in narrow screen ([#254](https://github.com/vuejs/vuepress/issues/254)) ([8f04081](https://github.com/vuejs/vuepress/commit/8f04081)) +* code looks not good at small sreen (close: [#350](https://github.com/vuejs/vuepress/issues/350)) ([6514c8f](https://github.com/vuejs/vuepress/commit/6514c8f)) +* code looks not good at small sreen (close: [#350](https://github.com/vuejs/vuepress/issues/350)) ([d0ef06f](https://github.com/vuejs/vuepress/commit/d0ef06f)) +* dropdown overlap due to word wrapping (close: [#359](https://github.com/vuejs/vuepress/issues/359)) ([#360](https://github.com/vuejs/vuepress/issues/360)) ([c65a8b7](https://github.com/vuejs/vuepress/commit/c65a8b7)) +* duplicate slash when docs dir is not set ([#361](https://github.com/vuejs/vuepress/issues/361)) ([0c59ed5](https://github.com/vuejs/vuepress/commit/0c59ed5)) +* emoji doesn't work in toc (close: [#417](https://github.com/vuejs/vuepress/issues/417)) ([#418](https://github.com/vuejs/vuepress/issues/418)) ([1b9012e](https://github.com/vuejs/vuepress/commit/1b9012e)) +* ensure `<script>` blocks in SFCs in node_modules are transpiled ([4bf56d7](https://github.com/vuejs/vuepress/commit/4bf56d7)) +* glob patterns error on windows (close: [#348](https://github.com/vuejs/vuepress/issues/348)) ([#400](https://github.com/vuejs/vuepress/issues/400)) ([ab53998](https://github.com/vuejs/vuepress/commit/ab53998)) +* highlight active link ([#272](https://github.com/vuejs/vuepress/issues/272)) doesn't work with non-EN hash. ([a51a31b](https://github.com/vuejs/vuepress/commit/a51a31b)) +* highlight line issue for empty lines ([bc15841](https://github.com/vuejs/vuepress/commit/bc15841)) +* highlight lines are cut when sliding ([#437](https://github.com/vuejs/vuepress/issues/437)) ([66bd797](https://github.com/vuejs/vuepress/commit/66bd797)) +* image overflow at custom content (close: [#381](https://github.com/vuejs/vuepress/issues/381)) ([#383](https://github.com/vuejs/vuepress/issues/383)) ([145cf4f](https://github.com/vuejs/vuepress/commit/145cf4f)) +* index file judgement bug (close: [#306](https://github.com/vuejs/vuepress/issues/306)) ([#308](https://github.com/vuejs/vuepress/issues/308)) ([fefa16c](https://github.com/vuejs/vuepress/commit/fefa16c)) +* missing css source map at dev environment ([#460](https://github.com/vuejs/vuepress/issues/460)) ([d3025e5](https://github.com/vuejs/vuepress/commit/d3025e5)) +* missing title and desc in 404 and custom theme. ([fcaee80](https://github.com/vuejs/vuepress/commit/fcaee80)) +* nav link highlight issue with i18n (close: [#445](https://github.com/vuejs/vuepress/issues/445)) ([596014f](https://github.com/vuejs/vuepress/commit/596014f)) +* postcss-loader warnings (close: [#278](https://github.com/vuejs/vuepress/issues/278)) ([34c7f99](https://github.com/vuejs/vuepress/commit/34c7f99)) +* potential duplicate iteration keys at dropdown ([#249](https://github.com/vuejs/vuepress/issues/249)) ([1417a35](https://github.com/vuejs/vuepress/commit/1417a35)) +* relative link checking ([31b8feb](https://github.com/vuejs/vuepress/commit/31b8feb)) +* remove style override limitation to custom theme (close: 404) ([#405](https://github.com/vuejs/vuepress/issues/405)) ([69bd59d](https://github.com/vuejs/vuepress/commit/69bd59d)) +* resolve custom theme from global cli (close: [#392](https://github.com/vuejs/vuepress/issues/392)) ([#399](https://github.com/vuejs/vuepress/issues/399)) ([01142df](https://github.com/vuejs/vuepress/commit/01142df)) +* title cannot be number at front matter ([#297](https://github.com/vuejs/vuepress/issues/297)) ([5023d19](https://github.com/vuejs/vuepress/commit/5023d19)) +* unexpected scroll behavior after clicking sidebar links ([#298](https://github.com/vuejs/vuepress/issues/298)) ([6081a3d](https://github.com/vuejs/vuepress/commit/6081a3d)) +* unexpected top blank space when navbar is disable ([#316](https://github.com/vuejs/vuepress/issues/316)) ([2bdc68e](https://github.com/vuejs/vuepress/commit/2bdc68e)) +* unexpected warning when using non-ASCII chars as filename. ([530912e](https://github.com/vuejs/vuepress/commit/530912e)) +* upgrade webpack-serve and avoid port conflict (close [#424](https://github.com/vuejs/vuepress/issues/424)) ([#425](https://github.com/vuejs/vuepress/issues/425)) ([22ffe52](https://github.com/vuejs/vuepress/commit/22ffe52)) +* use v-for with key ([#438](https://github.com/vuejs/vuepress/issues/438)) ([2076f7b](https://github.com/vuejs/vuepress/commit/2076f7b)) + + +### Features + +* bump up webpack to 4.8.1 (close: [#309](https://github.com/vuejs/vuepress/issues/309)) ([9e3f005](https://github.com/vuejs/vuepress/commit/9e3f005)) +* code line numbers (close: [#365](https://github.com/vuejs/vuepress/issues/365)) ([#379](https://github.com/vuejs/vuepress/issues/379)) ([9b42690](https://github.com/vuejs/vuepress/commit/9b42690)) +* generate the timestamp of last updated for each doc (close [#258](https://github.com/vuejs/vuepress/issues/258)) ([#282](https://github.com/vuejs/vuepress/issues/282)) ([d9b290b](https://github.com/vuejs/vuepress/commit/d9b290b)) +* handle telephone links ([#325](https://github.com/vuejs/vuepress/issues/325)) ([087467a](https://github.com/vuejs/vuepress/commit/087467a)) +* header extraction improvement (close: [#238](https://github.com/vuejs/vuepress/issues/238)) ([#271](https://github.com/vuejs/vuepress/issues/271)) ([53c8489](https://github.com/vuejs/vuepress/commit/53c8489)) +* hide edit link by page (close: [#284](https://github.com/vuejs/vuepress/issues/284)) ([#286](https://github.com/vuejs/vuepress/issues/286)) ([d46819c](https://github.com/vuejs/vuepress/commit/d46819c)) +* highlight current region in sidebar ([#272](https://github.com/vuejs/vuepress/issues/272)) ([6b6d268](https://github.com/vuejs/vuepress/commit/6b6d268)) +* last updated UI in default theme. ([#338](https://github.com/vuejs/vuepress/issues/338)) ([272df57](https://github.com/vuejs/vuepress/commit/272df57)) +* make code type insensitive (close: [#347](https://github.com/vuejs/vuepress/issues/347)) ([5e87b65](https://github.com/vuejs/vuepress/commit/5e87b65)) +* show OutboundLink icon for external links ([#428](https://github.com/vuejs/vuepress/issues/428)) ([942a2b9](https://github.com/vuejs/vuepress/commit/942a2b9)) +* support disable navbar globally ([#246](https://github.com/vuejs/vuepress/issues/246)) ([e725ad2](https://github.com/vuejs/vuepress/commit/e725ad2)) +* support global markdown config for attributes of external links ([#358](https://github.com/vuejs/vuepress/issues/358)) ([20e5bd8](https://github.com/vuejs/vuepress/commit/20e5bd8)) +* support render $page.excerpt to HTML (close: [#458](https://github.com/vuejs/vuepress/issues/458)) ([9510b9f](https://github.com/vuejs/vuepress/commit/9510b9f)) +* support style lang postcss (close: [#461](https://github.com/vuejs/vuepress/issues/461)) ([881199a](https://github.com/vuejs/vuepress/commit/881199a)) +* using babel and support JSX in vue. (close: [#318](https://github.com/vuejs/vuepress/issues/318)) ([#336](https://github.com/vuejs/vuepress/issues/336)) ([82cd8bd](https://github.com/vuejs/vuepress/commit/82cd8bd)) + + +### Performance Improvements + +* vastly improve rebuild perf with caching ([dfdc00c](https://github.com/vuejs/vuepress/commit/dfdc00c)) + + + +<a name="0.8.4"></a> +## [0.8.4](https://github.com/vuejs/vuepress/compare/v0.8.3...v0.8.4) (2018-04-24) + + +### Bug Fixes + +* algolia regression - missing options (close [#234](https://github.com/vuejs/vuepress/issues/234)) ([b19bd89](https://github.com/vuejs/vuepress/commit/b19bd89)) + + +### Features + +* support disable navbar via front matter (close: [#187](https://github.com/vuejs/vuepress/issues/187)) ([#232](https://github.com/vuejs/vuepress/issues/232)) ([504268c](https://github.com/vuejs/vuepress/commit/504268c)) + + + +<a name="0.8.3"></a> +## [0.8.3](https://github.com/vuejs/vuepress/compare/v0.8.2...v0.8.3) (2018-04-23) + + +### Bug Fixes + +* always write override.style ([9861deb](https://github.com/vuejs/vuepress/commit/9861deb)) + + + +<a name="0.8.2"></a> +## [0.8.2](https://github.com/vuejs/vuepress/compare/v0.8.1...v0.8.2) (2018-04-23) + + +### Bug Fixes + +* nav-item underline use $accentColor ([#230](https://github.com/vuejs/vuepress/issues/230)) ([ddb590d](https://github.com/vuejs/vuepress/commit/ddb590d)) + + +### Features + +* expose layout slots for injecting custom content ([3814e88](https://github.com/vuejs/vuepress/commit/3814e88)) + + + +<a name="0.8.1"></a> +## [0.8.1](https://github.com/vuejs/vuepress/compare/v0.8.0...v0.8.1) (2018-04-23) + + +### Bug Fixes + +* algolia regression (close [#228](https://github.com/vuejs/vuepress/issues/228)) ([44b1201](https://github.com/vuejs/vuepress/commit/44b1201)) + + + +<a name="0.8.0"></a> +# [0.8.0](https://github.com/vuejs/vuepress/compare/v0.7.1...v0.8.0) (2018-04-23) + + +### Bug Fixes + +* algolia check should be checking themeConfig.algolia ([504c21d](https://github.com/vuejs/vuepress/commit/504c21d)) +* default to localhost on windows (close [#221](https://github.com/vuejs/vuepress/issues/221)) ([4d5c50e](https://github.com/vuejs/vuepress/commit/4d5c50e)) +* fix emoji not showing on sidebars ([#206](https://github.com/vuejs/vuepress/issues/206)) ([bc2c83a](https://github.com/vuejs/vuepress/commit/bc2c83a)) +* fix Sidebar link active logic ([#215](https://github.com/vuejs/vuepress/issues/215)) ([9c93d8f](https://github.com/vuejs/vuepress/commit/9c93d8f)) +* Fix the style of repo link. ([f55fa00](https://github.com/vuejs/vuepress/commit/f55fa00)) +* fix title inferrence regression (close [#208](https://github.com/vuejs/vuepress/issues/208)) ([52c20cf](https://github.com/vuejs/vuepress/commit/52c20cf)) +* renames index.js to enhanceApp.js ([#226](https://github.com/vuejs/vuepress/issues/226)) ([0170449](https://github.com/vuejs/vuepress/commit/0170449)) +* siteTitle vs pageTitle ([cd9b788](https://github.com/vuejs/vuepress/commit/cd9b788)) + + +### Features + +* Add docsRepo ([#155](https://github.com/vuejs/vuepress/issues/155)) ([716aefe](https://github.com/vuejs/vuepress/commit/716aefe)) +* add max search suggestions config ([#163](https://github.com/vuejs/vuepress/issues/163)) ([a16a5b4](https://github.com/vuejs/vuepress/commit/a16a5b4)) +* Algolia DocSearch Integration ([#201](https://github.com/vuejs/vuepress/issues/201)) ([2f0da01](https://github.com/vuejs/vuepress/commit/2f0da01)) +* also expose siteData in enhanceApp.js ([5157c6f](https://github.com/vuejs/vuepress/commit/5157c6f)) +* expose all css pre-processor's options. (close [#169](https://github.com/vuejs/vuepress/issues/169)) ([#178](https://github.com/vuejs/vuepress/issues/178)) ([8f0755a](https://github.com/vuejs/vuepress/commit/8f0755a)) +* support built-in pug config and document using pro-processors at component ([#151](https://github.com/vuejs/vuepress/issues/151)) ([f322105](https://github.com/vuejs/vuepress/commit/f322105)) +* support excerpt extraction with `<!-- more -->` (close [#174](https://github.com/vuejs/vuepress/issues/174)) ([fa404dc](https://github.com/vuejs/vuepress/commit/fa404dc)) +* support for TOML front matter ([#141](https://github.com/vuejs/vuepress/issues/141)) ([#164](https://github.com/vuejs/vuepress/issues/164)) ([70620ba](https://github.com/vuejs/vuepress/commit/70620ba)) +* support toml config ([#138](https://github.com/vuejs/vuepress/issues/138)) ([d136e22](https://github.com/vuejs/vuepress/commit/d136e22)) +* theme index enhancment support ([#154](https://github.com/vuejs/vuepress/issues/154)) ([d026801](https://github.com/vuejs/vuepress/commit/d026801)) + + + +<a name="0.7.1"></a> +## [0.7.1](https://github.com/vuejs/vuepress/compare/v0.7.0...v0.7.1) (2018-04-20) + + +### Bug Fixes + +* infer source link label from repo url ([#168](https://github.com/vuejs/vuepress/issues/168)) ([c1bbd05](https://github.com/vuejs/vuepress/commit/c1bbd05)) +* Only add language dropdown when there has more than one locale configured. ([#181](https://github.com/vuejs/vuepress/issues/181)) ([7f311da](https://github.com/vuejs/vuepress/commit/7f311da)) +* prioritize frontmatter's title, description and lang ([#180](https://github.com/vuejs/vuepress/issues/180)) ([384c5c7](https://github.com/vuejs/vuepress/commit/384c5c7)), closes [#177](https://github.com/vuejs/vuepress/issues/177) [#184](https://github.com/vuejs/vuepress/issues/184) +* redirect /foo to /foo/ during dev (close [#183](https://github.com/vuejs/vuepress/issues/183)) ([99bc0aa](https://github.com/vuejs/vuepress/commit/99bc0aa)) +* show navbar in more conditions (close [#170](https://github.com/vuejs/vuepress/issues/170)) ([748fa7f](https://github.com/vuejs/vuepress/commit/748fa7f)) + + + +<a name="0.7.0"></a> +# [0.7.0](https://github.com/vuejs/vuepress/compare/v0.6.1...v0.7.0) (2018-04-18) + + +### Bug Fixes + +* disable typographer in markdown-it (close [#139](https://github.com/vuejs/vuepress/issues/139)) ([be42da5](https://github.com/vuejs/vuepress/commit/be42da5)) +* ensure runnable when no locales are provided ([a25d86c](https://github.com/vuejs/vuepress/commit/a25d86c)) +* fix yarn global install (fix [#102](https://github.com/vuejs/vuepress/issues/102)) ([1130318](https://github.com/vuejs/vuepress/commit/1130318)) +* handle links with encoded hash ([f0a1a00](https://github.com/vuejs/vuepress/commit/f0a1a00)) +* search for locales ([4cf1232](https://github.com/vuejs/vuepress/commit/4cf1232)) + + +### Features + +* adjust i18n config + documentation ([bccddbf](https://github.com/vuejs/vuepress/commit/bccddbf)) +* i18n for edit link text ([6f5bac0](https://github.com/vuejs/vuepress/commit/6f5bac0)) + + + +<a name="0.6.1"></a> +## [0.6.1](https://github.com/vuejs/vuepress/compare/v0.6.0...v0.6.1) (2018-04-18) + + +### Bug Fixes + +* handle headers that start with numbers (fix [#121](https://github.com/vuejs/vuepress/issues/121)) ([ad83169](https://github.com/vuejs/vuepress/commit/ad83169)) +* make search locale-scoped (close [#128](https://github.com/vuejs/vuepress/issues/128)) ([846eb59](https://github.com/vuejs/vuepress/commit/846eb59)) +* **nav:** unepxected error when themeConfig.nav isn't given. (close: [#125](https://github.com/vuejs/vuepress/issues/125)) ([#127](https://github.com/vuejs/vuepress/issues/127)) ([f052472](https://github.com/vuejs/vuepress/commit/f052472)) +* service worker path ([51c6eb2](https://github.com/vuejs/vuepress/commit/51c6eb2)) +* use correct host in tip after the server has started ([#130](https://github.com/vuejs/vuepress/issues/130)) ([fd447ae](https://github.com/vuejs/vuepress/commit/fd447ae)) +* use header's slug as it is if possible ([#119](https://github.com/vuejs/vuepress/issues/119)) ([5f7e199](https://github.com/vuejs/vuepress/commit/5f7e199)) + + +### Features + +* enable source map in build error traces ([efff472](https://github.com/vuejs/vuepress/commit/efff472)) +* **sidebar:** support click the part outside sidebar to close the sidebar. ([#132](https://github.com/vuejs/vuepress/issues/132)) ([c6c71af](https://github.com/vuejs/vuepress/commit/c6c71af)) + + + +<a name="0.6.0"></a> +# [0.6.0](https://github.com/vuejs/vuepress/compare/v0.5.1...v0.6.0) (2018-04-18) + + +### Bug Fixes + +* allow viewport scaling (close [#110](https://github.com/vuejs/vuepress/issues/110)) ([2b2a07d](https://github.com/vuejs/vuepress/commit/2b2a07d)) +* cli build --dest flag ([#97](https://github.com/vuejs/vuepress/issues/97)) ([e32d90b](https://github.com/vuejs/vuepress/commit/e32d90b)) +* css safe ([#96](https://github.com/vuejs/vuepress/issues/96)) ([be82e09](https://github.com/vuejs/vuepress/commit/be82e09)) +* **default-theme:** only show features div if provided ([3f76bfe](https://github.com/vuejs/vuepress/commit/3f76bfe)) +* ensure using the same markdown config when extracting headers ([14d4d25](https://github.com/vuejs/vuepress/commit/14d4d25)) +* handle index.md when checking relative links ([52d6672](https://github.com/vuejs/vuepress/commit/52d6672)) + + +### Features + +* Multiple Language Support + Complete Chinese Translation ([#48](https://github.com/vuejs/vuepress/issues/48)) ([8bbc5f3](https://github.com/vuejs/vuepress/commit/8bbc5f3)) +* support yaml config ([#115](https://github.com/vuejs/vuepress/issues/115)) ([3088b3e](https://github.com/vuejs/vuepress/commit/3088b3e)) + + + +<a name="0.5.1"></a> +## [0.5.1](https://github.com/vuejs/vuepress/compare/v0.5.0...v0.5.1) (2018-04-17) + + +### Bug Fixes + +* correctly resolve not-found path ([#90](https://github.com/vuejs/vuepress/issues/90)) ([c3dd0b1](https://github.com/vuejs/vuepress/commit/c3dd0b1)) +* meta viewport for iOS tap delay ([f95e245](https://github.com/vuejs/vuepress/commit/f95e245)) +* support mailto links in NavLink + style tweaks (close [#93](https://github.com/vuejs/vuepress/issues/93)) ([62cd00e](https://github.com/vuejs/vuepress/commit/62cd00e)) +* upgrade webpack-chain, fix css optimization settings (close [#91](https://github.com/vuejs/vuepress/issues/91)) ([1bbfa43](https://github.com/vuejs/vuepress/commit/1bbfa43)) + + +### Features + +* allow configuring host + default to 0.0.0.0 (close [#86](https://github.com/vuejs/vuepress/issues/86)) ([9936696](https://github.com/vuejs/vuepress/commit/9936696)) + + + +<a name="0.5.0"></a> +# [0.5.0](https://github.com/vuejs/vuepress/compare/v0.4.2...v0.5.0) (2018-04-16) + + +### Features + +* dropdown Items in Navbar ([#13](https://github.com/vuejs/vuepress/issues/13)) ([79f8f14](https://github.com/vuejs/vuepress/commit/79f8f14)) +* enhanceApp.js ([#80](https://github.com/vuejs/vuepress/issues/80)) ([37ea038](https://github.com/vuejs/vuepress/commit/37ea038)) +* support adding custom page class in front matter ([#85](https://github.com/vuejs/vuepress/issues/85)) ([40ca73c](https://github.com/vuejs/vuepress/commit/40ca73c)), closes [#84](https://github.com/vuejs/vuepress/issues/84) + + + +<a name="0.4.2"></a> +## [0.4.2](https://github.com/vuejs/vuepress/compare/v0.4.1...v0.4.2) (2018-04-16) + + +### Bug Fixes + +* proper minimum node version warning ([eb07685](https://github.com/vuejs/vuepress/commit/eb07685)) + + + +<a name="0.4.1"></a> +## [0.4.1](https://github.com/vuejs/vuepress/compare/v0.4.0...v0.4.1) (2018-04-16) + + +### Bug Fixes + +* always transpile lib directory ([#73](https://github.com/vuejs/vuepress/issues/73)) ([56e0392](https://github.com/vuejs/vuepress/commit/56e0392)) +* avoid html-webpack-plugin requiring incomaptible webpack internals ([4816bef](https://github.com/vuejs/vuepress/commit/4816bef)) +* prioritize own deps + avoid serving wrong index.html (fix [#69](https://github.com/vuejs/vuepress/issues/69)) ([781e37a](https://github.com/vuejs/vuepress/commit/781e37a)) +* redirect */index.html to */ (close [#83](https://github.com/vuejs/vuepress/issues/83)) ([52e04c4](https://github.com/vuejs/vuepress/commit/52e04c4)) +* remove override import when ejecting (close [#56](https://github.com/vuejs/vuepress/issues/56)) ([2d811ed](https://github.com/vuejs/vuepress/commit/2d811ed)) +* remove unnecessary spread ([63816c1](https://github.com/vuejs/vuepress/commit/63816c1)) + + +### Features + +* add <kbd> styles ([#60](https://github.com/vuejs/vuepress/issues/60)) ([580774b](https://github.com/vuejs/vuepress/commit/580774b)) + + + +<a name="0.4.0"></a> +# [0.4.0](https://github.com/vuejs/vuepress/compare/v0.3.3...v0.4.0) (2018-04-15) + + +### Features + +* allow default theme to be copied as custom theme ([98e1665](https://github.com/vuejs/vuepress/commit/98e1665)) +* vuepress eject for customizing default theme ([89538fa](https://github.com/vuejs/vuepress/commit/89538fa)) + + + +<a name="0.3.3"></a> +## [0.3.3](https://github.com/vuejs/vuepress/compare/v0.3.2...v0.3.3) (2018-04-15) + + +### Bug Fixes + +* fix outbound nav links (close [#37](https://github.com/vuejs/vuepress/issues/37)) ([c909007](https://github.com/vuejs/vuepress/commit/c909007)) + + + +<a name="0.3.2"></a> +## [0.3.2](https://github.com/vuejs/vuepress/compare/v0.3.1...v0.3.2) (2018-04-15) + + +### Bug Fixes + +* added escaping of meta tag attribute value ([#29](https://github.com/vuejs/vuepress/issues/29)) ([15a1ac8](https://github.com/vuejs/vuepress/commit/15a1ac8)) +* escape text in code block when lang is text or not specified [#31](https://github.com/vuejs/vuepress/issues/31) ([#32](https://github.com/vuejs/vuepress/issues/32)) ([ac4acab](https://github.com/vuejs/vuepress/commit/ac4acab)) +* **dev build:** use portfinder ([#30](https://github.com/vuejs/vuepress/issues/30)) ([f2a8229](https://github.com/vuejs/vuepress/commit/f2a8229)), closes [#26](https://github.com/vuejs/vuepress/issues/26) +* generate better slugs for non latin langs (close [#45](https://github.com/vuejs/vuepress/issues/45)) ([e08e3d2](https://github.com/vuejs/vuepress/commit/e08e3d2)) +* hoistedTags may not always be present (close [#35](https://github.com/vuejs/vuepress/issues/35)) ([ed33515](https://github.com/vuejs/vuepress/commit/ed33515)) +* home link '/' shouldn’t always stays active ([#47](https://github.com/vuejs/vuepress/issues/47)) ([67c758e](https://github.com/vuejs/vuepress/commit/67c758e)) +* images should have 100% max width ([9e63974](https://github.com/vuejs/vuepress/commit/9e63974)) +* renderChildren / sidebarDepth: 0 ([42f63a8](https://github.com/vuejs/vuepress/commit/42f63a8)) + + +### Features + +* add warning about node version on startup (close [#51](https://github.com/vuejs/vuepress/issues/51)) ([1118327](https://github.com/vuejs/vuepress/commit/1118327)) + + + +<a name="0.3.1"></a> +## [0.3.1](https://github.com/vuejs/vuepress/compare/v0.3.0...v0.3.1) (2018-04-14) + + +### Bug Fixes + +* **style:** prevent scrollbar in code ([#18](https://github.com/vuejs/vuepress/issues/18)) ([a3db4d2](https://github.com/vuejs/vuepress/commit/a3db4d2)) +* code margin on mobile ([695440f](https://github.com/vuejs/vuepress/commit/695440f)) + + +### Features + +* commands now defaults targetDir to cwd. ([#25](https://github.com/vuejs/vuepress/issues/25)) ([22b7943](https://github.com/vuejs/vuepress/commit/22b7943)), closes [#8](https://github.com/vuejs/vuepress/issues/8) + + + +<a name="0.3.0"></a> +# [0.3.0](https://github.com/vuejs/vuepress/compare/v0.2.2...v0.3.0) (2018-04-14) + + + +<a name="0.2.2"></a> +## [0.2.2](https://github.com/vuejs/vuepress/compare/v0.2.1...v0.2.2) (2018-04-14) + + + +<a name="0.2.1"></a> +## [0.2.1](https://github.com/vuejs/vuepress/compare/v0.2.0...v0.2.1) (2018-04-14) + + +### Bug Fixes + +* fix vuepress cant resolve custom theme under .vuepress/theme ([#3](https://github.com/vuejs/vuepress/issues/3)) ([133bdb3](https://github.com/vuejs/vuepress/commit/133bdb3)) + + + +<a name="0.2.0"></a> +# [0.2.0](https://github.com/vuejs/vuepress/compare/v0.1.0...v0.2.0) (2018-04-13) + + +### Features + +* auto detect invalid inbound links ([ca82906](https://github.com/vuejs/vuepress/commit/ca82906)) +* google analytics ([764ccd5](https://github.com/vuejs/vuepress/commit/764ccd5)) +* pwa ([664a8e0](https://github.com/vuejs/vuepress/commit/664a8e0)) + + + +<a name="0.1.0"></a> +# [0.1.0](https://github.com/vuejs/vuepress/compare/890f929...v0.1.0) (2018-04-12) + + +### Bug Fixes + +* css extraction ([d293194](https://github.com/vuejs/vuepress/commit/d293194)) +* workaround for empty style chunk ([701658a](https://github.com/vuejs/vuepress/commit/701658a)) + + +### Features + +* dev server ([890f929](https://github.com/vuejs/vuepress/commit/890f929)) +* support nesting in sidebar ([1964709](https://github.com/vuejs/vuepress/commit/1964709)) +* support style/script hoisting + css modules ([f97e676](https://github.com/vuejs/vuepress/commit/f97e676)) + + + diff --git a/node_modules/vuepress/LICENSE b/node_modules/vuepress/LICENSE new file mode 100644 index 00000000..15f1f7e7 --- /dev/null +++ b/node_modules/vuepress/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2018-present, Yuxi (Evan) You + +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. diff --git a/node_modules/vuepress/README.md b/node_modules/vuepress/README.md new file mode 100644 index 00000000..d2b99a5b --- /dev/null +++ b/node_modules/vuepress/README.md @@ -0,0 +1,97 @@ +<p align="center"> + <a href="https://vuepress.vuejs.org/" target="_blank"> + <img width="280" src="https://raw.githubusercontent.com/vuejs/vuepress/master/docs/.vuepress/public/hero.png" alt="logo"> + </a> +</p> + +<p align="center"> + <a href="https://npmcharts.com/compare/vuepress?minimal=true"><img src="https://img.shields.io/npm/dm/vuepress.svg" alt="Downloads"></a> + <a href="https://www.npmjs.com/package/vuepress"><img src="https://img.shields.io/npm/v/vuepress.svg" alt="Version"></a> + <a href="https://www.npmjs.com/package/vuepress"><img src="https://img.shields.io/npm/l/vuepress.svg" alt="License"></a> +</p> + +# VuePress + +> Minimalistic docs generator with Vue component based layout system + +https://vuepress.vuejs.org/ + +## Features + +**Built-in markdown extensions** + +* [Table of Contents](https://vuepress.vuejs.org/guide/markdown.html#table-of-contents) +* [Custom Containers](https://vuepress.vuejs.org/guide/markdown.html#custom-containers) +* [Line Highlighting](https://vuepress.vuejs.org/guide/markdown.html#line-highlighting-in-code-blocks) +* [Line Numbers](https://vuepress.vuejs.org/guide/markdown.html#line-numbers) +* [Import Code Snippets](https://vuepress.vuejs.org/guide/markdown.html#import-code-snippets) + +**Using Vue in Markdown** + +* [Templating](https://vuepress.vuejs.org/guide/using-vue.html#templating) +* [Using Components](https://vuepress.vuejs.org/guide/using-vue.html#using-components) + +**Vue-powered custom theme system** + +* [Metadata](https://vuepress.vuejs.org/guide/custom-themes.html#site-and-page-metadata) +* [Content Excerpt](https://vuepress.vuejs.org/guide/custom-themes.html#content-excerpt) + +**Default theme** + +* Responsive layout +* [Optional Homepage](https://vuepress.vuejs.org/default-theme-config/#homepage) +* [Simple out-of-the-box header-based search](https://vuepress.vuejs.org/default-theme-config/#built-in-search) +* [Algolia Search](https://vuepress.vuejs.org/default-theme-config/#algolia-search) +* Customizable [navbar](https://vuepress.vuejs.org/default-theme-config/#navbar) and [sidebar](https://vuepress.vuejs.org/default-theme-config/#sidebar) +* [Auto-generated GitHub link and page edit links](https://vuepress.vuejs.org/default-theme-config/#git-repo-and-edit-links) +* [PWA: Popup UI to refresh contents](https://vuepress.vuejs.org/default-theme-config/#popup-ui-to-refresh-contents) +* [Last Updated](https://vuepress.vuejs.org/default-theme-config/#last-updated) + +**Miscellaneous** + +* [Multi-Language Support](https://vuepress.vuejs.org/guide/i18n.html) +* [Service Worker](https://vuepress.vuejs.org/config/#serviceworker) +* [Google Analytics](https://vuepress.vuejs.org/config/#ga) + +## Showcase + +Websites built with VuePress: + +**Vue Ecosystem** + +* [vue-cli](https://cli.vuejs.org/) +* [vuex](https://vuex.vuejs.org/) +* [vue-server-renderer](https://ssr.vuejs.org/) +* [vue-router](https://router.vuejs.org/) +* [vue-test-utils](https://vue-test-utils.vuejs.org/) +* [vue-loader](https://vue-loader.vuejs.org/) +* [vetur](https://vuejs.github.io/vetur/) +* [rollup-plugin-vue](https://rollup-plugin-vue.vuejs.org/) + +**Community** + +* [cr-vue](https://cr-vue.mio3io.com/) +* [vuesax](https://lusaxweb.github.io/vuesax/) + +## Todo Features + +VuePress is still a work in progress. There are a few things that it currently does not support but are planned: + +- Plugin support +- Blogging support + +Contributions are welcome! + +## Development + +> Please make sure your version of Node.js is greater than 8. + +``` bash +yarn +yarn dev # serves VuePress' own docs with itself +yarn test # make sure your code change pass the test +``` + +## License + +[MIT](https://github.com/vuejs/vuepress/blob/master/LICENSE) diff --git a/node_modules/vuepress/bin/vuepress.js b/node_modules/vuepress/bin/vuepress.js new file mode 100755 index 00000000..36433168 --- /dev/null +++ b/node_modules/vuepress/bin/vuepress.js @@ -0,0 +1,110 @@ +#!/usr/bin/env node + +const chalk = require('chalk') +const semver = require('semver') +const requiredVersion = require('../package.json').engines.node + +if (!semver.satisfies(process.version, requiredVersion)) { + console.log(chalk.red( + `\n[vuepress] minimum Node version not met:` + + `\nYou are using Node ${process.version}, but VuePress ` + + `requires Node ${requiredVersion}.\nPlease upgrade your Node version.\n` + )) + process.exit(1) +} + +const path = require('path') +const { dev, build, eject } = require('../lib') + +const program = require('commander') + +program + .version(require('../package.json').version) + .usage('<command> [options]') + +program + .command('dev [targetDir]') + .description('start development server') + .option('-p, --port <port>', 'use specified port (default: 8080)') + .option('-h, --host <host>', 'use specified host (default: 0.0.0.0)') + .option('--debug', 'start development server in debug mode') + .action((dir = '.', { host, port, debug }) => { + wrapCommand(dev)(path.resolve(dir), { host, port, debug }) + }) + +program + .command('build [targetDir]') + .description('build dir as static site') + .option('-d, --dest <outDir>', 'specify build output dir (default: .vuepress/dist)') + .option('--debug', 'build in development mode for debugging') + .action((dir = '.', { debug, dest }) => { + const outDir = dest ? path.resolve(dest) : null + wrapCommand(build)(path.resolve(dir), { debug, outDir }) + }) + +program + .command('eject [targetDir]') + .description('copy the default theme into .vuepress/theme for customization.') + .action((dir = '.') => { + wrapCommand(eject)(path.resolve(dir)) + }) + +// output help information on unknown commands +program + .arguments('<command>') + .action((cmd) => { + program.outputHelp() + console.log(` ` + chalk.red(`Unknown command ${chalk.yellow(cmd)}.`)) + console.log() + }) + +// add some useful info on help +program.on('--help', () => { + console.log() + console.log(` Run ${chalk.cyan(`vuepress <command> --help`)} for detailed usage of given command.`) + console.log() +}) + +program.commands.forEach(c => c.on('--help', () => console.log())) + +// enhance common error messages +const enhanceErrorMessages = (methodName, log) => { + program.Command.prototype[methodName] = function (...args) { + if (methodName === 'unknownOption' && this._allowUnknownOption) { + return + } + this.outputHelp() + console.log(` ` + chalk.red(log(...args))) + console.log() + process.exit(1) + } +} + +enhanceErrorMessages('missingArgument', argName => { + return `Missing required argument ${chalk.yellow(`<${argName}>`)}.` +}) + +enhanceErrorMessages('unknownOption', optionName => { + return `Unknown option ${chalk.yellow(optionName)}.` +}) + +enhanceErrorMessages('optionMissingArgument', (option, flag) => { + return `Missing required argument for option ${chalk.yellow(option.flags)}` + ( + flag ? `, got ${chalk.yellow(flag)}` : `` + ) +}) + +program.parse(process.argv) + +if (!process.argv.slice(2).length) { + program.outputHelp() +} + +function wrapCommand (fn) { + return (...args) => { + return fn(...args).catch(err => { + console.error(chalk.red(err.stack)) + process.exitCode = 1 + }) + } +} diff --git a/node_modules/vuepress/lib/app/.temp/enhanceApp.js b/node_modules/vuepress/lib/app/.temp/enhanceApp.js new file mode 100644 index 00000000..16a79b36 --- /dev/null +++ b/node_modules/vuepress/lib/app/.temp/enhanceApp.js @@ -0,0 +1 @@ +export { default } from "/Users/ruki/projects/personal/xmake-docs/src/.vuepress/enhanceApp.js"
\ No newline at end of file diff --git a/node_modules/vuepress/lib/app/.temp/override.styl b/node_modules/vuepress/lib/app/.temp/override.styl new file mode 100644 index 00000000..c7969f18 --- /dev/null +++ b/node_modules/vuepress/lib/app/.temp/override.styl @@ -0,0 +1 @@ +@import("/Users/ruki/projects/personal/xmake-docs/src/.vuepress/override.styl")
\ No newline at end of file diff --git a/node_modules/vuepress/lib/app/.temp/routes.js b/node_modules/vuepress/lib/app/.temp/routes.js new file mode 100644 index 00000000..625e7fb6 --- /dev/null +++ b/node_modules/vuepress/lib/app/.temp/routes.js @@ -0,0 +1,178 @@ +import Vue from 'vue' + +import ThemeLayout from '@themeLayout' +import ThemeNotFound from '@themeNotFound' +import { injectMixins } from '@app/util' +import rootMixins from '@app/root-mixins' + +injectMixins(ThemeLayout, rootMixins) +injectMixins(ThemeNotFound, rootMixins) + +export const routes = [ + { + name: "v-ddf4be195b958", + path: "/", + component: ThemeLayout, + beforeEnter: (to, from, next) => { + import("/Users/ruki/projects/personal/xmake-docs/src/README.md").then(comp => { + Vue.component("v-ddf4be195b958", comp.default) + next() + }) + } + }, + { + path: "/index.html", + redirect: "/" + }, + { + name: "v-8644851cf91dd", + path: "/api/introduction.html", + component: ThemeLayout, + beforeEnter: (to, from, next) => { + import("/Users/ruki/projects/personal/xmake-docs/src/api/introduction.md").then(comp => { + Vue.component("v-8644851cf91dd", comp.default) + next() + }) + } + }, + { + name: "v-b6ee77db64501", + path: "/guide/faq.html", + component: ThemeLayout, + beforeEnter: (to, from, next) => { + import("/Users/ruki/projects/personal/xmake-docs/src/guide/faq.md").then(comp => { + Vue.component("v-b6ee77db64501", comp.default) + next() + }) + } + }, + { + name: "v-fcba2a8896d43", + path: "/guide/getting-started.html", + component: ThemeLayout, + beforeEnter: (to, from, next) => { + import("/Users/ruki/projects/personal/xmake-docs/src/guide/getting-started.md").then(comp => { + Vue.component("v-fcba2a8896d43", comp.default) + next() + }) + } + }, + { + name: "v-cda17500cdb0c", + path: "/guide/introduction.html", + component: ThemeLayout, + beforeEnter: (to, from, next) => { + import("/Users/ruki/projects/personal/xmake-docs/src/guide/introduction.md").then(comp => { + Vue.component("v-cda17500cdb0c", comp.default) + next() + }) + } + }, + { + name: "v-745d22bfe3ef4", + path: "/guide/sponsors.html", + component: ThemeLayout, + beforeEnter: (to, from, next) => { + import("/Users/ruki/projects/personal/xmake-docs/src/guide/sponsors.md").then(comp => { + Vue.component("v-745d22bfe3ef4", comp.default) + next() + }) + } + }, + { + name: "v-360e42fea8e33", + path: "/plugin/introduction.html", + component: ThemeLayout, + beforeEnter: (to, from, next) => { + import("/Users/ruki/projects/personal/xmake-docs/src/plugin/introduction.md").then(comp => { + Vue.component("v-360e42fea8e33", comp.default) + next() + }) + } + }, + { + name: "v-1856b116362c7", + path: "/zh/", + component: ThemeLayout, + beforeEnter: (to, from, next) => { + import("/Users/ruki/projects/personal/xmake-docs/src/zh/README.md").then(comp => { + Vue.component("v-1856b116362c7", comp.default) + next() + }) + } + }, + { + path: "/zh/index.html", + redirect: "/zh/" + }, + { + name: "v-6812df0250aa3", + path: "/zh/api/introduction.html", + component: ThemeLayout, + beforeEnter: (to, from, next) => { + import("/Users/ruki/projects/personal/xmake-docs/src/zh/api/introduction.md").then(comp => { + Vue.component("v-6812df0250aa3", comp.default) + next() + }) + } + }, + { + name: "v-d3636509f8935", + path: "/zh/guide/faq.html", + component: ThemeLayout, + beforeEnter: (to, from, next) => { + import("/Users/ruki/projects/personal/xmake-docs/src/zh/guide/faq.md").then(comp => { + Vue.component("v-d3636509f8935", comp.default) + next() + }) + } + }, + { + name: "v-53a48e3593d7c", + path: "/zh/guide/getting-started.html", + component: ThemeLayout, + beforeEnter: (to, from, next) => { + import("/Users/ruki/projects/personal/xmake-docs/src/zh/guide/getting-started.md").then(comp => { + Vue.component("v-53a48e3593d7c", comp.default) + next() + }) + } + }, + { + name: "v-cd45bc6f8fdb", + path: "/zh/guide/introduction.html", + component: ThemeLayout, + beforeEnter: (to, from, next) => { + import("/Users/ruki/projects/personal/xmake-docs/src/zh/guide/introduction.md").then(comp => { + Vue.component("v-cd45bc6f8fdb", comp.default) + next() + }) + } + }, + { + name: "v-bef402580c1cc", + path: "/zh/guide/sponsors.html", + component: ThemeLayout, + beforeEnter: (to, from, next) => { + import("/Users/ruki/projects/personal/xmake-docs/src/zh/guide/sponsors.md").then(comp => { + Vue.component("v-bef402580c1cc", comp.default) + next() + }) + } + }, + { + name: "v-faf113f1b77ae", + path: "/zh/plugin/introduction.html", + component: ThemeLayout, + beforeEnter: (to, from, next) => { + import("/Users/ruki/projects/personal/xmake-docs/src/zh/plugin/introduction.md").then(comp => { + Vue.component("v-faf113f1b77ae", comp.default) + next() + }) + } + }, + { + path: '*', + component: ThemeNotFound + } +]
\ No newline at end of file diff --git a/node_modules/vuepress/lib/app/.temp/siteData.js b/node_modules/vuepress/lib/app/.temp/siteData.js new file mode 100644 index 00000000..9af62f7a --- /dev/null +++ b/node_modules/vuepress/lib/app/.temp/siteData.js @@ -0,0 +1,634 @@ +export const siteData = { + "title": "", + "description": "", + "base": "/", + "pages": [ + { + "key": "v-ddf4be195b958", + "path": "/", + "lastUpdated": null, + "title": "Home", + "headers": [ + { + "level": 2, + "title": "Simple description", + "slug": "simple-description" + }, + { + "level": 2, + "title": "Package dependences", + "slug": "package-dependences" + }, + { + "level": 2, + "title": "Build project", + "slug": "build-project" + }, + { + "level": 2, + "title": "Run target", + "slug": "run-target" + }, + { + "level": 2, + "title": "Debug target", + "slug": "debug-target" + }, + { + "level": 2, + "title": "Configure platform", + "slug": "configure-platform" + }, + { + "level": 2, + "title": "Menu configuration", + "slug": "menu-configuration" + }, + { + "level": 2, + "title": "Package management", + "slug": "package-management" + }, + { + "level": 2, + "title": "Supported platforms", + "slug": "supported-platforms" + }, + { + "level": 2, + "title": "Supported Languages", + "slug": "supported-languages" + }, + { + "level": 2, + "title": "Supported Projects", + "slug": "supported-projects" + }, + { + "level": 2, + "title": "Builtin Plugins", + "slug": "builtin-plugins" + }, + { + "level": 2, + "title": "More Plugins", + "slug": "more-plugins" + }, + { + "level": 2, + "title": "IDE/Editor Integration", + "slug": "ide-editor-integration" + }, + { + "level": 2, + "title": "More Examples", + "slug": "more-examples" + }, + { + "level": 2, + "title": "Project Examples", + "slug": "project-examples" + }, + { + "level": 2, + "title": "Example Video", + "slug": "example-video" + }, + { + "level": 2, + "title": "Contacts", + "slug": "contacts" + } + ], + "frontmatter": { + "home": true, + "heroImage": "/hero.png", + "actionText": "Get Started →", + "actionLink": "/guide/getting-started", + "features": [ + { + "title": "Why", + "details": "Making development and building easier, so that any developer can quickly pick it up and enjoy the productivity boost when developing and building project." + }, + { + "title": "Powerful", + "details": "Provides lots of features (e.g. package, install, plugin, macro, action, option, task and etc)." + }, + { + "title": "Cross-platform", + "details": "Supports windows, macOS, linux, android, ios." + } + ], + "footer": "Apache-2.0 Licensed | Copyright © 2015-present tboox.org" + } + }, + { + "key": "v-8644851cf91dd", + "path": "/api/introduction.html", + "lastUpdated": null, + "title": "Title1", + "headers": [ + { + "level": 2, + "title": "Title2", + "slug": "title2" + }, + { + "level": 3, + "title": "Title3", + "slug": "title3" + }, + { + "level": 3, + "title": "Title3", + "slug": "title3-2" + }, + { + "level": 2, + "title": "Title2", + "slug": "title2-2" + }, + { + "level": 3, + "title": "Title3", + "slug": "title3-3" + } + ] + }, + { + "key": "v-b6ee77db64501", + "path": "/guide/faq.html", + "lastUpdated": null, + "title": "FAQ", + "headers": [ + { + "level": 2, + "title": "How to get verbose command-line arguments info?", + "slug": "how-to-get-verbose-command-line-arguments-info" + }, + { + "level": 2, + "title": "How to suppress all output info?", + "slug": "how-to-suppress-all-output-info" + }, + { + "level": 2, + "title": "How to do if xmake fails?", + "slug": "how-to-do-if-xmake-fails" + }, + { + "level": 2, + "title": "How to see verbose compiling warnings?", + "slug": "how-to-see-verbose-compiling-warnings" + }, + { + "level": 2, + "title": "How to scan source code and generate xmake.lua automaticlly", + "slug": "how-to-scan-source-code-and-generate-xmake-lua-automaticlly" + } + ] + }, + { + "key": "v-fcba2a8896d43", + "path": "/guide/getting-started.html", + "lastUpdated": null, + "title": "Getting Started", + "headers": [ + { + "level": 2, + "title": "Installation", + "slug": "installation" + }, + { + "level": 2, + "title": "Quick Start", + "slug": "quick-start" + }, + { + "level": 2, + "title": "Project Examples", + "slug": "project-examples" + }, + { + "level": 2, + "title": "Configuration", + "slug": "configuration" + }, + { + "level": 2, + "title": "Dependency Package Management", + "slug": "dependency-package-management" + } + ] + }, + { + "key": "v-cda17500cdb0c", + "path": "/guide/introduction.html", + "lastUpdated": null, + "title": "Introduction", + "headers": [ + { + "level": 2, + "title": "Introduction", + "slug": "introduction" + } + ] + }, + { + "key": "v-745d22bfe3ef4", + "path": "/guide/sponsors.html", + "lastUpdated": null, + "title": "Sponsors" + }, + { + "key": "v-360e42fea8e33", + "path": "/plugin/introduction.html", + "lastUpdated": null, + "title": "Title1", + "headers": [ + { + "level": 2, + "title": "Title2", + "slug": "title2" + }, + { + "level": 3, + "title": "Title3", + "slug": "title3" + }, + { + "level": 3, + "title": "Title3", + "slug": "title3-2" + }, + { + "level": 2, + "title": "Title2", + "slug": "title2-2" + }, + { + "level": 3, + "title": "Title3", + "slug": "title3-3" + } + ] + }, + { + "key": "v-1856b116362c7", + "path": "/zh/", + "lastUpdated": null, + "title": "Home", + "headers": [ + { + "level": 2, + "title": "简单的工程描述", + "slug": "简单的工程描述" + }, + { + "level": 2, + "title": "包依赖描述", + "slug": "包依赖描述" + }, + { + "level": 2, + "title": "构建工程", + "slug": "构建工程" + }, + { + "level": 2, + "title": "运行目标", + "slug": "运行目标" + }, + { + "level": 2, + "title": "调试程序", + "slug": "调试程序" + }, + { + "level": 2, + "title": "配置平台", + "slug": "配置平台" + }, + { + "level": 2, + "title": "图形化菜单配置", + "slug": "图形化菜单配置" + }, + { + "level": 2, + "title": "包依赖管理", + "slug": "包依赖管理" + }, + { + "level": 2, + "title": "支持平台", + "slug": "支持平台" + }, + { + "level": 2, + "title": "支持语言", + "slug": "支持语言" + }, + { + "level": 2, + "title": "工程类型", + "slug": "工程类型" + }, + { + "level": 2, + "title": "内置插件", + "slug": "内置插件" + }, + { + "level": 2, + "title": "更多插件", + "slug": "更多插件" + }, + { + "level": 2, + "title": "IDE和编辑器插件", + "slug": "ide和编辑器插件" + }, + { + "level": 2, + "title": "更多例子", + "slug": "更多例子" + }, + { + "level": 2, + "title": "项目例子", + "slug": "项目例子" + }, + { + "level": 2, + "title": "演示视频", + "slug": "演示视频" + }, + { + "level": 2, + "title": "联系方式", + "slug": "联系方式" + } + ], + "frontmatter": { + "home": true, + "heroImage": "/hero.png", + "actionText": "快速上手 →", + "actionLink": "/zh/guide/getting-started", + "features": [ + { + "title": "为什么使用", + "details": "让开发者更加关注于项目本身开发,简化项目的描述和构建,并且提供平台无关性,使得一次编写,随处构建" + }, + { + "title": "强大", + "details": "提供大量的实用特性(例如:插件扩展、脚本宏记录、批量打包、自动文档生成等常用插件)" + }, + { + "title": "跨平台", + "details": "支持windows, macOS, linux, android, ios" + } + ], + "footer": "Apache-2.0 Licensed | Copyright © 2015-present tboox.org" + } + }, + { + "key": "v-6812df0250aa3", + "path": "/zh/api/introduction.html", + "lastUpdated": null, + "title": "Title1", + "headers": [ + { + "level": 2, + "title": "Title2", + "slug": "title2" + }, + { + "level": 3, + "title": "Title3", + "slug": "title3" + }, + { + "level": 3, + "title": "Title3", + "slug": "title3-2" + }, + { + "level": 2, + "title": "Title2", + "slug": "title2-2" + }, + { + "level": 3, + "title": "Title3", + "slug": "title3-3" + } + ] + }, + { + "key": "v-d3636509f8935", + "path": "/zh/guide/faq.html", + "lastUpdated": null + }, + { + "key": "v-53a48e3593d7c", + "path": "/zh/guide/getting-started.html", + "lastUpdated": null, + "title": "快速开始", + "headers": [ + { + "level": 2, + "title": "编译", + "slug": "编译" + }, + { + "level": 2, + "title": "例子", + "slug": "例子" + } + ] + }, + { + "key": "v-cd45bc6f8fdb", + "path": "/zh/guide/introduction.html", + "lastUpdated": null, + "title": "简介", + "headers": [ + { + "level": 2, + "title": "特性", + "slug": "特性" + }, + { + "level": 2, + "title": "项目例子", + "slug": "项目例子" + }, + { + "level": 2, + "title": "联系方式", + "slug": "联系方式" + } + ] + }, + { + "key": "v-bef402580c1cc", + "path": "/zh/guide/sponsors.html", + "lastUpdated": null + }, + { + "key": "v-faf113f1b77ae", + "path": "/zh/plugin/introduction.html", + "lastUpdated": null, + "title": "Title1", + "headers": [ + { + "level": 2, + "title": "Title2", + "slug": "title2" + }, + { + "level": 3, + "title": "Title3", + "slug": "title3" + }, + { + "level": 3, + "title": "Title3", + "slug": "title3-2" + }, + { + "level": 2, + "title": "Title2", + "slug": "title2-2" + }, + { + "level": 3, + "title": "Title3", + "slug": "title3-3" + } + ] + } + ], + "themeConfig": { + "repo": "tboox/xmake", + "docsRepo": "tboox/xmake-docs", + "docsDir": "src", + "editLinks": true, + "sidebarDepth": 2, + "locales": { + "/": { + "label": "English", + "selectText": "Languages", + "editLinkText": "Edit this page on GitHub", + "lastUpdated": "Last Updated", + "nav": [ + { + "text": "Guide", + "link": "/guide/introduction" + }, + { + "text": "Plugin", + "link": "/plugin/introduction" + }, + { + "text": "API", + "link": "/api/introduction" + }, + { + "text": "Articles", + "link": "http://www.tboox.org/category/#xmake" + }, + { + "text": "Feedback", + "link": "https://github.com/tboox/xmake/issues" + }, + { + "text": "Community", + "link": "https://www.reddit.com/r/tboox/" + }, + { + "text": "Donation", + "link": "http://tboox.org/cn/donation/" + } + ], + "sidebar": { + "/guide/": [ + "introduction", + "getting-started", + "faq", + "sponsors" + ], + "/plugin/": [ + "introduction" + ], + "/api/": [ + "introduction" + ] + } + }, + "/zh/": { + "label": "简体中文", + "selectText": "选择语言", + "editLinkText": "在 GitHub 上编辑此页", + "lastUpdated": "上次更新", + "nav": [ + { + "text": "指南", + "link": "/zh/guide/introduction" + }, + { + "text": "插件", + "link": "/zh/plugin/introduction" + }, + { + "text": "接口", + "link": "/zh/api/introduction" + }, + { + "text": "文章", + "link": "http://www.tboox.org/cn/category/#xmake" + }, + { + "text": "反馈", + "link": "https://github.com/tboox/xmake/issues" + }, + { + "text": "社区", + "link": "https://www.reddit.com/r/tboox/" + }, + { + "text": "捐助", + "link": "http://tboox.org/cn/donation/" + } + ], + "sidebar": { + "/zh/guide/": [ + "introduction", + "getting-started", + "faq", + "sponsors" + ], + "/zh/plugin/": [ + "introduction" + ], + "/zh/api/": [ + "introduction" + ] + } + } + } + }, + "locales": { + "/": { + "lang": "en-US", + "title": "xmake", + "description": "A cross-platform build utility based on Lua" + }, + "/zh/": { + "lang": "zh-CN", + "title": "xmake", + "description": "一个基于Lua的轻量级跨平台自动构建工具" + } + } +}
\ No newline at end of file diff --git a/node_modules/vuepress/lib/app/.temp/style.styl b/node_modules/vuepress/lib/app/.temp/style.styl new file mode 100644 index 00000000..b3deab99 --- /dev/null +++ b/node_modules/vuepress/lib/app/.temp/style.styl @@ -0,0 +1 @@ +@import("/Users/ruki/projects/personal/xmake-docs/src/.vuepress/style.styl")
\ No newline at end of file diff --git a/node_modules/vuepress/lib/app/.temp/themeEnhanceApp.js b/node_modules/vuepress/lib/app/.temp/themeEnhanceApp.js new file mode 100644 index 00000000..03c095d5 --- /dev/null +++ b/node_modules/vuepress/lib/app/.temp/themeEnhanceApp.js @@ -0,0 +1 @@ +export default function () {}
\ No newline at end of file diff --git a/node_modules/vuepress/lib/app/SWUpdateEvent.js b/node_modules/vuepress/lib/app/SWUpdateEvent.js new file mode 100644 index 00000000..fe6ab31c --- /dev/null +++ b/node_modules/vuepress/lib/app/SWUpdateEvent.js @@ -0,0 +1,43 @@ +export default class SWUpdateEvent { + constructor (registration) { + Object.defineProperty(this, 'registration', { + value: registration, + configurable: true, + writable: true + }) + } + + /** + * Check if the new service worker exists or not. + */ + update () { + return this.registration.update() + } + + /** + * Activate new service worker to work 'location.reload()' with new data. + */ + skipWaiting () { + const worker = this.registration.waiting + if (!worker) { + return Promise.resolve() + } + + console.log('[vuepress:sw] Doing worker.skipWaiting().') + return new Promise((resolve, reject) => { + const channel = new MessageChannel() + + channel.port1.onmessage = (event) => { + console.log('[vuepress:sw] Done worker.skipWaiting().') + if (event.data.error) { + reject(event.data.error) + } else { + resolve(event.data) + } + } + + worker.postMessage({ type: 'skip-waiting' }, [channel.port2]) + }) + } +} + diff --git a/node_modules/vuepress/lib/app/app.js b/node_modules/vuepress/lib/app/app.js new file mode 100644 index 00000000..511abbd4 --- /dev/null +++ b/node_modules/vuepress/lib/app/app.js @@ -0,0 +1,102 @@ +import Vue from 'vue' +import Router from 'vue-router' +import dataMixin from './dataMixin' +import store from './store' +import { routes } from '@temp/routes' +import { siteData } from '@temp/siteData' +import enhanceApp from '@temp/enhanceApp' +import themeEnhanceApp from '@temp/themeEnhanceApp' + +// generated from user config +import('@temp/style.styl') + +// built-in components +import Content from './components/Content' +import OutboundLink from './components/OutboundLink.vue' +import ClientOnly from './components/ClientOnly' + +// suggest dev server restart on base change +if (module.hot) { + const prevBase = siteData.base + module.hot.accept('./.temp/siteData', () => { + if (siteData.base !== prevBase) { + window.alert( + `[vuepress] Site base has changed. ` + + `Please restart dev server to ensure correct asset paths.` + ) + } + }) +} + +Vue.config.productionTip = false +Vue.use(Router) +// mixin for exposing $site and $page +Vue.mixin(dataMixin(siteData)) +// component for rendering markdown content and setting title etc. +Vue.component('Content', Content) +Vue.component('OutboundLink', OutboundLink) +Vue.component('Badge', () => import('./components/Badge.vue')) +// component for client-only content +Vue.component('ClientOnly', ClientOnly) + +// global helper for adding base path to absolute urls +Vue.prototype.$withBase = function (path) { + const base = this.$site.base + if (path.charAt(0) === '/') { + return base + path.slice(1) + } else { + return path + } +} + +export function createApp () { + const router = new Router({ + base: siteData.base, + mode: 'history', + fallback: false, + routes, + scrollBehavior: (to, from, saved) => { + if (saved) { + return saved + } else if (to.hash) { + if (store.disableScrollBehavior) { + return false + } + return { + selector: to.hash + } + } else { + return { x: 0, y: 0 } + } + } + }) + + // redirect /foo to /foo/ + router.beforeEach((to, from, next) => { + if (!/(\/|\.html)$/.test(to.path)) { + next(Object.assign({}, to, { + path: to.path + '/' + })) + } else { + next() + } + }) + + const options = {} + + themeEnhanceApp({ Vue, options, router, siteData }) + enhanceApp({ Vue, options, router, siteData }) + + const app = new Vue( + Object.assign(options, { + router, + render (h) { + return h('div', { attrs: { id: 'app' }}, [ + h('router-view', { ref: 'layout' }) + ]) + } + }) + ) + + return { app, router } +} diff --git a/node_modules/vuepress/lib/app/clientEntry.js b/node_modules/vuepress/lib/app/clientEntry.js new file mode 100644 index 00000000..dc86314a --- /dev/null +++ b/node_modules/vuepress/lib/app/clientEntry.js @@ -0,0 +1,74 @@ +/* global BASE_URL, GA_ID, ga, SW_ENABLED, VUEPRESS_VERSION, LAST_COMMIT_HASH*/ + +import { createApp } from './app' +import SWUpdateEvent from './SWUpdateEvent' +import { register } from 'register-service-worker' + +const { app, router } = createApp() + +window.__VUEPRESS_VERSION__ = { + version: VUEPRESS_VERSION, + hash: LAST_COMMIT_HASH +} + +// Google analytics integration +if (process.env.NODE_ENV === 'production' && GA_ID) { + (function (i, s, o, g, r, a, m) { + i['GoogleAnalyticsObject'] = r + i[r] = i[r] || function () { + (i[r].q = i[r].q || []).push(arguments) + } + i[r].l = 1 * new Date() + a = s.createElement(o) + m = s.getElementsByTagName(o)[0] + a.async = 1 + a.src = g + m.parentNode.insertBefore(a, m) + })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga') + + ga('create', GA_ID, 'auto') + ga('send', 'pageview') + + router.afterEach(function (to) { + ga('set', 'page', app.$withBase(to.fullPath)) + ga('send', 'pageview') + }) +} + +router.onReady(() => { + app.$mount('#app') + + // Register service worker + if (process.env.NODE_ENV === 'production' && + SW_ENABLED && + window.location.protocol === 'https:') { + register(`${BASE_URL}service-worker.js`, { + ready () { + console.log('[vuepress:sw] Service worker is active.') + app.$refs.layout.$emit('sw-ready') + }, + cached (registration) { + console.log('[vuepress:sw] Content has been cached for offline use.') + app.$refs.layout.$emit('sw-cached', new SWUpdateEvent(registration)) + }, + updated (registration) { + console.log('[vuepress:sw] Content updated.') + app.$refs.layout.$emit('sw-updated', new SWUpdateEvent(registration)) + }, + offline () { + console.log('[vuepress:sw] No internet connection found. App is running in offline mode.') + app.$refs.layout.$emit('sw-offline') + }, + error (err) { + console.error('[vuepress:sw] Error during service worker registration:', err) + app.$refs.layout.$emit('sw-error', err) + if (GA_ID) { + ga('send', 'exception', { + exDescription: err.message, + exFatal: false + }) + } + } + }) + } +}) diff --git a/node_modules/vuepress/lib/app/components/Badge.vue b/node_modules/vuepress/lib/app/components/Badge.vue new file mode 100644 index 00000000..17e6ba6e --- /dev/null +++ b/node_modules/vuepress/lib/app/components/Badge.vue @@ -0,0 +1,46 @@ +<script> +export default { + functional: true, + props: { + type: { + type: String, + default: 'tip' + }, + text: String, + vertical: { + type: String, + default: 'top' + } + }, + render (h, { props, slots }) { + return h('span', { + class: ['badge', props.type, props.vertical] + }, props.text || slots().default) + } +} +</script> + +<style lang="stylus" scoped> +@import '../../default-theme/styles/config.styl' + +.badge + display inline-block + font-size 14px + height 18px + line-height 18px + border-radius 3px + padding 0 6px + color white + margin-right 5px + background-color #42b983 + &.middle + vertical-align middle + &.top + vertical-align top + &.tip, &.green + background-color #42b983 + &.error + background-color #DA5961 //#f66 + &.warning, &.warn, &.yellow + background-color darken(#ffe564, 35%) +</style> diff --git a/node_modules/vuepress/lib/app/components/ClientOnly.js b/node_modules/vuepress/lib/app/components/ClientOnly.js new file mode 100644 index 00000000..c786d1af --- /dev/null +++ b/node_modules/vuepress/lib/app/components/ClientOnly.js @@ -0,0 +1,12 @@ +export default { + functional: true, + render (h, { parent, children }) { + if (parent._isMounted) { + return children + } else { + parent.$once('hook:mounted', () => { + parent.$forceUpdate() + }) + } + } +} diff --git a/node_modules/vuepress/lib/app/components/Content.js b/node_modules/vuepress/lib/app/components/Content.js new file mode 100644 index 00000000..46628195 --- /dev/null +++ b/node_modules/vuepress/lib/app/components/Content.js @@ -0,0 +1,17 @@ +export default { + functional: true, + + props: { + custom: { + type: Boolean, + default: true + } + }, + + render (h, { parent, props, data }) { + return h(parent.$page.key, { + class: [props.custom ? 'custom' : '', data.class, data.staticClass], + style: data.style + }) + } +} diff --git a/node_modules/vuepress/lib/app/components/OutboundLink.vue b/node_modules/vuepress/lib/app/components/OutboundLink.vue new file mode 100644 index 00000000..a3aa7f2d --- /dev/null +++ b/node_modules/vuepress/lib/app/components/OutboundLink.vue @@ -0,0 +1,12 @@ +<template functional> + <svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"> + <path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> + <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon> + </svg> +</template> + +<style lang="stylus"> +.icon.outbound + color #aaa + display inline-block +</style> diff --git a/node_modules/vuepress/lib/app/dataMixin.js b/node_modules/vuepress/lib/app/dataMixin.js new file mode 100644 index 00000000..fd003d92 --- /dev/null +++ b/node_modules/vuepress/lib/app/dataMixin.js @@ -0,0 +1,90 @@ +import Vue from 'vue' +import { findPageForPath } from './util' + +export default function dataMixin (siteData) { + prepare(siteData) + const store = new Vue({ + data: { siteData } + }) + + if (module.hot) { + module.hot.accept('./.temp/siteData', () => { + prepare(siteData) + store.siteData = siteData + }) + } + + return { + computed: { + $site () { + return store.siteData + }, + $localeConfig () { + const { locales = {}} = this.$site + let targetLang + let defaultLang + for (const path in locales) { + if (path === '/') { + defaultLang = locales[path] + } else if (this.$page.path.indexOf(path) === 0) { + targetLang = locales[path] + } + } + return targetLang || defaultLang || {} + }, + $siteTitle () { + return this.$localeConfig.title || this.$site.title || '' + }, + $title () { + const page = this.$page + const siteTitle = this.$siteTitle + const selfTitle = page.frontmatter.home ? null : ( + page.frontmatter.title || // explicit title + page.title // inferred title + ) + return siteTitle + ? selfTitle + ? (selfTitle + ' | ' + siteTitle) + : siteTitle + : selfTitle || 'VuePress' + }, + $description () { + // #565 hoist description from meta + if (this.$page.frontmatter.meta) { + const descriptionMeta = this.$page.frontmatter.meta.filter(item => item.name === 'description')[0] + if (descriptionMeta) return descriptionMeta.content + } + return this.$page.frontmatter.description || this.$localeConfig.description || this.$site.description || '' + }, + $lang () { + return this.$page.frontmatter.lang || this.$localeConfig.lang || 'en-US' + }, + $localePath () { + return this.$localeConfig.path || '/' + }, + $themeLocaleConfig () { + return (this.$site.themeConfig.locales || {})[this.$localePath] || {} + }, + $page () { + return findPageForPath( + this.$site.pages, + this.$route.path + ) + } + } + } +} + +function prepare (siteData) { + siteData.pages.forEach(page => { + if (!page.frontmatter) { + page.frontmatter = {} + } + }) + if (siteData.locales) { + Object.keys(siteData.locales).forEach(path => { + siteData.locales[path].path = path + }) + } + Object.freeze(siteData) +} diff --git a/node_modules/vuepress/lib/app/index.dev.html b/node_modules/vuepress/lib/app/index.dev.html new file mode 100644 index 00000000..06f743c5 --- /dev/null +++ b/node_modules/vuepress/lib/app/index.dev.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width,initial-scale=1"> + <title></title> + </head> + <body> + <div id="app"></div> + </body> +</html> diff --git a/node_modules/vuepress/lib/app/index.ssr.html b/node_modules/vuepress/lib/app/index.ssr.html new file mode 100644 index 00000000..32d310a9 --- /dev/null +++ b/node_modules/vuepress/lib/app/index.ssr.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<html lang="{{ lang }}"> + <head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width,initial-scale=1"> + <title>{{ title }}</title> + <meta name="description" content="{{ description }}"> + {{{ userHeadTags }}} + {{{ pageMeta }}} + {{{ renderResourceHints() }}} + {{{ renderStyles() }}} + </head> + <body> + <!--vue-ssr-outlet--> + {{{ renderScripts() }}} + </body> +</html> diff --git a/node_modules/vuepress/lib/app/root-mixins/activeHeaderLinks.js b/node_modules/vuepress/lib/app/root-mixins/activeHeaderLinks.js new file mode 100644 index 00000000..6cad69d5 --- /dev/null +++ b/node_modules/vuepress/lib/app/root-mixins/activeHeaderLinks.js @@ -0,0 +1,47 @@ +import store from '@app/store' +import throttle from 'lodash.throttle' + +export default { + mounted () { + window.addEventListener('scroll', this.onScroll) + }, + methods: { + onScroll: throttle(function () { + this.setActiveHash() + }, 300), + setActiveHash () { + const sidebarLinks = [].slice.call(document.querySelectorAll('.sidebar-link')) + const anchors = [].slice.call(document.querySelectorAll('.header-anchor')) + .filter(anchor => sidebarLinks.some(sidebarLink => sidebarLink.hash === anchor.hash)) + + const scrollTop = Math.max( + window.pageYOffset, + document.documentElement.scrollTop, + document.body.scrollTop + ) + + for (let i = 0; i < anchors.length; i++) { + const anchor = anchors[i] + const nextAnchor = anchors[i + 1] + + const isActive = i === 0 && scrollTop === 0 || + (scrollTop >= anchor.parentElement.offsetTop + 10 && + (!nextAnchor || scrollTop < nextAnchor.parentElement.offsetTop - 10)) + + if (isActive && decodeURIComponent(this.$route.hash) !== decodeURIComponent(anchor.hash)) { + store.disableScrollBehavior = true + this.$router.replace(decodeURIComponent(anchor.hash), () => { + // execute after scrollBehavior handler. + this.$nextTick(() => { + store.disableScrollBehavior = false + }) + }) + return + } + } + } + }, + beforeDestroy () { + window.removeEventListener('scroll', this.onScroll) + } +} diff --git a/node_modules/vuepress/lib/app/root-mixins/index.js b/node_modules/vuepress/lib/app/root-mixins/index.js new file mode 100644 index 00000000..fd966f39 --- /dev/null +++ b/node_modules/vuepress/lib/app/root-mixins/index.js @@ -0,0 +1,7 @@ +import updateMeta from './updateMeta' +import activeHeaderLinks from '@activeHeaderLinks' + +export default [ + updateMeta, // required + activeHeaderLinks // optional +] diff --git a/node_modules/vuepress/lib/app/root-mixins/updateMeta.js b/node_modules/vuepress/lib/app/root-mixins/updateMeta.js new file mode 100644 index 00000000..ff2703ac --- /dev/null +++ b/node_modules/vuepress/lib/app/root-mixins/updateMeta.js @@ -0,0 +1,59 @@ +export default { + created () { + if (this.$ssrContext) { + this.$ssrContext.title = this.$title + this.$ssrContext.lang = this.$lang + this.$ssrContext.description = this.$page.description || this.$description + } + }, + + mounted () { + // update title / meta tags + this.currentMetaTags = new Set() + + const updateMeta = () => { + document.title = this.$title + document.documentElement.lang = this.$lang + const userMeta = this.$page.frontmatter.meta || [] + const meta = userMeta.slice(0) + const useGlobalDescription = userMeta.filter(m => m.name === 'description').length === 0 + + // #665 Avoid duplicate description meta at runtime. + if (useGlobalDescription) { + meta.push({ name: 'description', content: this.$description }) + } + + // Including description meta coming from SSR. + const descriptionMetas = document.querySelectorAll('meta[name="description"]') + if (descriptionMetas.length) { + descriptionMetas.forEach(m => this.currentMetaTags.add(m)) + } + + this.currentMetaTags = new Set(updateMetaTags(meta, this.currentMetaTags)) + } + this.$watch('$page', updateMeta) + updateMeta() + }, + + beforeDestroy () { + updateMetaTags(null, this.currentMetaTags) + } +} + +function updateMetaTags (meta, current) { + if (current) { + [...current].forEach(c => { + document.head.removeChild(c) + }) + } + if (meta) { + return meta.map(m => { + const tag = document.createElement('meta') + Object.keys(m).forEach(key => { + tag.setAttribute(key, m[key]) + }) + document.head.appendChild(tag) + return tag + }) + } +} diff --git a/node_modules/vuepress/lib/app/serverEntry.js b/node_modules/vuepress/lib/app/serverEntry.js new file mode 100644 index 00000000..715fc956 --- /dev/null +++ b/node_modules/vuepress/lib/app/serverEntry.js @@ -0,0 +1,14 @@ +import { createApp } from './app' + +export default context => new Promise((resolve, reject) => { + const { app, router } = createApp() + const { url } = context + const { fullPath } = router.resolve(url).route + + if (fullPath !== url) { + return reject({ url: fullPath }) + } + + router.push(url) + router.onReady(() => resolve(app)) +}) diff --git a/node_modules/vuepress/lib/app/store.js b/node_modules/vuepress/lib/app/store.js new file mode 100644 index 00000000..115fe0b9 --- /dev/null +++ b/node_modules/vuepress/lib/app/store.js @@ -0,0 +1,7 @@ +// It is not yet time to use Vuex to manage the global state +// singleton object as a global store. +const state = { + disableScrollBehavior: false +} + +export default state diff --git a/node_modules/vuepress/lib/app/util.js b/node_modules/vuepress/lib/app/util.js new file mode 100644 index 00000000..c1117224 --- /dev/null +++ b/node_modules/vuepress/lib/app/util.js @@ -0,0 +1,19 @@ +export function injectMixins (options, mixins) { + if (!options.mixins) { + options.mixins = [] + } + options.mixins.push(...mixins) +} + +export function findPageForPath (pages, path) { + for (let i = 0; i < pages.length; i++) { + const page = pages[i] + if (page.path === path) { + return page + } + } + return { + path: '', + frontmatter: {} + } +} diff --git a/node_modules/vuepress/lib/build.js b/node_modules/vuepress/lib/build.js new file mode 100644 index 00000000..f7efb49b --- /dev/null +++ b/node_modules/vuepress/lib/build.js @@ -0,0 +1,200 @@ +module.exports = async function build (sourceDir, cliOptions = {}) { + process.env.NODE_ENV = 'production' + + const fs = require('fs-extra') + const path = require('path') + const chalk = require('chalk') + const webpack = require('webpack') + const readline = require('readline') + const escape = require('escape-html') + + const logger = require('./util/logger') + const prepare = require('./prepare') + const createClientConfig = require('./webpack/createClientConfig') + const createServerConfig = require('./webpack/createServerConfig') + const { createBundleRenderer } = require('vue-server-renderer') + const { normalizeHeadTag, applyUserWebpackConfig } = require('./util') + + logger.wait('\nExtracting site metadata...') + const options = await prepare(sourceDir) + if (cliOptions.outDir) { + options.outDir = cliOptions.outDir + } + + const { outDir } = options + if (path.resolve() === outDir) { + return console.error(logger.error(chalk.red('Unexpected option: outDir cannot be set to the current working directory.\n'), false)) + } + await fs.remove(outDir) + + let clientConfig = createClientConfig(options, cliOptions).toConfig() + let serverConfig = createServerConfig(options, cliOptions).toConfig() + + // apply user config... + const userConfig = options.siteConfig.configureWebpack + if (userConfig) { + clientConfig = applyUserWebpackConfig(userConfig, clientConfig, false) + serverConfig = applyUserWebpackConfig(userConfig, serverConfig, true) + } + + // compile! + const stats = await compile([clientConfig, serverConfig]) + + const serverBundle = require(path.resolve(outDir, 'manifest/server.json')) + const clientManifest = require(path.resolve(outDir, 'manifest/client.json')) + + // remove manifests after loading them. + await fs.remove(path.resolve(outDir, 'manifest')) + + // find and remove empty style chunk caused by + // https://github.com/webpack-contrib/mini-css-extract-plugin/issues/85 + // TODO remove when it's fixed + await workaroundEmptyStyleChunk() + + // create server renderer using built manifests + const renderer = createBundleRenderer(serverBundle, { + clientManifest, + runInNewContext: false, + inject: false, + shouldPrefetch: options.siteConfig.shouldPrefetch || (() => true), + template: await fs.readFile(path.resolve(__dirname, 'app/index.ssr.html'), 'utf-8') + }) + + // pre-render head tags from user config + const userHeadTags = (options.siteConfig.head || []) + .map(renderHeadTag) + .join('\n ') + + // render pages + logger.wait('Rendering static HTML...') + for (const page of options.siteData.pages) { + await renderPage(page) + } + + // if the user does not have a custom 404.md, generate the theme's default + if (!options.siteData.pages.some(p => p.path === '/404.html')) { + await renderPage({ path: '/404.html' }) + } + + readline.clearLine(process.stdout, 0) + readline.cursorTo(process.stdout, 0) + + if (options.siteConfig.serviceWorker) { + logger.wait('\nGenerating service worker...') + const wbb = require('workbox-build') + await wbb.generateSW({ + swDest: path.resolve(outDir, 'service-worker.js'), + globDirectory: outDir, + globPatterns: ['**\/*.{js,css,html,png,jpg,jpeg,gif,svg,woff,woff2,eot,ttf,otf}'] + }) + await fs.writeFile( + path.resolve(outDir, 'service-worker.js'), + await fs.readFile(path.resolve(__dirname, 'service-worker/skip-waiting.js'), 'utf8'), + { flag: 'a' } + ) + } + + // DONE. + const relativeDir = path.relative(process.cwd(), outDir) + logger.success(`\n${chalk.green('Success!')} Generated static files in ${chalk.cyan(relativeDir)}.\n`) + + // --- helpers --- + + function compile (config) { + return new Promise((resolve, reject) => { + webpack(config, (err, stats) => { + if (err) { + return reject(err) + } + if (stats.hasErrors()) { + stats.toJson().errors.forEach(err => { + console.error(err) + }) + reject(new Error(`Failed to compile with errors.`)) + return + } + if (cliOptions.debug && stats.hasWarnings()) { + stats.toJson().warnings.forEach(warning => { + console.warn(warning) + }) + } + resolve(stats.toJson({ modules: false })) + }) + }) + } + + function renderHeadTag (tag) { + const { tagName, attributes, innerHTML, closeTag } = normalizeHeadTag(tag) + return `<${tagName}${renderAttrs(attributes)}>${innerHTML}${closeTag ? `</${tagName}>` : ``}` + } + + function renderAttrs (attrs = {}) { + const keys = Object.keys(attrs) + if (keys.length) { + return ' ' + keys.map(name => `${name}="${escape(attrs[name])}"`).join(' ') + } else { + return '' + } + } + + async function renderPage (page) { + const pagePath = page.path + readline.clearLine(process.stdout, 0) + readline.cursorTo(process.stdout, 0) + process.stdout.write(`Rendering page: ${pagePath}`) + + // #565 Avoid duplicate description meta at SSR. + const meta = (page.frontmatter && page.frontmatter.meta || []).filter(item => item.name !== 'description') + const pageMeta = renderPageMeta(meta) + + const context = { + url: pagePath, + userHeadTags, + pageMeta, + title: 'VuePress', + lang: 'en', + description: '' + } + + let html + try { + html = await renderer.renderToString(context) + } catch (e) { + console.error(logger.error(chalk.red(`Error rendering ${pagePath}:`), false)) + throw e + } + const filename = decodeURIComponent(pagePath.replace(/\/$/, '/index.html').replace(/^\//, '')) + const filePath = path.resolve(outDir, filename) + await fs.ensureDir(path.dirname(filePath)) + await fs.writeFile(filePath, html) + } + + function renderPageMeta (meta) { + if (!meta) return '' + return meta.map(m => { + let res = `<meta` + Object.keys(m).forEach(key => { + res += ` ${key}="${escape(m[key])}"` + }) + return res + `>` + }).join('') + } + + async function workaroundEmptyStyleChunk () { + const styleChunk = stats.children[0].assets.find(a => { + return /styles\.\w{8}\.js$/.test(a.name) + }) + if (!styleChunk) return + const styleChunkPath = path.resolve(outDir, styleChunk.name) + const styleChunkContent = await fs.readFile(styleChunkPath, 'utf-8') + await fs.remove(styleChunkPath) + // prepend it to app.js. + // this is necessary for the webpack runtime to work properly. + const appChunk = stats.children[0].assets.find(a => { + return /app\.\w{8}\.js$/.test(a.name) + }) + const appChunkPath = path.resolve(outDir, appChunk.name) + const appChunkContent = await fs.readFile(appChunkPath, 'utf-8') + await fs.writeFile(appChunkPath, styleChunkContent + appChunkContent) + } +} diff --git a/node_modules/vuepress/lib/default-theme/AlgoliaSearchBox.vue b/node_modules/vuepress/lib/default-theme/AlgoliaSearchBox.vue new file mode 100644 index 00000000..0334ae0b --- /dev/null +++ b/node_modules/vuepress/lib/default-theme/AlgoliaSearchBox.vue @@ -0,0 +1,156 @@ +<template> + <form + id="search-form" + class="algolia-search-wrapper search-box" + > + <input + id="algolia-search-input" + class="search-query" + > + </form> +</template> + +<script> +export default { + props: ['options'], + + mounted () { + this.initialize(this.options, this.$lang) + }, + + methods: { + initialize (userOptions, lang) { + Promise.all([ + import(/* webpackChunkName: "docsearch" */ 'docsearch.js/dist/cdn/docsearch.min.js'), + import(/* webpackChunkName: "docsearch" */ 'docsearch.js/dist/cdn/docsearch.min.css') + ]).then(([docsearch]) => { + docsearch = docsearch.default + const { algoliaOptions = {}} = userOptions + docsearch(Object.assign( + {}, + userOptions, + { + inputSelector: '#algolia-search-input', + // #697 Make docsearch work well at i18n mode. + algoliaOptions: Object.assign({ + 'facetFilters': [`lang:${lang}`].concat(algoliaOptions.facetFilters || []) + }, algoliaOptions) + } + )) + }) + }, + + update (options, lang) { + this.$el.innerHTML = '<input id="algolia-search-input" class="search-query">' + this.initialize(options, lang) + } + }, + + watch: { + $lang (newValue) { + this.update(this.options, newValue) + }, + + options (newValue) { + this.update(newValue, this.$lang) + } + } +} +</script> + +<style lang="stylus"> +@import './styles/config.styl' + +.algolia-search-wrapper + & > span + vertical-align middle + .algolia-autocomplete + line-height normal + .ds-dropdown-menu + background-color #fff + border 1px solid #999 + border-radius 4px + font-size 16px + margin 6px 0 0 + padding 4px + text-align left + &:before + border-color #999 + [class*=ds-dataset-] + border none + padding 0 + .ds-suggestions + margin-top 0 + .ds-suggestion + border-bottom 1px solid $borderColor + .algolia-docsearch-suggestion--highlight + color #2c815b + .algolia-docsearch-suggestion + border-color $borderColor + padding 0 + .algolia-docsearch-suggestion--category-header + padding 5px 10px + margin-top 0 + background $accentColor + color #fff + font-weight 600 + .algolia-docsearch-suggestion--highlight + background rgba(255, 255, 255, 0.6) + .algolia-docsearch-suggestion--wrapper + padding 0 + .algolia-docsearch-suggestion--title + font-weight 600 + margin-bottom 0 + color $textColor + .algolia-docsearch-suggestion--subcategory-column + vertical-align top + padding 5px 7px 5px 5px + border-color $borderColor + background #f1f3f5 + &:after + display none + .algolia-docsearch-suggestion--subcategory-column-text + color #555 + .algolia-docsearch-footer + border-color $borderColor + .ds-cursor .algolia-docsearch-suggestion--content + background-color #e7edf3 !important + color $textColor + +@media (min-width: $MQMobile) + .algolia-search-wrapper + .algolia-autocomplete + .algolia-docsearch-suggestion + .algolia-docsearch-suggestion--subcategory-column + float none + width 150px + min-width 150px + display table-cell + .algolia-docsearch-suggestion--content + float none + display table-cell + width 100% + vertical-align top + .ds-dropdown-menu + min-width 515px !important + +@media (max-width: $MQMobile) + .algolia-search-wrapper + .ds-dropdown-menu + min-width calc(100vw - 4rem) !important + max-width calc(100vw - 4rem) !important + .algolia-docsearch-suggestion--wrapper + padding 5px 7px 5px 5px !important + .algolia-docsearch-suggestion--subcategory-column + padding 0 !important + background white !important + .algolia-docsearch-suggestion--subcategory-column-text:after + content " > " + font-size 10px + line-height 14.4px + display inline-block + width 5px + margin -3px 3px 0 + vertical-align middle + +</style> diff --git a/node_modules/vuepress/lib/default-theme/DropdownLink.vue b/node_modules/vuepress/lib/default-theme/DropdownLink.vue new file mode 100644 index 00000000..e6000a60 --- /dev/null +++ b/node_modules/vuepress/lib/default-theme/DropdownLink.vue @@ -0,0 +1,181 @@ +<template> + <div + class="dropdown-wrapper" + :class="{ open }" + > + <a + class="dropdown-title" + @click="toggle" + > + <span class="title">{{ item.text }}</span> + <span + class="arrow" + :class="open ? 'down' : 'right'" + ></span> + </a> + + <DropdownTransition> + <ul + class="nav-dropdown" + v-show="open" + > + <li + class="dropdown-item" + :key="subItem.link || index" + v-for="(subItem, index) in item.items" + > + <h4 v-if="subItem.type === 'links'">{{ subItem.text }}</h4> + + <ul + class="dropdown-subitem-wrapper" + v-if="subItem.type === 'links'" + > + <li + class="dropdown-subitem" + :key="childSubItem.link" + v-for="childSubItem in subItem.items" + > + <NavLink :item="childSubItem"/> + </li> + </ul> + + <NavLink + v-else + :item="subItem" + /> + </li> + </ul> + </DropdownTransition> + </div> +</template> + +<script> +import NavLink from './NavLink.vue' +import DropdownTransition from './DropdownTransition.vue' + +export default { + components: { NavLink, DropdownTransition }, + + data () { + return { + open: false + } + }, + + props: { + item: { + required: true + } + }, + + methods: { + toggle () { + this.open = !this.open + } + } +} +</script> + +<style lang="stylus"> +@import './styles/config.styl' + +.dropdown-wrapper + cursor pointer + .dropdown-title + display block + &:hover + border-color transparent + .arrow + vertical-align middle + margin-top -1px + margin-left 0.4rem + .nav-dropdown + .dropdown-item + color inherit + line-height 1.7rem + h4 + margin 0.45rem 0 0 + border-top 1px solid #eee + padding 0.45rem 1.5rem 0 1.25rem + .dropdown-subitem-wrapper + padding 0 + list-style none + .dropdown-subitem + font-size 0.9em + a + display block + line-height 1.7rem + position relative + border-bottom none + font-weight 400 + margin-bottom 0 + padding 0 1.5rem 0 1.25rem + &:hover + color $accentColor + &.router-link-active + color $accentColor + &::after + content "" + width 0 + height 0 + border-left 5px solid $accentColor + border-top 3px solid transparent + border-bottom 3px solid transparent + position absolute + top calc(50% - 2px) + left 9px + &:first-child h4 + margin-top 0 + padding-top 0 + border-top 0 + +@media (max-width: $MQMobile) + .dropdown-wrapper + &.open .dropdown-title + margin-bottom 0.5rem + .nav-dropdown + transition height .1s ease-out + overflow hidden + .dropdown-item + h4 + border-top 0 + margin-top 0 + padding-top 0 + h4, & > a + font-size 15px + line-height 2rem + .dropdown-subitem + font-size 14px + padding-left 1rem + +@media (min-width: $MQMobile) + .dropdown-wrapper + height 1.8rem + &:hover .nav-dropdown + // override the inline style. + display block !important + .dropdown-title .arrow + // make the arrow always down at desktop + border-left 4px solid transparent + border-right 4px solid transparent + border-top 6px solid $arrowBgColor + border-bottom 0 + .nav-dropdown + display none + // Avoid height shaked by clicking + height auto !important + box-sizing border-box; + max-height calc(100vh - 2.7rem) + overflow-y auto + position absolute + top 100% + right 0 + background-color #fff + padding 0.6rem 0 + border 1px solid #ddd + border-bottom-color #ccc + text-align left + border-radius 0.25rem + white-space nowrap + margin 0 +</style> diff --git a/node_modules/vuepress/lib/default-theme/DropdownTransition.vue b/node_modules/vuepress/lib/default-theme/DropdownTransition.vue new file mode 100644 index 00000000..8c711a15 --- /dev/null +++ b/node_modules/vuepress/lib/default-theme/DropdownTransition.vue @@ -0,0 +1,33 @@ +<template> + <transition + name="dropdown" + @enter="setHeight" + @after-enter="unsetHeight" + @before-leave="setHeight" + > + <slot/> + </transition> +</template> + +<script> +export default { + name: 'DropdownTransition', + + methods: { + setHeight (items) { + // explicitly set height so that it can be transitioned + items.style.height = items.scrollHeight + 'px' + }, + + unsetHeight (items) { + items.style.height = '' + } + } +} +</script> + +<style lang="stylus"> +.dropdown-enter, .dropdown-leave-to + height 0 !important + +</style> diff --git a/node_modules/vuepress/lib/default-theme/Home.vue b/node_modules/vuepress/lib/default-theme/Home.vue new file mode 100644 index 00000000..a172eb9b --- /dev/null +++ b/node_modules/vuepress/lib/default-theme/Home.vue @@ -0,0 +1,162 @@ +<template> + <div class="home"> + <div class="hero"> + <img + v-if="data.heroImage" + :src="$withBase(data.heroImage)" + alt="hero" + > + + <h1>{{ data.heroText || $title || 'Hello' }}</h1> + + <p class="description"> + {{ data.tagline || $description || 'Welcome to your VuePress site' }} + </p> + + <p + class="action" + v-if="data.actionText && data.actionLink" + > + <NavLink + class="action-button" + :item="actionLink" + /> + </p> + </div> + + <div + class="features" + v-if="data.features && data.features.length" + > + <div + class="feature" + v-for="(feature, index) in data.features" + :key="index" + > + <h2>{{ feature.title }}</h2> + <p>{{ feature.details }}</p> + </div> + </div> + + <Content custom/> + + <div + class="footer" + v-if="data.footer" + > + {{ data.footer }} + </div> + </div> +</template> + +<script> +import NavLink from './NavLink.vue' + +export default { + components: { NavLink }, + + computed: { + data () { + return this.$page.frontmatter + }, + + actionLink () { + return { + link: this.data.actionLink, + text: this.data.actionText + } + } + } +} +</script> + +<style lang="stylus"> +@import './styles/config.styl' + +.home + padding $navbarHeight 2rem 0 + max-width 960px + margin 0px auto + .hero + text-align center + img + max-height 280px + display block + margin 3rem auto 1.5rem + h1 + font-size 3rem + h1, .description, .action + margin 1.8rem auto + .description + max-width 35rem + font-size 1.6rem + line-height 1.3 + color lighten($textColor, 40%) + .action-button + display inline-block + font-size 1.2rem + color #fff + background-color $accentColor + padding 0.8rem 1.6rem + border-radius 4px + transition background-color .1s ease + box-sizing border-box + border-bottom 1px solid darken($accentColor, 10%) + &:hover + background-color lighten($accentColor, 10%) + .features + border-top 1px solid $borderColor + padding 1.2rem 0 + margin-top 2.5rem + display flex + flex-wrap wrap + align-items flex-start + align-content stretch + justify-content space-between + .feature + flex-grow 1 + flex-basis 30% + max-width 30% + h2 + font-size 1.4rem + font-weight 500 + border-bottom none + padding-bottom 0 + color lighten($textColor, 10%) + p + color lighten($textColor, 25%) + .footer + padding 2.5rem + border-top 1px solid $borderColor + text-align center + color lighten($textColor, 25%) + +@media (max-width: $MQMobile) + .home + .features + flex-direction column + .feature + max-width 100% + padding 0 2.5rem + +@media (max-width: $MQMobileNarrow) + .home + padding-left 1.5rem + padding-right 1.5rem + .hero + img + max-height 210px + margin 2rem auto 1.2rem + h1 + font-size 2rem + h1, .description, .action + margin 1.2rem auto + .description + font-size 1.2rem + .action-button + font-size 1rem + padding 0.6rem 1.2rem + .feature + h2 + font-size 1.25rem +</style> diff --git a/node_modules/vuepress/lib/default-theme/Layout.vue b/node_modules/vuepress/lib/default-theme/Layout.vue new file mode 100644 index 00000000..ee2e6abe --- /dev/null +++ b/node_modules/vuepress/lib/default-theme/Layout.vue @@ -0,0 +1,183 @@ +<template> + <div + class="theme-container" + :class="pageClasses" + @touchstart="onTouchStart" + @touchend="onTouchEnd" + > + <Navbar + v-if="shouldShowNavbar" + @toggle-sidebar="toggleSidebar" + /> + + <div + class="sidebar-mask" + @click="toggleSidebar(false)" + ></div> + + <Sidebar + :items="sidebarItems" + @toggle-sidebar="toggleSidebar" + > + <slot + name="sidebar-top" + slot="top" + /> + <slot + name="sidebar-bottom" + slot="bottom" + /> + </Sidebar> + + <div + class="custom-layout" + v-if="$page.frontmatter.layout" + > + <component :is="$page.frontmatter.layout"/> + </div> + + <Home v-else-if="$page.frontmatter.home"/> + + <Page + v-else + :sidebar-items="sidebarItems" + > + <slot + name="page-top" + slot="top" + /> + <slot + name="page-bottom" + slot="bottom" + /> + </Page> + + <SWUpdatePopup :updateEvent="swUpdateEvent"/> + </div> +</template> + +<script> +import Vue from 'vue' +import nprogress from 'nprogress' +import Home from './Home.vue' +import Navbar from './Navbar.vue' +import Page from './Page.vue' +import Sidebar from './Sidebar.vue' +import SWUpdatePopup from './SWUpdatePopup.vue' +import { resolveSidebarItems } from './util' + +export default { + components: { Home, Page, Sidebar, Navbar, SWUpdatePopup }, + + data () { + return { + isSidebarOpen: false, + swUpdateEvent: null + } + }, + + computed: { + shouldShowNavbar () { + const { themeConfig } = this.$site + const { frontmatter } = this.$page + if ( + frontmatter.navbar === false || + themeConfig.navbar === false) { + return false + } + return ( + this.$title || + themeConfig.logo || + themeConfig.repo || + themeConfig.nav || + this.$themeLocaleConfig.nav + ) + }, + + shouldShowSidebar () { + const { frontmatter } = this.$page + return ( + !frontmatter.layout && + !frontmatter.home && + frontmatter.sidebar !== false && + this.sidebarItems.length + ) + }, + + sidebarItems () { + return resolveSidebarItems( + this.$page, + this.$route, + this.$site, + this.$localePath + ) + }, + + pageClasses () { + const userPageClass = this.$page.frontmatter.pageClass + return [ + { + 'no-navbar': !this.shouldShowNavbar, + 'sidebar-open': this.isSidebarOpen, + 'no-sidebar': !this.shouldShowSidebar + }, + userPageClass + ] + } + }, + + mounted () { + window.addEventListener('scroll', this.onScroll) + + // configure progress bar + nprogress.configure({ showSpinner: false }) + + this.$router.beforeEach((to, from, next) => { + if (to.path !== from.path && !Vue.component(to.name)) { + nprogress.start() + } + next() + }) + + this.$router.afterEach(() => { + nprogress.done() + this.isSidebarOpen = false + }) + + this.$on('sw-updated', this.onSWUpdated) + }, + + methods: { + toggleSidebar (to) { + this.isSidebarOpen = typeof to === 'boolean' ? to : !this.isSidebarOpen + }, + + // side swipe + onTouchStart (e) { + this.touchStart = { + x: e.changedTouches[0].clientX, + y: e.changedTouches[0].clientY + } + }, + + onTouchEnd (e) { + const dx = e.changedTouches[0].clientX - this.touchStart.x + const dy = e.changedTouches[0].clientY - this.touchStart.y + if (Math.abs(dx) > Math.abs(dy) && Math.abs(dx) > 40) { + if (dx > 0 && this.touchStart.x <= 80) { + this.toggleSidebar(true) + } else { + this.toggleSidebar(false) + } + } + }, + + onSWUpdated (e) { + this.swUpdateEvent = e + } + } +} +</script> + +<style src="prismjs/themes/prism-tomorrow.css"></style> +<style src="./styles/theme.styl" lang="stylus"></style> diff --git a/node_modules/vuepress/lib/default-theme/NavLink.vue b/node_modules/vuepress/lib/default-theme/NavLink.vue new file mode 100644 index 00000000..d9fa4886 --- /dev/null +++ b/node_modules/vuepress/lib/default-theme/NavLink.vue @@ -0,0 +1,49 @@ +<template> + <router-link + class="nav-link" + :to="link" + v-if="!isExternal(link)" + :exact="exact" + >{{ item.text }}</router-link> + <a + v-else + :href="link" + class="nav-link external" + :target="isMailto(link) || isTel(link) ? null : '_blank'" + :rel="isMailto(link) || isTel(link) ? null : 'noopener noreferrer'" + > + {{ item.text }} + <OutboundLink/> + </a> +</template> + +<script> +import { isExternal, isMailto, isTel, ensureExt } from './util' + +export default { + props: { + item: { + required: true + } + }, + + computed: { + link () { + return ensureExt(this.item.link) + }, + + exact () { + if (this.$site.locales) { + return Object.keys(this.$site.locales).some(rootLink => rootLink === this.link) + } + return this.link === '/' + } + }, + + methods: { + isExternal, + isMailto, + isTel + } +} +</script> diff --git a/node_modules/vuepress/lib/default-theme/NavLinks.vue b/node_modules/vuepress/lib/default-theme/NavLinks.vue new file mode 100644 index 00000000..4037f288 --- /dev/null +++ b/node_modules/vuepress/lib/default-theme/NavLinks.vue @@ -0,0 +1,151 @@ +<template> + <nav + class="nav-links" + v-if="userLinks.length || repoLink" + > + <!-- user links --> + <div + class="nav-item" + v-for="item in userLinks" + :key="item.link" + > + <DropdownLink + v-if="item.type === 'links'" + :item="item" + /> + <NavLink + v-else + :item="item" + /> + </div> + + <!-- repo link --> + <a + v-if="repoLink" + :href="repoLink" + class="repo-link" + target="_blank" + rel="noopener noreferrer" + > + {{ repoLabel }} + <OutboundLink/> + </a> + </nav> +</template> + +<script> +import DropdownLink from './DropdownLink.vue' +import { resolveNavLinkItem } from './util' +import NavLink from './NavLink.vue' + +export default { + components: { NavLink, DropdownLink }, + + computed: { + userNav () { + return this.$themeLocaleConfig.nav || this.$site.themeConfig.nav || [] + }, + + nav () { + const { locales } = this.$site + if (locales && Object.keys(locales).length > 1) { + const currentLink = this.$page.path + const routes = this.$router.options.routes + const themeLocales = this.$site.themeConfig.locales || {} + const languageDropdown = { + text: this.$themeLocaleConfig.selectText || 'Languages', + items: Object.keys(locales).map(path => { + const locale = locales[path] + const text = themeLocales[path] && themeLocales[path].label || locale.lang + let link + // Stay on the current page + if (locale.lang === this.$lang) { + link = currentLink + } else { + // Try to stay on the same page + link = currentLink.replace(this.$localeConfig.path, path) + // fallback to homepage + if (!routes.some(route => route.path === link)) { + link = path + } + } + return { text, link } + }) + } + return [...this.userNav, languageDropdown] + } + return this.userNav + }, + + userLinks () { + return (this.nav || []).map(link => { + return Object.assign(resolveNavLinkItem(link), { + items: (link.items || []).map(resolveNavLinkItem) + }) + }) + }, + + repoLink () { + const { repo } = this.$site.themeConfig + if (repo) { + return /^https?:/.test(repo) + ? repo + : `https://github.com/${repo}` + } + }, + + repoLabel () { + if (!this.repoLink) return + if (this.$site.themeConfig.repoLabel) { + return this.$site.themeConfig.repoLabel + } + + const repoHost = this.repoLink.match(/^https?:\/\/[^/]+/)[0] + const platforms = ['GitHub', 'GitLab', 'Bitbucket'] + for (let i = 0; i < platforms.length; i++) { + const platform = platforms[i] + if (new RegExp(platform, 'i').test(repoHost)) { + return platform + } + } + + return 'Source' + } + } +} +</script> + +<style lang="stylus"> +@import './styles/config.styl' + +.nav-links + display inline-block + a + line-height 1.4rem + color inherit + &:hover, &.router-link-active + color $accentColor + .nav-item + position relative + display inline-block + margin-left 1.5rem + line-height 2rem + &:first-child + margin-left 0 + .repo-link + margin-left 1.5rem + +@media (max-width: $MQMobile) + .nav-links + .nav-item, .repo-link + margin-left 0 + +@media (min-width: $MQMobile) + .nav-links a + &:hover, &.router-link-active + color $textColor + .nav-item > a:not(.external) + &:hover, &.router-link-active + margin-bottom -2px + border-bottom 2px solid lighten($accentColor, 8%) +</style> diff --git a/node_modules/vuepress/lib/default-theme/Navbar.vue b/node_modules/vuepress/lib/default-theme/Navbar.vue new file mode 100644 index 00000000..12795665 --- /dev/null +++ b/node_modules/vuepress/lib/default-theme/Navbar.vue @@ -0,0 +1,133 @@ +<template> + <header class="navbar"> + <SidebarButton @toggle-sidebar="$emit('toggle-sidebar')"/> + + <router-link + :to="$localePath" + class="home-link" + > + <img + class="logo" + v-if="$site.themeConfig.logo" + :src="$withBase($site.themeConfig.logo)" + :alt="$siteTitle" + > + <span + ref="siteName" + class="site-name" + v-if="$siteTitle" + :class="{ 'can-hide': $site.themeConfig.logo }" + >{{ $siteTitle }}</span> + </router-link> + + <div + class="links" + :style="{ + 'max-width': linksWrapMaxWidth + 'px' + }" + > + <AlgoliaSearchBox + v-if="isAlgoliaSearch" + :options="algolia" + /> + <SearchBox v-else-if="$site.themeConfig.search !== false"/> + <NavLinks class="can-hide"/> + </div> + </header> +</template> + +<script> +import SidebarButton from './SidebarButton.vue' +import AlgoliaSearchBox from '@AlgoliaSearchBox' +import SearchBox from './SearchBox.vue' +import NavLinks from './NavLinks.vue' + +export default { + components: { SidebarButton, NavLinks, SearchBox, AlgoliaSearchBox }, + + data () { + return { + linksWrapMaxWidth: null + } + }, + + mounted () { + const MOBILE_DESKTOP_BREAKPOINT = 719 // refer to config.styl + const NAVBAR_VERTICAL_PADDING = parseInt(css(this.$el, 'paddingLeft')) + parseInt(css(this.$el, 'paddingRight')) + const handleLinksWrapWidth = () => { + if (document.documentElement.clientWidth < MOBILE_DESKTOP_BREAKPOINT) { + this.linksWrapMaxWidth = null + } else { + this.linksWrapMaxWidth = this.$el.offsetWidth - NAVBAR_VERTICAL_PADDING - + (this.$refs.siteName && this.$refs.siteName.offsetWidth || 0) + } + } + handleLinksWrapWidth() + window.addEventListener('resize', handleLinksWrapWidth, false) + }, + + computed: { + algolia () { + return this.$themeLocaleConfig.algolia || this.$site.themeConfig.algolia || {} + }, + + isAlgoliaSearch () { + return this.algolia && this.algolia.apiKey && this.algolia.indexName + } + } +} + +function css (el, property) { + // NOTE: Known bug, will return 'auto' if style value is 'auto' + const win = el.ownerDocument.defaultView + // null means not to return pseudo styles + return win.getComputedStyle(el, null)[property] +} +</script> + +<style lang="stylus"> +@import './styles/config.styl' + +$navbar-vertical-padding = 0.7rem +$navbar-horizontal-padding = 1.5rem + +.navbar + padding $navbar-vertical-padding $navbar-horizontal-padding + line-height $navbarHeight - 1.4rem + position relative + a, span, img + display inline-block + .logo + height $navbarHeight - 1.4rem + min-width $navbarHeight - 1.4rem + margin-right 0.8rem + vertical-align top + .site-name + font-size 1.3rem + font-weight 600 + color $textColor + position relative + .links + padding-left 1.5rem + box-sizing border-box + background-color white + white-space nowrap + font-size 0.9rem + position absolute + right $navbar-horizontal-padding + top $navbar-vertical-padding + display flex + .search-box + flex: 0 0 auto + vertical-align top + .nav-links + flex 1 + +@media (max-width: $MQMobile) + .navbar + padding-left 4rem + .can-hide + display none + .links + padding-left 1.5rem +</style> diff --git a/node_modules/vuepress/lib/default-theme/NotFound.vue b/node_modules/vuepress/lib/default-theme/NotFound.vue new file mode 100644 index 00000000..6aefe797 --- /dev/null +++ b/node_modules/vuepress/lib/default-theme/NotFound.vue @@ -0,0 +1,26 @@ +<template> + <div class="theme-container"> + <div class="content"> + <h1>404</h1> + <blockquote>{{ getMsg() }}</blockquote> + <router-link to="/">Take me home.</router-link> + </div> + </div> +</template> + +<script> +const msgs = [ + `There's nothing here.`, + `How did we get here?`, + `That's a Four-Oh-Four.`, + `Looks like we've got some broken links.` +] + +export default { + methods: { + getMsg () { + return msgs[Math.floor(Math.random() * msgs.length)] + } + } +} +</script> diff --git a/node_modules/vuepress/lib/default-theme/Page.vue b/node_modules/vuepress/lib/default-theme/Page.vue new file mode 100644 index 00000000..37d65b41 --- /dev/null +++ b/node_modules/vuepress/lib/default-theme/Page.vue @@ -0,0 +1,246 @@ +<template> + <div class="page"> + <slot name="top"/> + + <Content :custom="false"/> + + <div class="page-edit"> + <div + class="edit-link" + v-if="editLink" + > + <a + :href="editLink" + target="_blank" + rel="noopener noreferrer" + >{{ editLinkText }}</a> + <OutboundLink/> + </div> + + <div + class="last-updated" + v-if="lastUpdated" + > + <span class="prefix">{{ lastUpdatedText }}: </span> + <span class="time">{{ lastUpdated }}</span> + </div> + </div> + + <div class="page-nav" v-if="prev || next"> + <p class="inner"> + <span + v-if="prev" + class="prev" + > + ← + <router-link + v-if="prev" + class="prev" + :to="prev.path" + > + {{ prev.title || prev.path }} + </router-link> + </span> + + <span + v-if="next" + class="next" + > + <router-link + v-if="next" + :to="next.path" + > + {{ next.title || next.path }} + </router-link> + → + </span> + </p> + </div> + + <slot name="bottom"/> + </div> +</template> + +<script> +import { resolvePage, normalize, outboundRE, endingSlashRE } from './util' + +export default { + props: ['sidebarItems'], + + computed: { + lastUpdated () { + if (this.$page.lastUpdated) { + return new Date(this.$page.lastUpdated).toLocaleString(this.$lang) + } + }, + + lastUpdatedText () { + if (typeof this.$themeLocaleConfig.lastUpdated === 'string') { + return this.$themeLocaleConfig.lastUpdated + } + if (typeof this.$site.themeConfig.lastUpdated === 'string') { + return this.$site.themeConfig.lastUpdated + } + return 'Last Updated' + }, + + prev () { + const prev = this.$page.frontmatter.prev + if (prev === false) { + return + } else if (prev) { + return resolvePage(this.$site.pages, prev, this.$route.path) + } else { + return resolvePrev(this.$page, this.sidebarItems) + } + }, + + next () { + const next = this.$page.frontmatter.next + if (next === false) { + return + } else if (next) { + return resolvePage(this.$site.pages, next, this.$route.path) + } else { + return resolveNext(this.$page, this.sidebarItems) + } + }, + + editLink () { + if (this.$page.frontmatter.editLink === false) { + return + } + const { + repo, + editLinks, + docsDir = '', + docsBranch = 'master', + docsRepo = repo + } = this.$site.themeConfig + + let path = normalize(this.$page.path) + if (endingSlashRE.test(path)) { + path += 'README.md' + } else { + path += '.md' + } + if (docsRepo && editLinks) { + return this.createEditLink(repo, docsRepo, docsDir, docsBranch, path) + } + }, + + editLinkText () { + return ( + this.$themeLocaleConfig.editLinkText || + this.$site.themeConfig.editLinkText || + `Edit this page` + ) + } + }, + + methods: { + createEditLink (repo, docsRepo, docsDir, docsBranch, path) { + const bitbucket = /bitbucket.org/ + if (bitbucket.test(repo)) { + const base = outboundRE.test(docsRepo) + ? docsRepo + : repo + return ( + base.replace(endingSlashRE, '') + + `/${docsBranch}` + + (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') + + path + + `?mode=edit&spa=0&at=${docsBranch}&fileviewer=file-view-default` + ) + } + + const base = outboundRE.test(docsRepo) + ? docsRepo + : `https://github.com/${docsRepo}` + + return ( + base.replace(endingSlashRE, '') + + `/edit/${docsBranch}` + + (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') + + path + ) + } + } +} + +function resolvePrev (page, items) { + return find(page, items, -1) +} + +function resolveNext (page, items) { + return find(page, items, 1) +} + +function find (page, items, offset) { + const res = [] + items.forEach(item => { + if (item.type === 'group') { + res.push(...item.children || []) + } else { + res.push(item) + } + }) + for (let i = 0; i < res.length; i++) { + const cur = res[i] + if (cur.type === 'page' && cur.path === page.path) { + return res[i + offset] + } + } +} +</script> + +<style lang="stylus"> +@import './styles/config.styl' +@require './styles/wrapper.styl' + +.page + padding-bottom 2rem + +.page-edit + @extend $wrapper + padding-top 1rem + padding-bottom 1rem + overflow auto + .edit-link + display inline-block + a + color lighten($textColor, 25%) + margin-right 0.25rem + .last-updated + float right + font-size 0.9em + .prefix + font-weight 500 + color lighten($textColor, 25%) + .time + font-weight 400 + color #aaa + +.page-nav + @extend $wrapper + padding-top 1rem + padding-bottom 0 + .inner + min-height 2rem + margin-top 0 + border-top 1px solid $borderColor + padding-top 1rem + overflow auto // clear float + .next + float right + +@media (max-width: $MQMobile) + .page-edit + .edit-link + margin-bottom .5rem + .last-updated + font-size .8em + float none + text-align left + +</style> diff --git a/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue b/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue new file mode 100644 index 00000000..b224db31 --- /dev/null +++ b/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue @@ -0,0 +1,85 @@ +<template> + <transition name="sw-update-popup"> + <div + v-if="enabled" + class="sw-update-popup" + > + {{message}}<br> + <button @click="reload">{{buttonText}}</button> + </div> + </transition> +</template> + +<script> +export default { + props: { + updateEvent: { + type: Object, + default: null + } + }, + + computed: { + popupConfig () { + for (const config of [this.$themeLocaleConfig, this.$site.themeConfig]) { + const sw = config.serviceWorker + if (sw && sw.updatePopup) { + return typeof sw.updatePopup === 'object' ? sw.updatePopup : {} + } + } + return null + }, + + enabled () { + return Boolean(this.popupConfig && this.updateEvent) + }, + + message () { + const c = this.popupConfig + return (c && c.message) || 'New content is available.' + }, + + buttonText () { + const c = this.popupConfig + return (c && c.buttonText) || 'Refresh' + } + }, + + methods: { + reload () { + if (this.updateEvent) { + this.updateEvent.skipWaiting().then(() => { + location.reload(true) + }) + this.updateEvent = null + } + } + } +} +</script> + +<style lang="stylus"> +@import './styles/config.styl' + +.sw-update-popup + position fixed + right 1em + bottom 1em + padding 1em + border 1px solid $accentColor + border-radius 3px + background #fff + box-shadow 0 4px 16px rgba(0, 0, 0, 0.5) + text-align center + + button + margin-top 0.5em + padding 0.25em 2em + +.sw-update-popup-enter-active, .sw-update-popup-leave-active + transition opacity 0.3s, transform 0.3s + +.sw-update-popup-enter, .sw-update-popup-leave-to + opacity 0 + transform translate(0, 50%) scale(0.5) +</style> diff --git a/node_modules/vuepress/lib/default-theme/SearchBox.vue b/node_modules/vuepress/lib/default-theme/SearchBox.vue new file mode 100644 index 00000000..98608552 --- /dev/null +++ b/node_modules/vuepress/lib/default-theme/SearchBox.vue @@ -0,0 +1,238 @@ +<template> + <div class="search-box"> + <input + @input="query = $event.target.value" + aria-label="Search" + :value="query" + :class="{ 'focused': focused }" + autocomplete="off" + spellcheck="false" + @focus="focused = true" + @blur="focused = false" + @keyup.enter="go(focusIndex)" + @keyup.up="onUp" + @keyup.down="onDown" + > + <ul + class="suggestions" + v-if="showSuggestions" + :class="{ 'align-right': alignRight }" + @mouseleave="unfocus" + > + <li + class="suggestion" + v-for="(s, i) in suggestions" + :class="{ focused: i === focusIndex }" + @mousedown="go(i)" + @mouseenter="focus(i)" + > + <a :href="s.path" @click.prevent> + <span class="page-title">{{ s.title || s.path }}</span> + <span v-if="s.header" class="header">> {{ s.header.title }}</span> + </a> + </li> + </ul> + </div> +</template> + +<script> +export default { + data () { + return { + query: '', + focused: false, + focusIndex: 0 + } + }, + + computed: { + showSuggestions () { + return ( + this.focused && + this.suggestions && + this.suggestions.length + ) + }, + + suggestions () { + const query = this.query.trim().toLowerCase() + if (!query) { + return + } + + const { pages, themeConfig } = this.$site + const max = themeConfig.searchMaxSuggestions || 5 + const localePath = this.$localePath + const matches = item => ( + item.title && + item.title.toLowerCase().indexOf(query) > -1 + ) + const res = [] + for (let i = 0; i < pages.length; i++) { + if (res.length >= max) break + const p = pages[i] + // filter out results that do not match current locale + if (this.getPageLocalePath(p) !== localePath) { + continue + } + if (matches(p)) { + res.push(p) + } else if (p.headers) { + for (let j = 0; j < p.headers.length; j++) { + if (res.length >= max) break + const h = p.headers[j] + if (matches(h)) { + res.push(Object.assign({}, p, { + path: p.path + '#' + h.slug, + header: h + })) + } + } + } + } + return res + }, + + // make suggestions align right when there are not enough items + alignRight () { + const navCount = (this.$site.themeConfig.nav || []).length + const repo = this.$site.repo ? 1 : 0 + return navCount + repo <= 2 + } + }, + + methods: { + getPageLocalePath (page) { + for (const localePath in this.$site.locales || {}) { + if (localePath !== '/' && page.path.indexOf(localePath) === 0) { + return localePath + } + } + return '/' + }, + + onUp () { + if (this.showSuggestions) { + if (this.focusIndex > 0) { + this.focusIndex-- + } else { + this.focusIndex = this.suggestions.length - 1 + } + } + }, + + onDown () { + if (this.showSuggestions) { + if (this.focusIndex < this.suggestions.length - 1) { + this.focusIndex++ + } else { + this.focusIndex = 0 + } + } + }, + + go (i) { + if (!this.showSuggestions) { + return + } + this.$router.push(this.suggestions[i].path) + this.query = '' + this.focusIndex = 0 + }, + + focus (i) { + this.focusIndex = i + }, + + unfocus () { + this.focusIndex = -1 + } + } +} +</script> + +<style lang="stylus"> +@import './styles/config.styl' + +.search-box + display inline-block + position relative + margin-right 1rem + input + cursor text + width 10rem + color lighten($textColor, 25%) + display inline-block + border 1px solid darken($borderColor, 10%) + border-radius 2rem + font-size 0.9rem + line-height 2rem + padding 0 0.5rem 0 2rem + outline none + transition all .2s ease + background #fff url(./search.svg) 0.6rem 0.5rem no-repeat + background-size 1rem + &:focus + cursor auto + border-color $accentColor + .suggestions + background #fff + width 20rem + position absolute + top 1.5rem + border 1px solid darken($borderColor, 10%) + border-radius 6px + padding 0.4rem + list-style-type none + &.align-right + right 0 + .suggestion + line-height 1.4 + padding 0.4rem 0.6rem + border-radius 4px + cursor pointer + a + white-space normal + color lighten($textColor, 35%) + .page-title + font-weight 600 + .header + font-size 0.9em + margin-left 0.25em + &.focused + background-color #f3f4f5 + a + color $accentColor + +@media (max-width: $MQNarrow) + .search-box + input + cursor pointer + width 0 + border-color transparent + position relative + &:focus + cursor text + left 0 + width 10rem + +@media (max-width: $MQNarrow) and (min-width: $MQMobile) + .search-box + .suggestions + left 0 + +@media (max-width: $MQMobile) + .search-box + margin-right 0 + input + left 1rem + .suggestions + right 0 + +@media (max-width: $MQMobileNarrow) + .search-box + .suggestions + width calc(100vw - 4rem) + input:focus + width 8rem +</style> diff --git a/node_modules/vuepress/lib/default-theme/Sidebar.vue b/node_modules/vuepress/lib/default-theme/Sidebar.vue new file mode 100644 index 00000000..7bcf0059 --- /dev/null +++ b/node_modules/vuepress/lib/default-theme/Sidebar.vue @@ -0,0 +1,113 @@ +<template> + <div class="sidebar"> + <NavLinks/> + <slot name="top"/> + <ul class="sidebar-links" v-if="items.length"> + <li v-for="(item, i) in items" :key="i"> + <SidebarGroup + v-if="item.type === 'group'" + :item="item" + :first="i === 0" + :open="i === openGroupIndex" + :collapsable="item.collapsable || item.collapsible" + @toggle="toggleGroup(i)" + /> + <SidebarLink v-else :item="item"/> + </li> + </ul> + <slot name="bottom"/> + </div> +</template> + +<script> +import SidebarGroup from './SidebarGroup.vue' +import SidebarLink from './SidebarLink.vue' +import NavLinks from './NavLinks.vue' +import { isActive } from './util' + +export default { + components: { SidebarGroup, SidebarLink, NavLinks }, + + props: ['items'], + + data () { + return { + openGroupIndex: 0 + } + }, + + created () { + this.refreshIndex() + }, + + watch: { + '$route' () { + this.refreshIndex() + } + }, + + methods: { + refreshIndex () { + const index = resolveOpenGroupIndex( + this.$route, + this.items + ) + if (index > -1) { + this.openGroupIndex = index + } + }, + + toggleGroup (index) { + this.openGroupIndex = index === this.openGroupIndex ? -1 : index + }, + + isActive (page) { + return isActive(this.$route, page.path) + } + } +} + +function resolveOpenGroupIndex (route, items) { + for (let i = 0; i < items.length; i++) { + const item = items[i] + if (item.type === 'group' && item.children.some(c => isActive(route, c.path))) { + return i + } + } + return -1 +} +</script> + +<style lang="stylus"> +@import './styles/config.styl' + +.sidebar + ul + padding 0 + margin 0 + list-style-type none + a + display inline-block + .nav-links + display none + border-bottom 1px solid $borderColor + padding 0.5rem 0 0.75rem 0 + a + font-weight 600 + .nav-item, .repo-link + display block + line-height 1.25rem + font-size 1.1em + padding 0.5rem 0 0.5rem 1.5rem + .sidebar-links + padding 1.5rem 0 + +@media (max-width: $MQMobile) + .sidebar + .nav-links + display block + .dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active::after + top calc(1rem - 2px) + .sidebar-links + padding 1rem 0 +</style> diff --git a/node_modules/vuepress/lib/default-theme/SidebarButton.vue b/node_modules/vuepress/lib/default-theme/SidebarButton.vue new file mode 100644 index 00000000..0a222434 --- /dev/null +++ b/node_modules/vuepress/lib/default-theme/SidebarButton.vue @@ -0,0 +1,28 @@ +<template> + <div class="sidebar-button" @click="$emit('toggle-sidebar')"> + <svg class="icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512"> + <path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z" class=""></path> + </svg> + </div> +</template> + +<style lang="stylus"> +@import './styles/config.styl' + +.sidebar-button + display none + width 1.25rem + height 1.25rem + position absolute + padding 0.6rem + top 0.6rem + left 1rem + .icon + display block + width 1.25rem + height 1.25rem + +@media (max-width: $MQMobile) + .sidebar-button + display block +</style> diff --git a/node_modules/vuepress/lib/default-theme/SidebarGroup.vue b/node_modules/vuepress/lib/default-theme/SidebarGroup.vue new file mode 100644 index 00000000..119dfa14 --- /dev/null +++ b/node_modules/vuepress/lib/default-theme/SidebarGroup.vue @@ -0,0 +1,77 @@ +<template> + <div + class="sidebar-group" + :class="{ first, collapsable }" + > + <p + class="sidebar-heading" + :class="{ open }" + @click="$emit('toggle')" + > + <span>{{ item.title }}</span> + <span + class="arrow" + v-if="collapsable" + :class="open ? 'down' : 'right'"> + </span> + </p> + + <DropdownTransition> + <ul + ref="items" + class="sidebar-group-items" + v-if="open || !collapsable" + > + <li v-for="child in item.children"> + <SidebarLink :item="child"/> + </li> + </ul> + </DropdownTransition> + </div> +</template> + +<script> +import SidebarLink from './SidebarLink.vue' +import DropdownTransition from './DropdownTransition.vue' + +export default { + name: 'SidebarGroup', + props: ['item', 'first', 'open', 'collapsable'], + components: { SidebarLink, DropdownTransition } +} +</script> + +<style lang="stylus"> +.sidebar-group + &:not(.first) + margin-top 1em + .sidebar-group + padding-left 0.5em + &:not(.collapsable) + .sidebar-heading + cursor auto + color inherit + +.sidebar-heading + color #999 + transition color .15s ease + cursor pointer + font-size 1.1em + font-weight bold + // text-transform uppercase + padding 0 1.5rem + margin-top 0 + margin-bottom 0.5rem + &.open, &:hover + color inherit + .arrow + position relative + top -0.12em + left 0.5em + &:.open .arrow + top -0.18em + +.sidebar-group-items + transition height .1s ease-out + overflow hidden +</style> diff --git a/node_modules/vuepress/lib/default-theme/SidebarLink.vue b/node_modules/vuepress/lib/default-theme/SidebarLink.vue new file mode 100644 index 00000000..8288bf96 --- /dev/null +++ b/node_modules/vuepress/lib/default-theme/SidebarLink.vue @@ -0,0 +1,91 @@ +<script> +import { isActive, hashRE, groupHeaders } from './util' + +export default { + functional: true, + + props: ['item'], + + render (h, { parent: { $page, $site, $route }, props: { item }}) { + // use custom active class matching logic + // due to edge case of paths ending with / + hash + const selfActive = isActive($route, item.path) + // for sidebar: auto pages, a hash link should be active if one of its child + // matches + const active = item.type === 'auto' + ? selfActive || item.children.some(c => isActive($route, item.basePath + '#' + c.slug)) + : selfActive + const link = renderLink(h, item.path, item.title || item.path, active) + const configDepth = $page.frontmatter.sidebarDepth != null + ? $page.frontmatter.sidebarDepth + : $site.themeConfig.sidebarDepth + const maxDepth = configDepth == null ? 1 : configDepth + const displayAllHeaders = !!$site.themeConfig.displayAllHeaders + if (item.type === 'auto') { + return [link, renderChildren(h, item.children, item.basePath, $route, maxDepth)] + } else if ((active || displayAllHeaders) && item.headers && !hashRE.test(item.path)) { + const children = groupHeaders(item.headers) + return [link, renderChildren(h, children, item.path, $route, maxDepth)] + } else { + return link + } + } +} + +function renderLink (h, to, text, active) { + return h('router-link', { + props: { + to, + activeClass: '', + exactActiveClass: '' + }, + class: { + active, + 'sidebar-link': true + } + }, text) +} + +function renderChildren (h, children, path, route, maxDepth, depth = 1) { + if (!children || depth > maxDepth) return null + return h('ul', { class: 'sidebar-sub-headers' }, children.map(c => { + const active = isActive(route, path + '#' + c.slug) + return h('li', { class: 'sidebar-sub-header' }, [ + renderLink(h, path + '#' + c.slug, c.title, active), + renderChildren(h, c.children, path, route, maxDepth, depth + 1) + ]) + })) +} +</script> + +<style lang="stylus"> +@import './styles/config.styl' + +.sidebar .sidebar-sub-headers + padding-left 1rem + font-size 0.95em + +a.sidebar-link + font-weight 400 + display inline-block + color $textColor + border-left 0.25rem solid transparent + padding 0.35rem 1rem 0.35rem 1.25rem + line-height 1.4 + width: 100% + box-sizing: border-box + &:hover + color $accentColor + &.active + font-weight 600 + color $accentColor + border-left-color $accentColor + .sidebar-group & + padding-left 2rem + .sidebar-sub-headers & + padding-top 0.25rem + padding-bottom 0.25rem + border-left none + &.active + font-weight 500 +</style> diff --git a/node_modules/vuepress/lib/default-theme/search.svg b/node_modules/vuepress/lib/default-theme/search.svg new file mode 100644 index 00000000..03d83913 --- /dev/null +++ b/node_modules/vuepress/lib/default-theme/search.svg @@ -0,0 +1 @@ +<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="12" height="13"><g stroke-width="2" stroke="#aaa" fill="none"><path d="M11.29 11.71l-4-4"/><circle cx="5" cy="5" r="4"/></g></svg> diff --git a/node_modules/vuepress/lib/default-theme/styles/arrow.styl b/node_modules/vuepress/lib/default-theme/styles/arrow.styl new file mode 100644 index 00000000..20bffc0d --- /dev/null +++ b/node_modules/vuepress/lib/default-theme/styles/arrow.styl @@ -0,0 +1,22 @@ +@require './config' + +.arrow + display inline-block + width 0 + height 0 + &.up + border-left 4px solid transparent + border-right 4px solid transparent + border-bottom 6px solid $arrowBgColor + &.down + border-left 4px solid transparent + border-right 4px solid transparent + border-top 6px solid $arrowBgColor + &.right + border-top 4px solid transparent + border-bottom 4px solid transparent + border-left 6px solid $arrowBgColor + &.left + border-top 4px solid transparent + border-bottom 4px solid transparent + border-right 6px solid $arrowBgColor diff --git a/node_modules/vuepress/lib/default-theme/styles/code.styl b/node_modules/vuepress/lib/default-theme/styles/code.styl new file mode 100644 index 00000000..8383c6e3 --- /dev/null +++ b/node_modules/vuepress/lib/default-theme/styles/code.styl @@ -0,0 +1,129 @@ +@require './config' + +.content + code + color lighten($textColor, 20%) + padding 0.25rem 0.5rem + margin 0 + font-size 0.85em + background-color rgba(27,31,35,0.05) + border-radius 3px + +.content + pre, pre[class*="language-"] + line-height 1.4 + padding 1.25rem 1.5rem + margin 0.85rem 0 + background-color $codeBgColor + border-radius 6px + overflow auto + code + color #fff + padding 0 + background-color transparent + border-radius 0 + +div[class*="language-"] + position relative + background-color $codeBgColor + border-radius 6px + .highlight-lines + user-select none + padding-top 1.3rem + position absolute + top 0 + left 0 + width 100% + line-height 1.4 + .highlighted + background-color rgba(0, 0, 0, 66%) + pre, pre[class*="language-"] + background transparent + position relative + z-index 1 + &::before + position absolute + z-index 3 + top 0.8em + right 1em + font-size 0.75rem + color rgba(255, 255, 255, 0.4) + &:not(.line-numbers-mode) + .line-numbers-wrapper + display none + &.line-numbers-mode + .highlight-lines .highlighted + position relative + &:before + content ' ' + position absolute + z-index 3 + left 0 + top 0 + display block + width $lineNumbersWrapperWidth + height 100% + background-color rgba(0, 0, 0, 66%) + pre + padding-left $lineNumbersWrapperWidth + 1 rem + vertical-align middle + .line-numbers-wrapper + position absolute + top 0 + width $lineNumbersWrapperWidth + text-align center + color rgba(255, 255, 255, 0.3) + padding 1.25rem 0 + line-height 1.4 + br + user-select none + .line-number + position relative + z-index 4 + user-select none + font-size 0.85em + &::after + content '' + position absolute + z-index 2 + top 0 + left 0 + width $lineNumbersWrapperWidth + height 100% + border-radius 6px 0 0 6px + border-right 1px solid rgba(0, 0, 0, 66%) + background-color $codeBgColor + + +for lang in $codeLang + div{'[class~="language-' + lang + '"]'} + &:before + content ('' + lang) + +div[class~="language-javascript"] + &:before + content "js" + +div[class~="language-typescript"] + &:before + content "ts" + +div[class~="language-markup"] + &:before + content "html" + +div[class~="language-markdown"] + &:before + content "md" + +div[class~="language-json"]:before + content "json" + +div[class~="language-ruby"]:before + content "rb" + +div[class~="language-python"]:before + content "py" + +div[class~="language-bash"]:before + content "sh" diff --git a/node_modules/vuepress/lib/default-theme/styles/config.styl b/node_modules/vuepress/lib/default-theme/styles/config.styl new file mode 100644 index 00000000..a57d4484 --- /dev/null +++ b/node_modules/vuepress/lib/default-theme/styles/config.styl @@ -0,0 +1,22 @@ +// colors +$accentColor = #3eaf7c +$textColor = #2c3e50 +$borderColor = #eaecef +$codeBgColor = #282c34 +$arrowBgColor = #ccc + +// layout +$navbarHeight = 3.6rem +$sidebarWidth = 20rem +$contentWidth = 740px + +// responsive breakpoints +$MQNarrow = 959px +$MQMobile = 719px +$MQMobileNarrow = 419px + +// code +$lineNumbersWrapperWidth = 3.5rem +$codeLang = js ts html md vue css sass scss less stylus go java c sh yaml py + +@import '~@temp/override.styl' diff --git a/node_modules/vuepress/lib/default-theme/styles/custom-blocks.styl b/node_modules/vuepress/lib/default-theme/styles/custom-blocks.styl new file mode 100644 index 00000000..3ccc2df2 --- /dev/null +++ b/node_modules/vuepress/lib/default-theme/styles/custom-blocks.styl @@ -0,0 +1,28 @@ +.custom-block + .custom-block-title + font-weight 600 + margin-bottom -0.4rem + &.tip, &.warning, &.danger + padding .1rem 1.5rem + border-left-width .5rem + border-left-style solid + margin 1rem 0 + &.tip + background-color #f3f5f7 + border-color #42b983 + &.warning + background-color rgba(255,229,100,.3) + border-color darken(#ffe564, 35%) + color darken(#ffe564, 70%) + .custom-block-title + color darken(#ffe564, 50%) + a + color $textColor + &.danger + background-color #ffe6e6 + border-color darken(red, 20%) + color darken(red, 70%) + .custom-block-title + color darken(red, 40%) + a + color $textColor diff --git a/node_modules/vuepress/lib/default-theme/styles/mobile.styl b/node_modules/vuepress/lib/default-theme/styles/mobile.styl new file mode 100644 index 00000000..b35e59c5 --- /dev/null +++ b/node_modules/vuepress/lib/default-theme/styles/mobile.styl @@ -0,0 +1,37 @@ +@require './config' + +$mobileSidebarWidth = $sidebarWidth * 0.82 + +// narrow desktop / iPad +@media (max-width: $MQNarrow) + .sidebar + font-size 15px + width $mobileSidebarWidth + .page + padding-left $mobileSidebarWidth + +// wide mobile +@media (max-width: $MQMobile) + .sidebar + top 0 + padding-top $navbarHeight + transform translateX(-100%) + transition transform .2s ease + .page + padding-left 0 + .theme-container + &.sidebar-open + .sidebar + transform translateX(0) + &.no-navbar + .sidebar + padding-top: 0 + +// narrow mobile +@media (max-width: $MQMobileNarrow) + h1 + font-size 1.9rem + .content + div[class*="language-"] + margin 0.85rem -1.5rem + border-radius 0 diff --git a/node_modules/vuepress/lib/default-theme/styles/nprogress.styl b/node_modules/vuepress/lib/default-theme/styles/nprogress.styl new file mode 100644 index 00000000..f186a67e --- /dev/null +++ b/node_modules/vuepress/lib/default-theme/styles/nprogress.styl @@ -0,0 +1,48 @@ +#nprogress + pointer-events none + .bar + background $accentColor + position fixed + z-index 1031 + top 0 + left 0 + width 100% + height 2px + .peg + display block + position absolute + right 0px + width 100px + height 100% + box-shadow 0 0 10px $accentColor, 0 0 5px $accentColor + opacity 1.0 + transform rotate(3deg) translate(0px, -4px) + .spinner + display block + position fixed + z-index 1031 + top 15px + right 15px + .spinner-icon + width 18px + height 18px + box-sizing border-box + border solid 2px transparent + border-top-color $accentColor + border-left-color $accentColor + border-radius 50% + animation nprogress-spinner 400ms linear infinite + +.nprogress-custom-parent + overflow hidden + position relative + +.nprogress-custom-parent #nprogress .spinner, +.nprogress-custom-parent #nprogress .bar + position absolute + +@keyframes nprogress-spinner + 0% + transform rotate(0deg) + 100% + transform rotate(360deg) diff --git a/node_modules/vuepress/lib/default-theme/styles/theme.styl b/node_modules/vuepress/lib/default-theme/styles/theme.styl new file mode 100644 index 00000000..a733861f --- /dev/null +++ b/node_modules/vuepress/lib/default-theme/styles/theme.styl @@ -0,0 +1,190 @@ +@require './config' +@require './nprogress' +@require './code' +@require './custom-blocks' +@require './arrow' +@require './wrapper' +@require './toc' + +html, body + padding 0 + margin 0 + +body + font-family -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif + -webkit-font-smoothing antialiased + -moz-osx-font-smoothing grayscale + font-size 16px + color $textColor + +.page + padding-left $sidebarWidth + +.navbar + position fixed + z-index 20 + top 0 + left 0 + right 0 + height $navbarHeight + background-color #fff + box-sizing border-box + border-bottom 1px solid $borderColor + +.sidebar-mask + position fixed + z-index 9 + top 0 + left 0 + width 100vw + height 100vh + display none + +.sidebar + font-size 15px + background-color #fff + width $sidebarWidth + position fixed + z-index 10 + margin 0 + top $navbarHeight + left 0 + bottom 0 + box-sizing border-box + border-right 1px solid $borderColor + overflow-y auto + +.content:not(.custom) + @extend $wrapper + > *:first-child + margin-top $navbarHeight + a:hover + text-decoration underline + p.demo + padding 1rem 1.5rem + border 1px solid #ddd + border-radius 4px + img + max-width 100% + +.content.custom + padding 0 + margin 0 + img + max-width 100% + +a + font-weight 500 + color $accentColor + text-decoration none + +p a code + font-weight 400 + color $accentColor + +kbd + background #eee + border solid 0.15rem #ddd + border-bottom solid 0.25rem #ddd + border-radius 0.15rem + padding 0 0.15em + +blockquote + font-size 1.2rem + color #999 + border-left .25rem solid #dfe2e5 + margin-left 0 + padding-left 1rem + +ul, ol + padding-left 1.2em + +strong + font-weight 600 + +h1, h2, h3, h4, h5, h6 + font-weight 600 + line-height 1.25 + .content:not(.custom) > & + margin-top (0.5rem - $navbarHeight) + padding-top ($navbarHeight + 1rem) + margin-bottom 0 + &:first-child + margin-top -1.5rem + margin-bottom 1rem + + p, + pre, + .custom-block + margin-top 2rem + &:hover .header-anchor + opacity: 1 + +h1 + font-size 2.2rem + +h2 + font-size 1.65rem + padding-bottom .3rem + border-bottom 1px solid $borderColor + +h3 + font-size 1.35rem + +a.header-anchor + font-size 0.85em + float left + margin-left -0.87em + padding-right 0.23em + margin-top 0.125em + opacity 0 + &:hover + text-decoration none + +code, kbd, .line-number + font-family source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace + +p, ul, ol + line-height 1.7 + +hr + border 0 + border-top 1px solid $borderColor + +table + border-collapse collapse + margin 1rem 0 + display: block + overflow-x: auto + +tr + border-top 1px solid #dfe2e5 + &:nth-child(2n) + background-color #f6f8fa + +th, td + border 1px solid #dfe2e5 + padding .6em 1em + +.custom-layout + padding-top $navbarHeight + +.theme-container + &.sidebar-open + .sidebar-mask + display: block + &.no-navbar + .content:not(.custom) > h1, h2, h3, h4, h5, h6 + margin-top 1.5rem + padding-top 0 + .sidebar + top 0 + .custom-layout + padding-top 0 + + +@media (min-width: ($MQMobile + 1px)) + .theme-container.no-sidebar + .sidebar + display none + .page + padding-left 0 + +@require './mobile.styl' diff --git a/node_modules/vuepress/lib/default-theme/styles/toc.styl b/node_modules/vuepress/lib/default-theme/styles/toc.styl new file mode 100644 index 00000000..d3e71069 --- /dev/null +++ b/node_modules/vuepress/lib/default-theme/styles/toc.styl @@ -0,0 +1,3 @@ +.table-of-contents + .badge + vertical-align middle diff --git a/node_modules/vuepress/lib/default-theme/styles/wrapper.styl b/node_modules/vuepress/lib/default-theme/styles/wrapper.styl new file mode 100644 index 00000000..a99262c7 --- /dev/null +++ b/node_modules/vuepress/lib/default-theme/styles/wrapper.styl @@ -0,0 +1,9 @@ +$wrapper + max-width $contentWidth + margin 0 auto + padding 2rem 2.5rem + @media (max-width: $MQNarrow) + padding 2rem + @media (max-width: $MQMobileNarrow) + padding 1.5rem + diff --git a/node_modules/vuepress/lib/default-theme/util.js b/node_modules/vuepress/lib/default-theme/util.js new file mode 100644 index 00000000..ef95bea5 --- /dev/null +++ b/node_modules/vuepress/lib/default-theme/util.js @@ -0,0 +1,216 @@ +export const hashRE = /#.*$/ +export const extRE = /\.(md|html)$/ +export const endingSlashRE = /\/$/ +export const outboundRE = /^(https?:|mailto:|tel:)/ + +export function normalize (path) { + return decodeURI(path) + .replace(hashRE, '') + .replace(extRE, '') +} + +export function getHash (path) { + const match = path.match(hashRE) + if (match) { + return match[0] + } +} + +export function isExternal (path) { + return outboundRE.test(path) +} + +export function isMailto (path) { + return /^mailto:/.test(path) +} + +export function isTel (path) { + return /^tel:/.test(path) +} + +export function ensureExt (path) { + if (isExternal(path)) { + return path + } + const hashMatch = path.match(hashRE) + const hash = hashMatch ? hashMatch[0] : '' + const normalized = normalize(path) + + if (endingSlashRE.test(normalized)) { + return path + } + return normalized + '.html' + hash +} + +export function isActive (route, path) { + const routeHash = route.hash + const linkHash = getHash(path) + if (linkHash && routeHash !== linkHash) { + return false + } + const routePath = normalize(route.path) + const pagePath = normalize(path) + return routePath === pagePath +} + +export function resolvePage (pages, rawPath, base) { + if (base) { + rawPath = resolvePath(rawPath, base) + } + const path = normalize(rawPath) + for (let i = 0; i < pages.length; i++) { + if (normalize(pages[i].path) === path) { + return Object.assign({}, pages[i], { + type: 'page', + path: ensureExt(rawPath) + }) + } + } + console.error(`[vuepress] No matching page found for sidebar item "${rawPath}"`) + return {} +} + +function resolvePath (relative, base, append) { + const firstChar = relative.charAt(0) + if (firstChar === '/') { + return relative + } + + if (firstChar === '?' || firstChar === '#') { + return base + relative + } + + const stack = base.split('/') + + // remove trailing segment if: + // - not appending + // - appending to trailing slash (last segment is empty) + if (!append || !stack[stack.length - 1]) { + stack.pop() + } + + // resolve relative path + const segments = relative.replace(/^\//, '').split('/') + for (let i = 0; i < segments.length; i++) { + const segment = segments[i] + if (segment === '..') { + stack.pop() + } else if (segment !== '.') { + stack.push(segment) + } + } + + // ensure leading slash + if (stack[0] !== '') { + stack.unshift('') + } + + return stack.join('/') +} + +export function resolveSidebarItems (page, route, site, localePath) { + const { pages, themeConfig } = site + + const localeConfig = localePath && themeConfig.locales + ? themeConfig.locales[localePath] || themeConfig + : themeConfig + + const pageSidebarConfig = page.frontmatter.sidebar || localeConfig.sidebar || themeConfig.sidebar + if (pageSidebarConfig === 'auto') { + return resolveHeaders(page) + } + + const sidebarConfig = localeConfig.sidebar || themeConfig.sidebar + if (!sidebarConfig) { + return [] + } else { + const { base, config } = resolveMatchingConfig(route, sidebarConfig) + return config + ? config.map(item => resolveItem(item, pages, base)) + : [] + } +} + +function resolveHeaders (page) { + const headers = groupHeaders(page.headers || []) + return [{ + type: 'group', + collapsable: false, + title: page.title, + children: headers.map(h => ({ + type: 'auto', + title: h.title, + basePath: page.path, + path: page.path + '#' + h.slug, + children: h.children || [] + })) + }] +} + +export function groupHeaders (headers) { + // group h3s under h2 + headers = headers.map(h => Object.assign({}, h)) + let lastH2 + headers.forEach(h => { + if (h.level === 2) { + lastH2 = h + } else if (lastH2) { + (lastH2.children || (lastH2.children = [])).push(h) + } + }) + return headers.filter(h => h.level === 2) +} + +export function resolveNavLinkItem (linkItem) { + return Object.assign(linkItem, { + type: linkItem.items && linkItem.items.length ? 'links' : 'link' + }) +} + +export function resolveMatchingConfig (route, config) { + if (Array.isArray(config)) { + return { + base: '/', + config: config + } + } + for (const base in config) { + if (ensureEndingSlash(route.path).indexOf(base) === 0) { + return { + base, + config: config[base] + } + } + } + return {} +} + +function ensureEndingSlash (path) { + return /(\.html|\/)$/.test(path) + ? path + : path + '/' +} + +function resolveItem (item, pages, base, isNested) { + if (typeof item === 'string') { + return resolvePage(pages, item, base) + } else if (Array.isArray(item)) { + return Object.assign(resolvePage(pages, item[0], base), { + title: item[1] + }) + } else { + if (isNested) { + console.error( + '[vuepress] Nested sidebar groups are not supported. ' + + 'Consider using navbar + categories instead.' + ) + } + const children = item.children || [] + return { + type: 'group', + title: item.title, + children: children.map(child => resolveItem(child, pages, base, true)), + collapsable: item.collapsable !== false + } + } +} diff --git a/node_modules/vuepress/lib/dev.js b/node_modules/vuepress/lib/dev.js new file mode 100644 index 00000000..ba909d99 --- /dev/null +++ b/node_modules/vuepress/lib/dev.js @@ -0,0 +1,149 @@ +module.exports = async function dev (sourceDir, cliOptions = {}) { + const fs = require('fs') + const path = require('path') + const chalk = require('chalk') + const webpack = require('webpack') + const chokidar = require('chokidar') + const serve = require('webpack-serve') + const convert = require('koa-connect') + const mount = require('koa-mount') + const range = require('koa-range') + const serveStatic = require('koa-static') + const history = require('connect-history-api-fallback') + + const prepare = require('./prepare') + const logger = require('./util/logger') + const HeadPlugin = require('./webpack/HeadPlugin') + const DevLogPlugin = require('./webpack/DevLogPlugin') + const createClientConfig = require('./webpack/createClientConfig') + const { applyUserWebpackConfig } = require('./util') + const { frontmatterEmitter } = require('./webpack/markdownLoader') + + logger.wait('\nExtracting site metadata...') + const options = await prepare(sourceDir) + + // setup watchers to update options and dynamically generated files + const update = () => { + prepare(sourceDir).catch(err => { + console.error(logger.error(chalk.red(err.stack), false)) + }) + } + + // watch add/remove of files + const pagesWatcher = chokidar.watch([ + '**/*.md', + '.vuepress/components/**/*.vue' + ], { + cwd: sourceDir, + ignored: '.vuepress/**/*.md', + ignoreInitial: true + }) + pagesWatcher.on('add', update) + pagesWatcher.on('unlink', update) + pagesWatcher.on('addDir', update) + pagesWatcher.on('unlinkDir', update) + + // watch config file + const configWatcher = chokidar.watch([ + '.vuepress/config.js', + '.vuepress/config.yml', + '.vuepress/config.toml' + ], { + cwd: sourceDir, + ignoreInitial: true + }) + configWatcher.on('change', update) + + // also listen for frontmatter changes from markdown files + frontmatterEmitter.on('update', update) + + // resolve webpack config + let config = createClientConfig(options, cliOptions) + + config + .plugin('html') + // using a fork of html-webpack-plugin to avoid it requiring webpack + // internals from an incompatible version. + .use(require('vuepress-html-webpack-plugin'), [{ + template: path.resolve(__dirname, 'app/index.dev.html') + }]) + + config + .plugin('site-data') + .use(HeadPlugin, [{ + tags: options.siteConfig.head || [] + }]) + + const port = await resolvePort(cliOptions.port || options.siteConfig.port) + const { host, displayHost } = await resolveHost(cliOptions.host || options.siteConfig.host) + + config + .plugin('vuepress-log') + .use(DevLogPlugin, [{ + port, + displayHost, + publicPath: options.publicPath + }]) + + config = config.toConfig() + const userConfig = options.siteConfig.configureWebpack + if (userConfig) { + config = applyUserWebpackConfig(userConfig, config, false /* isServer */) + } + + const compiler = webpack(config) + + const nonExistentDir = path.resolve(__dirname, 'non-existent') + await serve({ + // avoid project cwd from being served. Otherwise if the user has index.html + // in cwd it would break the server + content: [nonExistentDir], + compiler, + host, + dev: { logLevel: 'warn' }, + hot: { + port: port + 1, + logLevel: 'error' + }, + logLevel: 'error', + port, + add: app => { + const userPublic = path.resolve(sourceDir, '.vuepress/public') + + // enable range request + app.use(range) + + // respect base when serving static files... + if (fs.existsSync(userPublic)) { + app.use(mount(options.publicPath, serveStatic(userPublic))) + } + + app.use(convert(history({ + rewrites: [ + { from: /\.html$/, to: '/' } + ] + }))) + } + }) +} + +function resolveHost (host) { + // webpack-serve hot updates doesn't work properly over 0.0.0.0 on Windows, + // but localhost does not allow visiting over network :/ + const defaultHost = process.platform === 'win32' ? 'localhost' : '0.0.0.0' + host = host || defaultHost + const displayHost = host === defaultHost && process.platform !== 'win32' + ? 'localhost' + : host + return { + displayHost, + host + } +} + +async function resolvePort (port) { + const portfinder = require('portfinder') + portfinder.basePort = parseInt(port) || 8080 + port = await portfinder.getPortPromise() + return port +} diff --git a/node_modules/vuepress/lib/eject.js b/node_modules/vuepress/lib/eject.js new file mode 100644 index 00000000..e96b00fd --- /dev/null +++ b/node_modules/vuepress/lib/eject.js @@ -0,0 +1,16 @@ +const fs = require('fs-extra') +const path = require('path') +const chalk = require('chalk') +const logger = require('./util/logger') + +module.exports = async (dir) => { + const source = path.resolve(__dirname, 'default-theme') + const target = path.resolve(dir, '.vuepress/theme') + await fs.copy(source, target) + // remove the import to default theme override + const styleConfig = path.resolve(target, 'styles/config.styl') + const content = await fs.readFile(styleConfig, 'utf-8') + const transformed = content.split('\n').slice(0, -2).join('\n') + await fs.writeFile(styleConfig, transformed) + logger.success(`\nCopied default theme into ${chalk.cyan(target)}.\n`) +} diff --git a/node_modules/vuepress/lib/index.js b/node_modules/vuepress/lib/index.js new file mode 100644 index 00000000..8e4d4a19 --- /dev/null +++ b/node_modules/vuepress/lib/index.js @@ -0,0 +1,4 @@ +exports.dev = require('./dev') +exports.build = require('./build') +exports.eject = require('./eject') +Object.assign(exports, require('./util')) diff --git a/node_modules/vuepress/lib/markdown/component.js b/node_modules/vuepress/lib/markdown/component.js new file mode 100644 index 00000000..1aab66e8 --- /dev/null +++ b/node_modules/vuepress/lib/markdown/component.js @@ -0,0 +1,81 @@ +// Replacing the default htmlBlock rule to allow using custom components at +// root level + +const blockNames = require('markdown-it/lib/common/html_blocks') +const HTML_OPEN_CLOSE_TAG_RE = require('markdown-it/lib/common/html_re').HTML_OPEN_CLOSE_TAG_RE + +// An array of opening and corresponding closing sequences for html tags, +// last argument defines whether it can terminate a paragraph or not +const HTML_SEQUENCES = [ + [/^<(script|pre|style)(?=(\s|>|$))/i, /<\/(script|pre|style)>/i, true], + [/^<!--/, /-->/, true], + [/^<\?/, /\?>/, true], + [/^<![A-Z]/, />/, true], + [/^<!\[CDATA\[/, /\]\]>/, true], + // PascalCase Components + [/^<[A-Z]/, />/, true], + // custom elements with hyphens + [/^<\w+\-/, />/, true], + [new RegExp('^</?(' + blockNames.join('|') + ')(?=(\\s|/?>|$))', 'i'), /^$/, true], + [new RegExp(HTML_OPEN_CLOSE_TAG_RE.source + '\\s*$'), /^$/, false] +] + +module.exports = md => { + md.block.ruler.at('html_block', htmlBlock) +} + +function htmlBlock (state, startLine, endLine, silent) { + let i, nextLine, lineText + let pos = state.bMarks[startLine] + state.tShift[startLine] + let max = state.eMarks[startLine] + + // if it's indented more than 3 spaces, it should be a code block + if (state.sCount[startLine] - state.blkIndent >= 4) { return false } + + if (!state.md.options.html) { return false } + + if (state.src.charCodeAt(pos) !== 0x3C/* < */) { return false } + + lineText = state.src.slice(pos, max) + + for (i = 0; i < HTML_SEQUENCES.length; i++) { + if (HTML_SEQUENCES[i][0].test(lineText)) { break } + } + + if (i === HTML_SEQUENCES.length) { + console.log(lineText) + return false + } + + if (silent) { + // true if this sequence can be a terminator, false otherwise + return HTML_SEQUENCES[i][2] + } + + nextLine = startLine + 1 + + // If we are here - we detected HTML block. + // Let's roll down till block end. + if (!HTML_SEQUENCES[i][1].test(lineText)) { + for (; nextLine < endLine; nextLine++) { + if (state.sCount[nextLine] < state.blkIndent) { break } + + pos = state.bMarks[nextLine] + state.tShift[nextLine] + max = state.eMarks[nextLine] + lineText = state.src.slice(pos, max) + + if (HTML_SEQUENCES[i][1].test(lineText)) { + if (lineText.length !== 0) { nextLine++ } + break + } + } + } + + state.line = nextLine + + const token = state.push('html_block', '', 0) + token.map = [startLine, nextLine] + token.content = state.getLines(startLine, nextLine, state.blkIndent, true) + + return true +} diff --git a/node_modules/vuepress/lib/markdown/containers.js b/node_modules/vuepress/lib/markdown/containers.js new file mode 100644 index 00000000..215c4534 --- /dev/null +++ b/node_modules/vuepress/lib/markdown/containers.js @@ -0,0 +1,28 @@ +const container = require('markdown-it-container') + +module.exports = md => { + md + .use(...createContainer('tip', 'TIP')) + .use(...createContainer('warning', 'WARNING')) + .use(...createContainer('danger', 'WARNING')) + // explicitly escape Vue syntax + .use(container, 'v-pre', { + render: (tokens, idx) => tokens[idx].nesting === 1 + ? `<div v-pre>\n` + : `</div>\n` + }) +} + +function createContainer (klass, defaultTitle) { + return [container, klass, { + render (tokens, idx) { + const token = tokens[idx] + const info = token.info.trim().slice(klass.length).trim() + if (token.nesting === 1) { + return `<div class="${klass} custom-block"><p class="custom-block-title">${info || defaultTitle}</p>\n` + } else { + return `</div>\n` + } + } + }] +} diff --git a/node_modules/vuepress/lib/markdown/highlight.js b/node_modules/vuepress/lib/markdown/highlight.js new file mode 100644 index 00000000..02d5e3ff --- /dev/null +++ b/node_modules/vuepress/lib/markdown/highlight.js @@ -0,0 +1,47 @@ +const chalk = require('chalk') +const prism = require('prismjs') +const loadLanguages = require('prismjs/components/index') +const escapeHtml = require('escape-html') +const logger = require('../util/logger') + +// required to make embedded highlighting work... +loadLanguages(['markup', 'css', 'javascript']) + +function wrap (code, lang) { + if (lang === 'text') { + code = escapeHtml(code) + } + return `<pre v-pre class="language-${lang}"><code>${code}</code></pre>` +} + +module.exports = (str, lang) => { + if (!lang) { + return wrap(str, 'text') + } + lang = lang.toLowerCase() + const rawLang = lang + if (lang === 'vue' || lang === 'html') { + lang = 'markup' + } + if (lang === 'md') { + lang = 'markdown' + } + if (lang === 'ts') { + lang = 'typescript' + } + if (lang === 'py') { + lang = 'python' + } + if (!prism.languages[lang]) { + try { + loadLanguages([lang]) + } catch (e) { + logger.warn(chalk.yellow(`[vuepress] Syntax highlight for language "${lang}" is not supported.`)) + } + } + if (prism.languages[lang]) { + const code = prism.highlight(str, prism.languages[lang], lang) + return wrap(code, rawLang) + } + return wrap(str, 'text') +} diff --git a/node_modules/vuepress/lib/markdown/highlightLines.js b/node_modules/vuepress/lib/markdown/highlightLines.js new file mode 100644 index 00000000..dd833432 --- /dev/null +++ b/node_modules/vuepress/lib/markdown/highlightLines.js @@ -0,0 +1,49 @@ +// Modified from https://github.com/egoist/markdown-it-highlight-lines + +const RE = /{([\d,-]+)}/ +const wrapperRE = /^<pre .*?><code>/ + +module.exports = md => { + const fence = md.renderer.rules.fence + md.renderer.rules.fence = (...args) => { + const [tokens, idx, options] = args + const token = tokens[idx] + + const rawInfo = token.info + if (!rawInfo || !RE.test(rawInfo)) { + return fence(...args) + } + + const langName = rawInfo.replace(RE, '').trim() + // ensure the next plugin get the correct lang. + token.info = langName + + const lineNumbers = RE.exec(rawInfo)[1] + .split(',') + .map(v => v.split('-').map(v => parseInt(v, 10))) + + const code = options.highlight + ? options.highlight(token.content, langName) + : token.content + + const rawCode = code.replace(wrapperRE, '') + const highlightLinesCode = rawCode.split('\n').map((split, index) => { + const lineNumber = index + 1 + const inRange = lineNumbers.some(([start, end]) => { + if (start && end) { + return lineNumber >= start && lineNumber <= end + } + return lineNumber === start + }) + if (inRange) { + return `<div class="highlighted"> </div>` + } + return '<br>' + }).join('') + + const highlightLinesWrapperCode = + `<div class="highlight-lines">${highlightLinesCode}</div>` + + return highlightLinesWrapperCode + code + } +} diff --git a/node_modules/vuepress/lib/markdown/hoist.js b/node_modules/vuepress/lib/markdown/hoist.js new file mode 100644 index 00000000..a6383398 --- /dev/null +++ b/node_modules/vuepress/lib/markdown/hoist.js @@ -0,0 +1,14 @@ +module.exports = md => { + const RE = /^<(script|style)(?=(\s|>|$))/i + + md.renderer.rules.html_block = (tokens, idx) => { + const content = tokens[idx].content + const hoistedTags = md.__data.hoistedTags || (md.__data.hoistedTags = []) + if (RE.test(content.trim())) { + hoistedTags.push(content) + return '' + } else { + return content + } + } +} diff --git a/node_modules/vuepress/lib/markdown/index.js b/node_modules/vuepress/lib/markdown/index.js new file mode 100644 index 00000000..f4942f6c --- /dev/null +++ b/node_modules/vuepress/lib/markdown/index.js @@ -0,0 +1,78 @@ +const highlight = require('./highlight') +const highlightLines = require('./highlightLines') +const preWrapper = require('./preWrapper') +const lineNumbers = require('./lineNumbers') +const component = require('./component') +const hoistScriptStyle = require('./hoist') +const convertRouterLink = require('./link') +const containers = require('./containers') +const snippet = require('./snippet') +const emoji = require('markdown-it-emoji') +const anchor = require('markdown-it-anchor') +const toc = require('markdown-it-table-of-contents') +const _slugify = require('./slugify') +const { parseHeaders } = require('../util/parseHeaders') + +module.exports = ({ markdown = {}} = {}) => { + // allow user config slugify + const slugify = markdown.slugify || _slugify + + const md = require('markdown-it')({ + html: true, + highlight + }) + // custom plugins + .use(component) + .use(highlightLines) + .use(preWrapper) + .use(snippet) + .use(convertRouterLink, Object.assign({ + target: '_blank', + rel: 'noopener noreferrer' + }, markdown.externalLinks)) + .use(hoistScriptStyle) + .use(containers) + + // 3rd party plugins + .use(emoji) + .use(anchor, Object.assign({ + slugify, + permalink: true, + permalinkBefore: true, + permalinkSymbol: '#' + }, markdown.anchor)) + .use(toc, Object.assign({ + slugify, + includeLevel: [2, 3], + format: parseHeaders + }, markdown.toc)) + + // apply user config + if (markdown.config) { + markdown.config(md) + } + + if (markdown.lineNumbers) { + md.use(lineNumbers) + } + + module.exports.dataReturnable(md) + + // expose slugify + md.slugify = slugify + + return md +} + +module.exports.dataReturnable = function dataReturnable (md) { + // override render to allow custom plugins return data + const render = md.render + md.render = (...args) => { + md.__data = {} + const html = render.call(md, ...args) + return { + html, + data: md.__data + } + } +} diff --git a/node_modules/vuepress/lib/markdown/lineNumbers.js b/node_modules/vuepress/lib/markdown/lineNumbers.js new file mode 100644 index 00000000..bc95d2b0 --- /dev/null +++ b/node_modules/vuepress/lib/markdown/lineNumbers.js @@ -0,0 +1,26 @@ +// markdown-it plugin for generating line numbers. +// It depends on preWrapper plugin. + +module.exports = md => { + const fence = md.renderer.rules.fence + md.renderer.rules.fence = (...args) => { + const rawCode = fence(...args) + const code = rawCode.slice( + rawCode.indexOf('<code>'), + rawCode.indexOf('</code>') + ) + + const lines = code.split('\n') + const lineNumbersCode = [...Array(lines.length - 1)] + .map((line, index) => `<span class="line-number">${index + 1}</span><br>`).join('') + + const lineNumbersWrapperCode = + `<div class="line-numbers-wrapper">${lineNumbersCode}</div>` + + const finalCode = rawCode + .replace('<!--beforeend-->', `${lineNumbersWrapperCode}<!--beforeend-->`) + .replace('extra-class', 'line-numbers-mode') + + return finalCode + } +} diff --git a/node_modules/vuepress/lib/markdown/link.js b/node_modules/vuepress/lib/markdown/link.js new file mode 100644 index 00000000..bbe9550d --- /dev/null +++ b/node_modules/vuepress/lib/markdown/link.js @@ -0,0 +1,91 @@ +// markdown-it plugin for: +// 1. adding target="_blank" to external links +// 2. converting internal links to <router-link> + +const indexRE = /(.*)(index|readme).md(#?.*)$/i + +module.exports = (md, externalAttrs) => { + let hasOpenRouterLink = false + let hasOpenExternalLink = false + + md.renderer.rules.link_open = (tokens, idx, options, env, self) => { + const token = tokens[idx] + const hrefIndex = token.attrIndex('href') + if (hrefIndex >= 0) { + const link = token.attrs[hrefIndex] + const href = link[1] + const isExternal = /^https?:/.test(href) + const isSourceLink = /(\/|\.md|\.html)(#.*)?$/.test(href) + if (isExternal) { + Object.entries(externalAttrs).forEach(([key, val]) => { + token.attrSet(key, val) + }) + if (/_blank/i.test(externalAttrs['target'])) { + hasOpenExternalLink = true + } + } else if (isSourceLink) { + hasOpenRouterLink = true + tokens[idx] = toRouterLink(token, link) + } + } + return self.renderToken(tokens, idx, options) + } + + function toRouterLink (token, link) { + link[0] = 'to' + let to = link[1] + + // convert link to filename and export it for existence check + const links = md.__data.links || (md.__data.links = []) + links.push(to) + + const indexMatch = to.match(indexRE) + if (indexMatch) { + const [, path, , hash] = indexMatch + to = path + hash + } else { + to = to + .replace(/\.md$/, '.html') + .replace(/\.md(#.*)$/, '.html$1') + } + + // relative path usage. + if (!to.startsWith('/')) { + to = ensureBeginningDotSlash(to) + } + + // markdown-it encodes the uri + link[1] = decodeURI(to) + + // export the router links for testing + const routerLinks = md.__data.routerLinks || (md.__data.routerLinks = []) + routerLinks.push(to) + + return Object.assign({}, token, { + tag: 'router-link' + }) + } + + md.renderer.rules.link_close = (tokens, idx, options, env, self) => { + const token = tokens[idx] + if (hasOpenRouterLink) { + token.tag = 'router-link' + hasOpenRouterLink = false + } + if (hasOpenExternalLink) { + hasOpenExternalLink = false + // add OutBoundLink to the beforeend of this link if it opens in _blank. + return '<OutboundLink/>' + self.renderToken(tokens, idx, options) + } + return self.renderToken(tokens, idx, options) + } +} + +const beginningSlashRE = /^\.\// + +function ensureBeginningDotSlash (path) { + if (beginningSlashRE.test(path)) { + return path + } + return './' + path +} diff --git a/node_modules/vuepress/lib/markdown/preWrapper.js b/node_modules/vuepress/lib/markdown/preWrapper.js new file mode 100644 index 00000000..8f1b1d73 --- /dev/null +++ b/node_modules/vuepress/lib/markdown/preWrapper.js @@ -0,0 +1,19 @@ +// markdown-it plugin for wrapping <pre> ... </pre>. +// +// If your plugin was chained before preWrapper, you can add additional eleemnt directly. +// If your plugin was chained after preWrapper, you can use these slots: +// 1. <!--beforebegin--> +// 2. <!--afterbegin--> +// 3. <!--beforeend--> +// 4. <!--afterend--> + +module.exports = md => { + const fence = md.renderer.rules.fence + md.renderer.rules.fence = (...args) => { + const [tokens, idx] = args + const token = tokens[idx] + const rawCode = fence(...args) + return `<!--beforebegin--><div class="language-${token.info.trim()} extra-class">` + + `<!--afterbegin-->${rawCode}<!--beforeend--></div><!--afterend-->` + } +} diff --git a/node_modules/vuepress/lib/markdown/slugify.js b/node_modules/vuepress/lib/markdown/slugify.js new file mode 100644 index 00000000..47a9d6e9 --- /dev/null +++ b/node_modules/vuepress/lib/markdown/slugify.js @@ -0,0 +1,22 @@ +// string.js slugify drops non ascii chars so we have to +// use a custom implementation here +const removeDiacritics = require('diacritics').remove +// eslint-disable-next-line no-control-regex +const rControl = /[\u0000-\u001f]/g +const rSpecial = /[\s~`!@#$%^&*()\-_+=[\]{}|\\;:"'<>,.?/]+/g + +module.exports = function slugify (str) { + return removeDiacritics(str) + // Remove control characters + .replace(rControl, '') + // Replace special characters + .replace(rSpecial, '-') + // Remove continous separators + .replace(/\-{2,}/g, '-') + // Remove prefixing and trailing separtors + .replace(/^\-+|\-+$/g, '') + // ensure it doesn't start with a number (#121) + .replace(/^(\d)/, '_$1') + // lowercase + .toLowerCase() +} diff --git a/node_modules/vuepress/lib/markdown/snippet.js b/node_modules/vuepress/lib/markdown/snippet.js new file mode 100644 index 00000000..a677e12f --- /dev/null +++ b/node_modules/vuepress/lib/markdown/snippet.js @@ -0,0 +1,43 @@ +const fs = require('fs') + +module.exports = function snippet (md, options = {}) { + const root = options.root || process.cwd() + function parser (state, startLine, endLine, silent) { + const CH = '<'.charCodeAt(0) + const pos = state.bMarks[startLine] + state.tShift[startLine] + const max = state.eMarks[startLine] + + // if it's indented more than 3 spaces, it should be a code block + if (state.sCount[startLine] - state.blkIndent >= 4) { + return false + } + + for (let i = 0; i < 3; ++i) { + const ch = state.src.charCodeAt(pos + i) + if (ch !== CH || pos + i >= max) return false + } + + if (silent) { + return true + } + + const start = pos + 3 + const end = state.skipSpacesBack(max, pos) + const rawPath = state.src.slice(start, end).trim().replace(/^@/, root) + const filename = rawPath.split(/[{:\s]/).shift() + const content = fs.existsSync(filename) ? fs.readFileSync(filename).toString() : 'Not found: ' + filename + const meta = rawPath.replace(filename, '') + + state.line = startLine + 1 + + const token = state.push('fence', 'code', 0) + token.info = filename.split('.').pop() + meta + token.content = content + token.markup = '```' + token.map = [startLine, startLine + 1] + + return true + } + + md.block.ruler.before('fence', 'snippet', parser) +} diff --git a/node_modules/vuepress/lib/prepare/codegen.js b/node_modules/vuepress/lib/prepare/codegen.js new file mode 100644 index 00000000..52e85355 --- /dev/null +++ b/node_modules/vuepress/lib/prepare/codegen.js @@ -0,0 +1,74 @@ +const path = require('path') +const { fileToComponentName, resolveComponents } = require('./util') + +exports.genRoutesFile = async function ({ + siteData: { pages }, + sourceDir, + pageFiles +}) { + function genRoute ({ path: pagePath, key: componentName }, index) { + const file = pageFiles[index] + const filePath = path.resolve(sourceDir, file) + let code = ` + { + name: ${JSON.stringify(componentName)}, + path: ${JSON.stringify(pagePath)}, + component: ThemeLayout, + beforeEnter: (to, from, next) => { + import(${JSON.stringify(filePath)}).then(comp => { + Vue.component(${JSON.stringify(componentName)}, comp.default) + next() + }) + } + }` + + const dncodedPath = decodeURIComponent(pagePath) + if (dncodedPath !== pagePath) { + code += `, + { + path: ${JSON.stringify(dncodedPath)}, + redirect: ${JSON.stringify(pagePath)} + }` + } + + if (/\/$/.test(pagePath)) { + code += `, + { + path: ${JSON.stringify(pagePath + 'index.html')}, + redirect: ${JSON.stringify(pagePath)} + }` + } + + return code + } + + const notFoundRoute = `, + { + path: '*', + component: ThemeNotFound + }` + + return ( + `import ThemeLayout from '@themeLayout'\n` + + `import ThemeNotFound from '@themeNotFound'\n` + + `import { injectMixins } from '@app/util'\n` + + `import rootMixins from '@app/root-mixins'\n\n` + + `injectMixins(ThemeLayout, rootMixins)\n` + + `injectMixins(ThemeNotFound, rootMixins)\n\n` + + `export const routes = [${pages.map(genRoute).join(',')}${notFoundRoute}\n]` + ) +} + +exports.genComponentRegistrationFile = async function ({ sourceDir }) { + function genImport (file) { + const name = fileToComponentName(file) + const baseDir = path.resolve(sourceDir, '.vuepress/components') + const absolutePath = path.resolve(baseDir, file) + const code = `Vue.component(${JSON.stringify(name)}, () => import(${JSON.stringify(absolutePath)}))` + return code + } + + const components = (await resolveComponents(sourceDir)) || [] + return `import Vue from 'vue'\n` + components.map(genImport).join('\n') +} + diff --git a/node_modules/vuepress/lib/prepare/index.js b/node_modules/vuepress/lib/prepare/index.js new file mode 100644 index 00000000..7561f791 --- /dev/null +++ b/node_modules/vuepress/lib/prepare/index.js @@ -0,0 +1,51 @@ +const path = require('path') +const fs = require('fs-extra') +const resolveOptions = require('./resolveOptions') +const { genRoutesFile, genComponentRegistrationFile } = require('./codegen') +const { writeTemp, writeEnhanceTemp } = require('./util') +const logger = require('../util/logger') +const chalk = require('chalk') + +module.exports = async function prepare (sourceDir) { + // 1. load options + const options = await resolveOptions(sourceDir) + + // 2. generate routes & user components registration code + const routesCode = await genRoutesFile(options) + const componentCode = await genComponentRegistrationFile(options) + + await writeTemp('routes.js', [ + componentCode, + routesCode + ].join('\n')) + + // 3. generate siteData + const dataCode = `export const siteData = ${JSON.stringify(options.siteData, null, 2)}` + await writeTemp('siteData.js', dataCode) + + // 4. handle user override + const overridePath = path.resolve(sourceDir, '.vuepress/override.styl').replace(/[\\]+/g, '/') + const hasUserOverride = fs.existsSync(overridePath) + await writeTemp('override.styl', hasUserOverride ? `@import(${JSON.stringify(overridePath)})` : ``) + + const stylePath = path.resolve(sourceDir, '.vuepress/style.styl').replace(/[\\]+/g, '/') + const hasUserStyle = fs.existsSync(stylePath) + await writeTemp('style.styl', hasUserStyle ? `@import(${JSON.stringify(stylePath)})` : ``) + + // Temporary tip, will be removed at next release. + if (hasUserOverride && !hasUserStyle) { + logger.tip( + `${chalk.magenta('override.styl')} has been split into 2 APIs, we recommend you upgrade to continue.\n` + + ` See: ${chalk.magenta('https://vuepress.vuejs.org/default-theme-config/#simple-css-override')}` + ) + } + + // 5. handle enhanceApp.js + const enhanceAppPath = path.resolve(sourceDir, '.vuepress/enhanceApp.js') + await writeEnhanceTemp('enhanceApp.js', enhanceAppPath) + + // 6. handle the theme enhanceApp.js + await writeEnhanceTemp('themeEnhanceApp.js', options.themeEnhanceAppPath) + + return options +} diff --git a/node_modules/vuepress/lib/prepare/loadConfig.js b/node_modules/vuepress/lib/prepare/loadConfig.js new file mode 100644 index 00000000..aa913ba0 --- /dev/null +++ b/node_modules/vuepress/lib/prepare/loadConfig.js @@ -0,0 +1,56 @@ +const fs = require('fs-extra') +const path = require('path') +const yamlParser = require('js-yaml') +const tomlParser = require('toml') + +module.exports = function loadConfig (vuepressDir, bustCache = true) { + const configPath = path.resolve(vuepressDir, 'config.js') + const configYmlPath = path.resolve(vuepressDir, 'config.yml') + const configTomlPath = path.resolve(vuepressDir, 'config.toml') + + if (bustCache) { + delete require.cache[configPath] + } + + // resolve siteConfig + let siteConfig = {} + if (fs.existsSync(configYmlPath)) { + siteConfig = parseConfig(configYmlPath) + } else if (fs.existsSync(configTomlPath)) { + siteConfig = parseConfig(configTomlPath) + } else if (fs.existsSync(configPath)) { + siteConfig = require(configPath) + } + + return siteConfig +} + +function parseConfig (file) { + const content = fs.readFileSync(file, 'utf-8') + const [extension] = /.\w+$/.exec(file) + let data + + switch (extension) { + case '.yml': + case '.yaml': + data = yamlParser.safeLoad(content) + break + + case '.toml': + data = tomlParser.parse(content) + // reformat to match config since TOML does not allow different data type + // https://github.com/toml-lang/toml#array + const format = [] + if (data.head) { + Object.keys(data.head).forEach(meta => { + data.head[meta].forEach(values => { + format.push([meta, values]) + }) + }) + } + data.head = format + break + } + + return data || {} +} diff --git a/node_modules/vuepress/lib/prepare/resolveOptions.js b/node_modules/vuepress/lib/prepare/resolveOptions.js new file mode 100644 index 00000000..9b97ca8e --- /dev/null +++ b/node_modules/vuepress/lib/prepare/resolveOptions.js @@ -0,0 +1,194 @@ +const fs = require('fs-extra') +const path = require('path') +const globby = require('globby') +const createMarkdown = require('../markdown') +const loadConfig = require('./loadConfig') +const { encodePath, fileToPath, sort, getGitLastUpdatedTimeStamp } = require('./util') +const { + inferTitle, + extractHeaders, + parseFrontmatter +} = require('../util/index') + +module.exports = async function resolveOptions (sourceDir) { + const vuepressDir = path.resolve(sourceDir, '.vuepress') + const siteConfig = loadConfig(vuepressDir) + + // normalize head tag urls for base + const base = siteConfig.base || '/' + if (base !== '/' && siteConfig.head) { + siteConfig.head.forEach(tag => { + const attrs = tag[1] + if (attrs) { + for (const name in attrs) { + if (name === 'src' || name === 'href') { + const value = attrs[name] + if (value.charAt(0) === '/') { + attrs[name] = base + value.slice(1) + } + } + } + } + }) + } + + // resolve outDir + const outDir = siteConfig.dest + ? path.resolve(siteConfig.dest) + : path.resolve(sourceDir, '.vuepress/dist') + + // resolve theme + const useDefaultTheme = ( + !siteConfig.theme && + !fs.existsSync(path.resolve(vuepressDir, 'theme')) + ) + const defaultThemePath = path.resolve(__dirname, '../default-theme') + let themePath = null + let themeLayoutPath = null + let themeNotFoundPath = null + let themeEnhanceAppPath = null + + if (useDefaultTheme) { + // use default theme + themePath = defaultThemePath + themeLayoutPath = path.resolve(defaultThemePath, 'Layout.vue') + themeNotFoundPath = path.resolve(defaultThemePath, 'NotFound.vue') + } else { + // resolve theme Layout + if (siteConfig.theme) { + // use external theme + try { + themeLayoutPath = require.resolve(`vuepress-theme-${siteConfig.theme}/Layout.vue`, { + paths: [ + path.resolve(__dirname, '../../node_modules'), + path.resolve(sourceDir) + ] + }) + themePath = path.dirname(themeLayoutPath) + } catch (e) { + throw new Error(`[vuepress] Failed to load custom theme "${ + siteConfig.theme + }". File vuepress-theme-${siteConfig.theme}/Layout.vue does not exist.`) + } + } else { + // use custom theme + themePath = path.resolve(vuepressDir, 'theme') + themeLayoutPath = path.resolve(themePath, 'Layout.vue') + if (!fs.existsSync(themeLayoutPath)) { + throw new Error(`[vuepress] Cannot resolve Layout.vue file in .vuepress/theme.`) + } + } + + // resolve theme NotFound + themeNotFoundPath = path.resolve(themePath, 'NotFound.vue') + if (!fs.existsSync(themeNotFoundPath)) { + themeNotFoundPath = path.resolve(defaultThemePath, 'NotFound.vue') + } + + // resolve theme enhanceApp + themeEnhanceAppPath = path.resolve(themePath, 'enhanceApp.js') + if (!fs.existsSync(themeEnhanceAppPath)) { + themeEnhanceAppPath = null + } + } + + // resolve theme config + const themeConfig = siteConfig.themeConfig || {} + + // resolve algolia + const isAlgoliaSearch = ( + themeConfig.algolia || + Object.keys(siteConfig.locales && themeConfig.locales || {}) + .some(base => themeConfig.locales[base].algolia) + ) + + // resolve markdown + const markdown = createMarkdown(siteConfig) + + // resolve pageFiles + const patterns = ['**/*.md', '!.vuepress', '!node_modules'] + if (siteConfig.dest) { + // #654 exclude dest folder when dest dir was set in + // sourceDir but not in '.vuepress' + const outDirRelative = path.relative(sourceDir, outDir) + if (!outDirRelative.includes('..')) { + patterns.push('!' + outDirRelative) + } + } + const pageFiles = sort(await globby(patterns, { cwd: sourceDir })) + + // resolve lastUpdated + const shouldResolveLastUpdated = ( + themeConfig.lastUpdated || + Object.keys(siteConfig.locales && themeConfig.locales || {}) + .some(base => themeConfig.locales[base].lastUpdated) + ) + + // resolve pagesData + const pagesData = await Promise.all(pageFiles.map(async (file) => { + const filepath = path.resolve(sourceDir, file) + const key = 'v-' + Math.random().toString(16).slice(2) + const data = { + key, + path: encodePath(fileToPath(file)) + } + + if (shouldResolveLastUpdated) { + data.lastUpdated = getGitLastUpdatedTimeStamp(filepath) + } + + // extract yaml frontmatter + const content = await fs.readFile(filepath, 'utf-8') + const frontmatter = parseFrontmatter(content) + // infer title + const title = inferTitle(frontmatter) + if (title) { + data.title = title + } + const headers = extractHeaders( + frontmatter.content, + ['h2', 'h3'], + markdown + ) + if (headers.length) { + data.headers = headers + } + if (Object.keys(frontmatter.data).length) { + data.frontmatter = frontmatter.data + } + if (frontmatter.excerpt) { + const { html } = markdown.render(frontmatter.excerpt) + data.excerpt = html + } + return data + })) + + // resolve site data + const siteData = { + title: siteConfig.title || '', + description: siteConfig.description || '', + base, + pages: pagesData, + themeConfig, + locales: siteConfig.locales + } + + const options = { + siteConfig, + siteData, + sourceDir, + outDir, + publicPath: base, + pageFiles, + pagesData, + themePath, + themeLayoutPath, + themeNotFoundPath, + themeEnhanceAppPath, + useDefaultTheme, + isAlgoliaSearch, + markdown + } + + return options +} diff --git a/node_modules/vuepress/lib/prepare/util.js b/node_modules/vuepress/lib/prepare/util.js new file mode 100644 index 00000000..efa96cc9 --- /dev/null +++ b/node_modules/vuepress/lib/prepare/util.js @@ -0,0 +1,80 @@ +const path = require('path') +const spawn = require('cross-spawn') +const fs = require('fs-extra') +const globby = require('globby') + +const tempPath = path.resolve(__dirname, '../app/.temp') +fs.ensureDirSync(tempPath) + +const tempCache = new Map() +exports.writeTemp = async function (file, content) { + // cache write to avoid hitting the dist if it didn't change + const cached = tempCache.get(file) + if (cached !== content) { + await fs.writeFile(path.join(tempPath, file), content) + tempCache.set(file, content) + } +} + +exports.writeEnhanceTemp = async function (destName, srcPath) { + await exports.writeTemp( + destName, + fs.existsSync(srcPath) + ? `export { default } from ${JSON.stringify(srcPath)}` + : `export default function () {}` + ) +} + +const indexRE = /(^|.*\/)(index|readme)\.md$/i +const extRE = /\.(vue|md)$/ + +exports.fileToPath = function (file) { + if (exports.isIndexFile(file)) { + // README.md -> / + // foo/README.md -> /foo/ + return file.replace(indexRE, '/$1') + } else { + // foo.md -> /foo.html + // foo/bar.md -> /foo/bar.html + return `/${file.replace(extRE, '').replace(/\\/g, '/')}.html` + } +} + +exports.fileToComponentName = function (file) { + let normalizedName = file + .replace(/\/|\\/g, '-') + .replace(extRE, '') + if (exports.isIndexFile(file)) { + normalizedName = normalizedName.replace(/readme$/i, 'index') + } + const pagePrefix = /\.md$/.test(file) ? `page-` : `` + return `${pagePrefix}${normalizedName}` +} + +exports.isIndexFile = function (file) { + return indexRE.test(file) +} + +exports.resolveComponents = async function (sourceDir) { + const componentDir = path.resolve(sourceDir, '.vuepress/components') + if (!fs.existsSync(componentDir)) { + return + } + return exports.sort(await globby(['**/*.vue'], { cwd: componentDir })) +} + +exports.sort = function (arr) { + return arr.sort((a, b) => { + if (a < b) return -1 + if (a > b) return 1 + return 0 + }) +} + +exports.encodePath = function (userpath) { + return userpath.split('/').map(item => encodeURIComponent(item)).join('/') +} + +exports.getGitLastUpdatedTimeStamp = function (filepath) { + return parseInt(spawn.sync('git', ['log', '-1', '--format=%ct', filepath]).stdout.toString('utf-8')) * 1000 +} diff --git a/node_modules/vuepress/lib/service-worker/skip-waiting.js b/node_modules/vuepress/lib/service-worker/skip-waiting.js new file mode 100644 index 00000000..54fd8d37 --- /dev/null +++ b/node_modules/vuepress/lib/service-worker/skip-waiting.js @@ -0,0 +1,12 @@ +addEventListener('message', event => { + const replyPort = event.ports[0] + const message = event.data + if (replyPort && message && message.type === 'skip-waiting') { + event.waitUntil( + self.skipWaiting().then( + () => replyPort.postMessage({ error: null }), + error => replyPort.postMessage({ error }) + ) + ) + } +}) diff --git a/node_modules/vuepress/lib/util/index.js b/node_modules/vuepress/lib/util/index.js new file mode 100644 index 00000000..52044a8f --- /dev/null +++ b/node_modules/vuepress/lib/util/index.js @@ -0,0 +1,83 @@ +const { deeplyParseHeaders } = require('./parseHeaders') + +exports.normalizeHeadTag = function (tag) { + if (typeof tag === 'string') { + tag = [tag] + } + const tagName = tag[0] + return { + tagName, + attributes: tag[1] || {}, + innerHTML: tag[2] || '', + closeTag: !(tagName === 'meta' || tagName === 'link') + } +} + +exports.applyUserWebpackConfig = function (userConfig, config, isServer) { + const merge = require('webpack-merge') + if (typeof userConfig === 'object') { + return merge(config, userConfig) + } + if (typeof userConfig === 'function') { + const res = userConfig(config, isServer) + if (res && typeof res === 'object') { + return merge(config, res) + } + } + return config +} + +exports.inferTitle = function (frontmatter) { + if (frontmatter.data.home) { + return 'Home' + } + if (frontmatter.data.title) { + return deeplyParseHeaders(frontmatter.data.title) + } + const match = frontmatter.content.trim().match(/^#+\s+(.*)/m) + if (match) { + return deeplyParseHeaders(match[1]) + } +} + +exports.parseFrontmatter = function (content) { + const matter = require('gray-matter') + const toml = require('toml') + + return matter(content, { + excerpt_separator: '<!-- more -->', + engines: { + toml: toml.parse.bind(toml), + excerpt: false + } + }) +} + +const LRU = require('lru-cache') +const cache = LRU({ max: 1000 }) + +exports.extractHeaders = function (content, include = [], md) { + const key = content + include.join(',') + const hit = cache.get(key) + if (hit) { + return hit + } + + const tokens = md.parse(content, {}) + + const res = [] + tokens.forEach((t, i) => { + if (t.type === 'heading_open' && include.includes(t.tag)) { + const title = tokens[i + 1].content + const slug = t.attrs.find(([name]) => name === 'id')[1] + res.push({ + level: parseInt(t.tag.slice(1), 10), + title: deeplyParseHeaders(title), + slug: slug || md.slugify(title) + }) + } + }) + + cache.set(key, res) + return res +} diff --git a/node_modules/vuepress/lib/util/logger.js b/node_modules/vuepress/lib/util/logger.js new file mode 100644 index 00000000..84e07e86 --- /dev/null +++ b/node_modules/vuepress/lib/util/logger.js @@ -0,0 +1,47 @@ +const chalk = require('chalk') + +const logger = {} + +const logTypes = { + success: { + color: 'green', + label: 'DONE' + }, + error: { + color: 'red', + label: 'FAIL' + }, + warn: { + color: 'yellow', + label: 'WARN' + }, + tip: { + color: 'cyan', + label: 'TIP' + }, + wait: { + color: 'blue', + label: 'WAIT' + } +} + +const getLoggerFn = (color, label) => (msg, log = true) => { + let newLine = false + if (msg.startsWith('\n')) { + if (log) msg = msg.slice(1) + newLine = true + } + msg = chalk.reset.inverse.bold[color](` ${label} `) + ' ' + msg + if (log) { + console.log(newLine ? '\n' + msg : msg) + } else { + return msg + } +} + +for (const type in logTypes) { + const { color, label } = logTypes[type] + logger[type] = getLoggerFn(color, label) +} + +module.exports = logger diff --git a/node_modules/vuepress/lib/util/parseHeaders.js b/node_modules/vuepress/lib/util/parseHeaders.js new file mode 100644 index 00000000..2c9fe641 --- /dev/null +++ b/node_modules/vuepress/lib/util/parseHeaders.js @@ -0,0 +1,56 @@ +// Since VuePress needs to extract the header from the markdown source +// file and display it in the sidebar or title (#238), this file simply +// removes some unnecessary elements to make header displays well at +// sidebar or title. +// +// But header's parsing in the markdown content is done by the markdown +// loader based on markdown-it. markdown-it parser will will always keep +// HTML in headers, so in VuePress, after being parsed by the markdiwn +// loader, the raw HTML in headers will finally be parsed by Vue-loader. +// so that we can write HTML/Vue in the header. One exception is the HTML +// wrapped by <code>(markdown token: '`') tag. + +const { compose } = require('./shared') + +const parseEmojis = str => { + const emojiData = require('markdown-it-emoji/lib/data/full.json') + return String(str).replace(/:(.+?):/g, (placeholder, key) => emojiData[key] || placeholder) +} + +const unescapeHtml = html => String(html) + .replace(/"/g, '"') + .replace(/'/g, '\'') + .replace(/:/g, ':') + .replace(/</g, '<') + .replace(/>/g, '>') + +const removeMarkdownTokens = str => String(str) + .replace(/\[(.*)\]\(.*\)/, '$1') // []() + .replace(/(`|\*{1,3}|_)(.*?[^\\])\1/g, '$2') // `{t}` | *{t}* | **{t}** | ***{t}*** | _{t}_ + .replace(/(\\)(\*|_|`|\!)/g, '$2') // remove escape char '\' + +const trim = str => str.trim() + +// This method remove the raw HTML but reserve the HTML wrapped by `<code>`. +// e.g. +// Input: "<a> b", Output: "b" +// Input: "`<a>` b", Output: "`<a>` b" +exports.removeNonCodeWrappedHTML = (str) => { + return String(str).replace(/(^|[^><`])<.*>([^><`]|$)/g, '$1$2') +} + +// Unescape html, parse emojis and remove some md tokens. +exports.parseHeaders = compose( + unescapeHtml, + parseEmojis, + removeMarkdownTokens, + trim +) + +// Also clean the html that isn't wrapped by code. +// Because we want to support using VUE components in headers. +// e.g. https://vuepress.vuejs.org/guide/using-vue.html#badge +exports.deeplyParseHeaders = compose( + exports.removeNonCodeWrappedHTML, + exports.parseHeaders, +) diff --git a/node_modules/vuepress/lib/util/shared.js b/node_modules/vuepress/lib/util/shared.js new file mode 100644 index 00000000..023f63bd --- /dev/null +++ b/node_modules/vuepress/lib/util/shared.js @@ -0,0 +1,7 @@ +exports.compose = (...processors) => { + if (processors.length === 0) return input => input + if (processors.length === 1) return processors[0] + return processors.reduce((prev, next) => { + return (...args) => next(prev(...args)) + }) +} diff --git a/node_modules/vuepress/lib/webpack/ClientPlugin.js b/node_modules/vuepress/lib/webpack/ClientPlugin.js new file mode 100644 index 00000000..82028475 --- /dev/null +++ b/node_modules/vuepress/lib/webpack/ClientPlugin.js @@ -0,0 +1,87 @@ +// Temporarily hacked dev build + +var isJS = function (file) { return /\.js(\?[^.]+)?$/.test(file) } + +var isCSS = function (file) { return /\.css(\?[^.]+)?$/.test(file) } + +var onEmit = function (compiler, name, hook) { + if (compiler.hooks) { + // Webpack >= 4.0.0 + compiler.hooks.emit.tapAsync(name, hook) + } else { + // Webpack < 4.0.0 + compiler.plugin('emit', hook) + } +} + +var hash = require('hash-sum') +var uniq = require('lodash.uniq') +var VueSSRClientPlugin = function VueSSRClientPlugin (options) { + if (options === void 0) options = {} + + this.options = Object.assign({ + filename: 'vue-ssr-client-manifest.json' + }, options) +} + +VueSSRClientPlugin.prototype.apply = function apply (compiler) { + var this$1 = this + + onEmit(compiler, 'vue-client-plugin', function (compilation, cb) { + var stats = compilation.getStats().toJson() + + var allFiles = uniq(stats.assets + .map(function (a) { return a.name })) + // Avoid preloading / injecting the style chunk + .filter(file => !/styles\.\w{8}\.js$/.test(file)) + + var initialFiles = uniq(Object.keys(stats.entrypoints) + .map(function (name) { return stats.entrypoints[name].assets }) + .reduce(function (assets, all) { return all.concat(assets) }, []) + .filter(function (file) { return isJS(file) || isCSS(file) })) + // Avoid preloading / injecting the style chunk + .filter(file => !/styles\.\w{8}\.js$/.test(file)) + + var asyncFiles = allFiles + .filter(function (file) { return isJS(file) || isCSS(file) }) + .filter(function (file) { return initialFiles.indexOf(file) < 0 }) + + var manifest = { + publicPath: stats.publicPath, + all: allFiles, + initial: initialFiles, + async: asyncFiles, + modules: { /* [identifier: string]: Array<index: number> */ } + } + + var assetModules = stats.modules.filter(function (m) { return m.assets.length }) + var fileToIndex = function (file) { return manifest.all.indexOf(file) } + stats.modules.forEach(function (m) { + // ignore modules duplicated in multiple chunks + if (m.chunks.length === 1) { + var cid = m.chunks[0] + var chunk = stats.chunks.find(function (c) { return c.id === cid }) + if (!chunk || !chunk.files) { + return + } + var id = m.identifier.replace(/\s\w+$/, '') // remove appended hash + var files = manifest.modules[hash(id)] = chunk.files.map(fileToIndex) + // find all asset modules associated with the same chunk + assetModules.forEach(function (m) { + if (m.chunks.some(function (id) { return id === cid })) { + files.push.apply(files, m.assets.map(fileToIndex)) + } + }) + } + }) + + var json = JSON.stringify(manifest, null, 2) + compilation.assets[this$1.options.filename] = { + source: function () { return json }, + size: function () { return json.length } + } + cb() + }) +} + +module.exports = VueSSRClientPlugin diff --git a/node_modules/vuepress/lib/webpack/DevLogPlugin.js b/node_modules/vuepress/lib/webpack/DevLogPlugin.js new file mode 100644 index 00000000..8fd18d4a --- /dev/null +++ b/node_modules/vuepress/lib/webpack/DevLogPlugin.js @@ -0,0 +1,38 @@ +const chalk = require('chalk') +const logger = require('../util/logger') + +module.exports = class DevLogPlugin { + constructor (options) { + this.options = options + } + + apply (compiler) { + let isFirst = true + compiler.hooks.done.tap('vuepress-log', stats => { + clearScreen() + + const { displayHost, port, publicPath } = this.options + const time = new Date().toTimeString().match(/^[\d:]+/)[0] + const displayUrl = `http://${displayHost}:${port}${publicPath}` + + logger.success( + `\n${chalk.gray(`[${time}]`)} Build ${chalk.italic(stats.hash.slice(0, 6))} ` + + `finished in ${stats.endTime - stats.startTime} ms! ` + + ( + isFirst + ? '' + : `${chalk.gray(`(${displayUrl})`)}` + ) + ) + if (isFirst) { + isFirst = false + console.log(`\n${chalk.gray('>')} VuePress dev server listening at ${chalk.cyan(displayUrl)}`) + } + }) + compiler.hooks.invalid.tap('vuepress-log', clearScreen) + } +} + +function clearScreen () { + process.stdout.write('\x1Bc') +} diff --git a/node_modules/vuepress/lib/webpack/HeadPlugin.js b/node_modules/vuepress/lib/webpack/HeadPlugin.js new file mode 100644 index 00000000..2ccb46e0 --- /dev/null +++ b/node_modules/vuepress/lib/webpack/HeadPlugin.js @@ -0,0 +1,22 @@ +const { normalizeHeadTag } = require('../util') + +module.exports = class SiteDataPlugin { + constructor ({ tags }) { + this.tags = tags + } + + apply (compiler) { + compiler.hooks.compilation.tap('vuepress-site-data', compilation => { + compilation.hooks.htmlWebpackPluginAlterAssetTags.tapAsync('vuepress-site-data', (data, cb) => { + try { + this.tags.forEach(tag => { + data.head.push(normalizeHeadTag(tag)) + }) + } catch (e) { + return cb(e) + } + cb(null, data) + }) + }) + } +} diff --git a/node_modules/vuepress/lib/webpack/createBaseConfig.js b/node_modules/vuepress/lib/webpack/createBaseConfig.js new file mode 100644 index 00000000..dcf7fab3 --- /dev/null +++ b/node_modules/vuepress/lib/webpack/createBaseConfig.js @@ -0,0 +1,315 @@ +const path = require('path') + +module.exports = function createBaseConfig ({ + siteConfig, + siteData, + sourceDir, + outDir, + publicPath, + themePath, + themeLayoutPath, + themeNotFoundPath, + isAlgoliaSearch, + markdown +}, { debug } = {}, isServer) { + const Config = require('webpack-chain') + const { VueLoaderPlugin } = require('vue-loader') + const CSSExtractPlugin = require('mini-css-extract-plugin') + + const isProd = process.env.NODE_ENV === 'production' + const inlineLimit = 10000 + + const config = new Config() + + config + .mode(isProd && !debug ? 'production' : 'development') + .output + .path(outDir) + .filename(isProd ? 'assets/js/[name].[chunkhash:8].js' : 'assets/js/[name].js') + .publicPath(isProd ? publicPath : '/') + + if (debug) { + config.devtool('source-map') + } else if (!isProd) { + config.devtool('cheap-module-eval-source-map') + } + + config.resolve + .set('symlinks', true) + .alias + .set('@theme', themePath) + .set('@themeLayout', themeLayoutPath) + .set('@themeNotFound', themeNotFoundPath) + .set('@source', sourceDir) + .set('@app', path.resolve(__dirname, '../app')) + .set('@temp', path.resolve(__dirname, '../app/.temp')) + .set('@default-theme', path.resolve(__dirname, '../default-theme')) + .set('@AlgoliaSearchBox', isAlgoliaSearch + ? path.resolve(__dirname, '../default-theme/AlgoliaSearchBox.vue') + : path.resolve(__dirname, './noopModule.js')) + .end() + .extensions + .merge(['.js', '.jsx', '.vue', '.json', '.styl']) + .end() + .modules + // prioritize our own + .add(path.resolve(__dirname, '../../node_modules')) + .add(path.resolve(__dirname, '../../../')) + .add('node_modules') + + // Load extra root mixins on demand. + const { activeHeaderLinks = true } = siteData.themeConfig + const rootMixinsLoadingConfig = { activeHeaderLinks } + for (const mixinName in rootMixinsLoadingConfig) { + const enabled = rootMixinsLoadingConfig[mixinName] + config.resolve + .alias.set(`@${mixinName}`, enabled + ? path.resolve(__dirname, `../app/root-mixins/${mixinName}.js`) + : path.resolve(__dirname, './noopModule.js') + ) + } + + config.resolveLoader + .set('symlinks', true) + .modules + // prioritize our own + .add(path.resolve(__dirname, '../../node_modules')) + .add(path.resolve(__dirname, '../../../')) + .add('node_modules') + + config.module + .noParse(/^(vue|vue-router|vuex|vuex-router-sync)$/) + + const cacheDirectory = path.resolve(__dirname, '../../node_modules/.cache/vuepress') + const cacheIdentifier = JSON.stringify({ + vuepress: require('../../package.json').version, + 'cache-loader': require('cache-loader').version, + 'vue-loader': require('vue-loader').version, + isProd, + isServer, + config: ( + (siteConfig.markdown ? JSON.stringify(siteConfig.markdown) : '') + + (siteConfig.chainWebpack || '').toString() + + (siteConfig.configureWebpack || '').toString() + ) + }) + + function applyVuePipeline (rule) { + rule + .use('cache-loader') + .loader('cache-loader') + .options({ + cacheDirectory, + cacheIdentifier + }) + + rule + .use('vue-loader') + .loader('vue-loader') + .options({ + compilerOptions: { + preserveWhitespace: true + }, + cacheDirectory, + cacheIdentifier + }) + } + + const vueRule = config.module + .rule('vue') + .test(/\.vue$/) + + applyVuePipeline(vueRule) + + const mdRule = config.module + .rule('markdown') + .test(/\.md$/) + + applyVuePipeline(mdRule) + + mdRule + .use('markdown-loader') + .loader(require.resolve('./markdownLoader')) + .options({ sourceDir, markdown }) + + config.module + .rule('pug') + .test(/\.pug$/) + .use('pug-plain-loader') + .loader('pug-plain-loader') + .end() + + if (!siteConfig.evergreen) { + const libDir = path.join(__dirname, '..') + config.module + .rule('js') + .test(/\.js$/) + .exclude.add(filepath => { + // Always transpile lib directory + if (filepath.startsWith(libDir)) { + return false + } + // always transpile js in vue files + if (/\.vue\.js$/.test(filepath)) { + return false + } + // Don't transpile node_modules + return /node_modules/.test(filepath) + }).end() + .use('cache-loader') + .loader('cache-loader') + .options({ + cacheDirectory, + cacheIdentifier + }) + .end() + .use('babel-loader') + .loader('babel-loader') + .options({ + // do not pick local project babel config (.babelrc) + babelrc: false, + // do not pick local project babel config (babel.config.js) + // ref: http://babeljs.io/docs/en/config-files + configFile: false, + presets: [ + require.resolve('@vue/babel-preset-app') + ] + }) + } + + config.module + .rule('images') + .test(/\.(png|jpe?g|gif)(\?.*)?$/) + .use('url-loader') + .loader('url-loader') + .options({ + limit: inlineLimit, + name: `assets/img/[name].[hash:8].[ext]` + }) + + // do not base64-inline SVGs. + // https://github.com/facebookincubator/create-react-app/pull/1180 + config.module + .rule('svg') + .test(/\.(svg)(\?.*)?$/) + .use('file-loader') + .loader('file-loader') + .options({ + name: `assets/img/[name].[hash:8].[ext]` + }) + + config.module + .rule('media') + .test(/\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/) + .use('url-loader') + .loader('url-loader') + .options({ + limit: inlineLimit, + name: `assets/media/[name].[hash:8].[ext]` + }) + + config.module + .rule('fonts') + .test(/\.(woff2?|eot|ttf|otf)(\?.*)?$/i) + .use('url-loader') + .loader('url-loader') + .options({ + limit: inlineLimit, + name: `assets/fonts/[name].[hash:8].[ext]` + }) + + function createCSSRule (lang, test, loader, options) { + const baseRule = config.module.rule(lang).test(test) + const modulesRule = baseRule.oneOf('modules').resourceQuery(/module/) + const normalRule = baseRule.oneOf('normal') + + applyLoaders(modulesRule, true) + applyLoaders(normalRule, false) + + function applyLoaders (rule, modules) { + if (!isServer) { + if (isProd) { + rule.use('extract-css-loader').loader(CSSExtractPlugin.loader) + } else { + rule.use('vue-style-loader').loader('vue-style-loader') + } + } + + rule.use('css-loader') + .loader(isServer ? 'css-loader/locals' : 'css-loader') + .options({ + modules, + localIdentName: `[local]_[hash:base64:8]`, + importLoaders: 1, + sourceMap: !isProd + }) + + rule.use('postcss-loader').loader('postcss-loader').options(Object.assign({ + plugins: [require('autoprefixer')], + sourceMap: !isProd + }, siteConfig.postcss)) + + if (loader) { + rule.use(loader).loader(loader).options(options) + } + } + } + + createCSSRule('css', /\.css$/) + createCSSRule('postcss', /\.p(ost)?css$/) + createCSSRule('scss', /\.scss$/, 'sass-loader', siteConfig.scss) + createCSSRule('sass', /\.sass$/, 'sass-loader', Object.assign({ indentedSyntax: true }, siteConfig.sass)) + createCSSRule('less', /\.less$/, 'less-loader', siteConfig.less) + createCSSRule('stylus', /\.styl(us)?$/, 'stylus-loader', Object.assign({ + preferPathResolver: 'webpack' + }, siteConfig.stylus)) + + config + .plugin('vue-loader') + .use(VueLoaderPlugin) + + if (isProd && !isServer) { + config + .plugin('extract-css') + .use(CSSExtractPlugin, [{ + filename: 'assets/css/styles.[chunkhash:8].css' + }]) + + // ensure all css are extracted together. + // since most of the CSS will be from the theme and very little + // CSS will be from async chunks + config.optimization.splitChunks({ + cacheGroups: { + styles: { + name: 'styles', + // necessary to ensure async chunks are also extracted + test: m => /css-extract/.test(m.type), + chunks: 'all', + enforce: true + } + } + }) + } + + // inject constants + config + .plugin('injections') + .use(require('webpack/lib/DefinePlugin'), [{ + BASE_URL: JSON.stringify(siteConfig.base || '/'), + GA_ID: siteConfig.ga ? JSON.stringify(siteConfig.ga) : false, + SW_ENABLED: !!siteConfig.serviceWorker, + VUEPRESS_VERSION: JSON.stringify(require('../../package.json').version), + LAST_COMMIT_HASH: JSON.stringify(getLastCommitHash()) + }]) + + return config +} + +function getLastCommitHash () { + const spawn = require('cross-spawn') + let hash + try { + hash = spawn.sync('git', ['log', '-1', '--format=%h']).stdout.toString('utf-8').trim() + } catch (error) {} + return hash +} diff --git a/node_modules/vuepress/lib/webpack/createClientConfig.js b/node_modules/vuepress/lib/webpack/createClientConfig.js new file mode 100644 index 00000000..8c276633 --- /dev/null +++ b/node_modules/vuepress/lib/webpack/createClientConfig.js @@ -0,0 +1,69 @@ +module.exports = function createClientConfig (options, cliOptions) { + const path = require('path') + const WebpackBar = require('webpackbar') + const createBaseConfig = require('./createBaseConfig') + + const config = createBaseConfig(options, cliOptions) + + config + .entry('app') + .add(path.resolve(__dirname, '../app/clientEntry.js')) + + config.node + .merge({ + // prevent webpack from injecting useless setImmediate polyfill because Vue + // source contains it (although only uses it if it's native). + setImmediate: false, + global: false, + process: false, + // prevent webpack from injecting mocks to Node native modules + // that does not make sense for the client + dgram: 'empty', + fs: 'empty', + net: 'empty', + tls: 'empty', + child_process: 'empty' + }) + + // generate client manifest only during build + if (process.env.NODE_ENV === 'production') { + // This is a temp build of vue-server-renderer/client-plugin. + // TODO Switch back to original after problems are resolved. + // Fixes two things: + // 1. Include CSS in preload files + // 2. filter out useless styles.xxxxx.js chunk from mini-css-extract-plugin + // https://github.com/webpack-contrib/mini-css-extract-plugin/issues/85 + config + .plugin('ssr-client') + .use(require('./ClientPlugin'), [{ + filename: 'manifest/client.json' + }]) + + config + .plugin('optimize-css') + .use(require('optimize-css-assets-webpack-plugin'), [{ + canPrint: false, + cssProcessorOptions: { + safe: true, + autoprefixer: { disable: true }, + mergeLonghand: false + } + }]) + } + + if (!cliOptions.debug) { + config + .plugin('bar') + .use(WebpackBar, [{ + name: 'Client', + color: '#41b883', + compiledIn: false + }]) + } + + if (options.siteConfig.chainWebpack) { + options.siteConfig.chainWebpack(config, false /* isServer */) + } + + return config +} diff --git a/node_modules/vuepress/lib/webpack/createServerConfig.js b/node_modules/vuepress/lib/webpack/createServerConfig.js new file mode 100644 index 00000000..e9f09835 --- /dev/null +++ b/node_modules/vuepress/lib/webpack/createServerConfig.js @@ -0,0 +1,58 @@ +module.exports = function createServerConfig (options, cliOptions) { + const fs = require('fs') + const path = require('path') + const WebpackBar = require('webpackbar') + const createBaseConfig = require('./createBaseConfig') + const VueSSRServerPlugin = require('vue-server-renderer/server-plugin') + const CopyPlugin = require('copy-webpack-plugin') + + const config = createBaseConfig(options, cliOptions, true /* isServer */) + const { sourceDir, outDir } = options + + config + .target('node') + .externals([/^vue|vue-router$/]) + .devtool('source-map') + + // no need to minimize server build + config.optimization.minimize(false) + + config + .entry('app') + .add(path.resolve(__dirname, '../app/serverEntry.js')) + + config.output + .filename('server-bundle.js') + .libraryTarget('commonjs2') + + config + .plugin('ssr-server') + .use(VueSSRServerPlugin, [{ + filename: 'manifest/server.json' + }]) + + const publicDir = path.resolve(sourceDir, '.vuepress/public') + if (fs.existsSync(publicDir)) { + config + .plugin('copy') + .use(CopyPlugin, [[ + { from: publicDir, to: outDir } + ]]) + } + + if (!cliOptions.debug) { + config + .plugin('bar') + .use(WebpackBar, [{ + name: 'Server', + color: 'blue', + compiledIn: false + }]) + } + + if (options.siteConfig.chainWebpack) { + options.siteConfig.chainWebpack(config, true /* isServer */) + } + + return config +} diff --git a/node_modules/vuepress/lib/webpack/markdownLoader.js b/node_modules/vuepress/lib/webpack/markdownLoader.js new file mode 100644 index 00000000..3c49b747 --- /dev/null +++ b/node_modules/vuepress/lib/webpack/markdownLoader.js @@ -0,0 +1,101 @@ +const fs = require('fs') +const path = require('path') +const hash = require('hash-sum') +const { EventEmitter } = require('events') +const { getOptions } = require('loader-utils') +const { inferTitle, extractHeaders, parseFrontmatter } = require('../util') +const LRU = require('lru-cache') + +const cache = LRU({ max: 1000 }) +const devCache = LRU({ max: 1000 }) + +module.exports = function (src) { + const isProd = process.env.NODE_ENV === 'production' + const isServer = this.target === 'node' + const { markdown, sourceDir } = getOptions(this) + + // we implement a manual cache here because this loader is chained before + // vue-loader, and will be applied on the same file multiple times when + // selecting the individual blocks. + const file = this.resourcePath + const key = hash(file + src) + const cached = cache.get(key) + if (cached && (isProd || /\?vue/.test(this.resourceQuery))) { + return cached + } + + const frontmatter = parseFrontmatter(src) + const content = frontmatter.content + + if (!isProd && !isServer) { + const inferredTitle = inferTitle(frontmatter) + const headers = extractHeaders(content, ['h2', 'h3'], markdown) + delete frontmatter.content + + // diff frontmatter and title, since they are not going to be part of the + // returned component, changes in frontmatter do not trigger proper updates + const cachedData = devCache.get(file) + if (cachedData && ( + cachedData.inferredTitle !== inferredTitle || + JSON.stringify(cachedData.frontmatter) !== JSON.stringify(frontmatter) || + headersChanged(cachedData.headers, headers) + )) { + // frontmatter changed... need to do a full reload + module.exports.frontmatterEmitter.emit('update') + } + + devCache.set(file, { + headers, + frontmatter, + inferredTitle + }) + } + + // the render method has been augmented to allow plugins to + // register data during render + const { html, data: { hoistedTags, links }} = markdown.render(content) + + // check if relative links are valid + links && links.forEach(link => { + link = decodeURIComponent(link) + const shortname = link + .replace(/#.*$/, '') + .replace(/\.html$/, '.md') + const filename = shortname + .replace(/\/$/, '/README.md') + .replace(/^\//, sourceDir + '/') + const altname = shortname + .replace(/\/$/, '/index.md') + .replace(/^\//, sourceDir + '/') + const dir = path.dirname(this.resourcePath) + const file = path.resolve(dir, filename) + const altfile = altname !== filename ? path.resolve(dir, altname) : null + if (!fs.existsSync(file) && (!altfile || !fs.existsSync(altfile))) { + this.emitWarning( + new Error( + `\nFile for relative link "${link}" does not exist.\n` + + `(Resolved file: ${file})\n` + ) + ) + } + }) + + const res = ( + `<template>\n` + + `<div class="content">${html}</div>\n` + + `</template>\n` + + (hoistedTags || []).join('\n') + ) + cache.set(key, res) + return res +} + +function headersChanged (a, b) { + if (a.length !== b.length) return true + return a.some((h, i) => ( + h.title !== b[i].title || + h.level !== b[i].level + )) +} + +module.exports.frontmatterEmitter = new EventEmitter() diff --git a/node_modules/vuepress/lib/webpack/noopModule.js b/node_modules/vuepress/lib/webpack/noopModule.js new file mode 100644 index 00000000..b1c6ea43 --- /dev/null +++ b/node_modules/vuepress/lib/webpack/noopModule.js @@ -0,0 +1 @@ +export default {} diff --git a/node_modules/vuepress/node_modules/.bin/autoprefixer b/node_modules/vuepress/node_modules/.bin/autoprefixer new file mode 120000 index 00000000..98390fb2 --- /dev/null +++ b/node_modules/vuepress/node_modules/.bin/autoprefixer @@ -0,0 +1 @@ +../../../autoprefixer/bin/autoprefixer
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.bin/js-yaml b/node_modules/vuepress/node_modules/.bin/js-yaml new file mode 120000 index 00000000..daf9f115 --- /dev/null +++ b/node_modules/vuepress/node_modules/.bin/js-yaml @@ -0,0 +1 @@ +../../../js-yaml/bin/js-yaml.js
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.bin/markdown-it b/node_modules/vuepress/node_modules/.bin/markdown-it new file mode 120000 index 00000000..25a1c2f8 --- /dev/null +++ b/node_modules/vuepress/node_modules/.bin/markdown-it @@ -0,0 +1 @@ +../../../markdown-it/bin/markdown-it.js
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.bin/semver b/node_modules/vuepress/node_modules/.bin/semver new file mode 120000 index 00000000..b3ca6032 --- /dev/null +++ b/node_modules/vuepress/node_modules/.bin/semver @@ -0,0 +1 @@ +../../../semver/bin/semver
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.bin/stylus b/node_modules/vuepress/node_modules/.bin/stylus new file mode 120000 index 00000000..52487a66 --- /dev/null +++ b/node_modules/vuepress/node_modules/.bin/stylus @@ -0,0 +1 @@ +../../../stylus/bin/stylus
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.bin/webpack b/node_modules/vuepress/node_modules/.bin/webpack new file mode 120000 index 00000000..8a1900f6 --- /dev/null +++ b/node_modules/vuepress/node_modules/.bin/webpack @@ -0,0 +1 @@ +../../../webpack/bin/webpack.js
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.bin/webpack-serve b/node_modules/vuepress/node_modules/.bin/webpack-serve new file mode 120000 index 00000000..1d2885c7 --- /dev/null +++ b/node_modules/vuepress/node_modules/.bin/webpack-serve @@ -0,0 +1 @@ +../../../webpack-serve/cli.js
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/003fe15641f2ee1d437cef0df3de9ce8.json b/node_modules/vuepress/node_modules/.cache/vuepress/003fe15641f2ee1d437cef0df3de9ce8.json new file mode 100644 index 00000000..c50fc774 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/003fe15641f2ee1d437cef0df3de9ce8.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport SidebarButton from './SidebarButton.vue'\nimport AlgoliaSearchBox from '@AlgoliaSearchBox'\nimport SearchBox from './SearchBox.vue'\nimport NavLinks from './NavLinks.vue'\n\nexport default {\n components: { SidebarButton, NavLinks, SearchBox, AlgoliaSearchBox },\n\n data () {\n return {\n linksWrapMaxWidth: null\n }\n },\n\n mounted () {\n const MOBILE_DESKTOP_BREAKPOINT = 719 // refer to config.styl\n const NAVBAR_VERTICAL_PADDING = parseInt(css(this.$el, 'paddingLeft')) + parseInt(css(this.$el, 'paddingRight'))\n const handleLinksWrapWidth = () => {\n if (document.documentElement.clientWidth < MOBILE_DESKTOP_BREAKPOINT) {\n this.linksWrapMaxWidth = null\n } else {\n this.linksWrapMaxWidth = this.$el.offsetWidth - NAVBAR_VERTICAL_PADDING -\n (this.$refs.siteName && this.$refs.siteName.offsetWidth || 0)\n }\n }\n handleLinksWrapWidth()\n window.addEventListener('resize', handleLinksWrapWidth, false)\n },\n\n computed: {\n algolia () {\n return this.$themeLocaleConfig.algolia || this.$site.themeConfig.algolia || {}\n },\n\n isAlgoliaSearch () {\n return this.algolia && this.algolia.apiKey && this.algolia.indexName\n }\n }\n}\n\nfunction css (el, property) {\n // NOTE: Known bug, will return 'auto' if style value is 'auto'\n const win = el.ownerDocument.defaultView\n // null means not to return pseudo styles\n return win.getComputedStyle(el, null)[property]\n}\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/00429d7ce628bd4c4af0ec51e27ed15c.json b/node_modules/vuepress/node_modules/.cache/vuepress/00429d7ce628bd4c4af0ec51e27ed15c.json new file mode 100644 index 00000000..f689e21f --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/00429d7ce628bd4c4af0ec51e27ed15c.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import \"core-js/modules/es6.regexp.constructor\";\nimport \"core-js/modules/es6.regexp.match\";\nimport \"core-js/modules/es6.object.assign\";\nimport _toConsumableArray from \"/Users/ruki/projects/personal/tbox-docs/node_modules/@babel/runtime/helpers/builtin/es6/toConsumableArray\";\nimport \"core-js/modules/es6.array.some\";\nimport \"core-js/modules/es6.regexp.replace\";\nimport \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.iterator\";\nimport \"core-js/modules/es6.object.keys\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport DropdownLink from './DropdownLink.vue';\nimport { resolveNavLinkItem } from './util';\nimport NavLink from './NavLink.vue';\nexport default {\n components: {\n NavLink: NavLink,\n DropdownLink: DropdownLink\n },\n computed: {\n userNav: function userNav() {\n return this.$themeLocaleConfig.nav || this.$site.themeConfig.nav || [];\n },\n nav: function nav() {\n var _this = this;\n\n var locales = this.$site.locales;\n\n if (locales && Object.keys(locales).length > 1) {\n var currentLink = this.$page.path;\n var routes = this.$router.options.routes;\n var themeLocales = this.$site.themeConfig.locales || {};\n var languageDropdown = {\n text: this.$themeLocaleConfig.selectText || 'Languages',\n items: Object.keys(locales).map(function (path) {\n var locale = locales[path];\n var text = themeLocales[path] && themeLocales[path].label || locale.lang;\n var link; // Stay on the current page\n\n if (locale.lang === _this.$lang) {\n link = currentLink;\n } else {\n // Try to stay on the same page\n link = currentLink.replace(_this.$localeConfig.path, path); // fallback to homepage\n\n if (!routes.some(function (route) {\n return route.path === link;\n })) {\n link = path;\n }\n }\n\n return {\n text: text,\n link: link\n };\n })\n };\n return _toConsumableArray(this.userNav).concat([languageDropdown]);\n }\n\n return this.userNav;\n },\n userLinks: function userLinks() {\n return (this.nav || []).map(function (link) {\n return Object.assign(resolveNavLinkItem(link), {\n items: (link.items || []).map(resolveNavLinkItem)\n });\n });\n },\n repoLink: function repoLink() {\n var repo = this.$site.themeConfig.repo;\n\n if (repo) {\n return /^https?:/.test(repo) ? repo : \"https://github.com/\".concat(repo);\n }\n },\n repoLabel: function repoLabel() {\n if (!this.repoLink) return;\n\n if (this.$site.themeConfig.repoLabel) {\n return this.$site.themeConfig.repoLabel;\n }\n\n var repoHost = this.repoLink.match(/^https?:\\/\\/[^/]+/)[0];\n var platforms = ['GitHub', 'GitLab', 'Bitbucket'];\n\n for (var i = 0; i < platforms.length; i++) {\n var platform = platforms[i];\n\n if (new RegExp(platform, 'i').test(repoHost)) {\n return platform;\n }\n }\n\n return 'Source';\n }\n }\n};",{"version":3,"sources":["node_modules/vuepress/lib/default-theme/NavLinks.vue"],"names":["DropdownLink","resolveNavLinkItem","NavLink","components","computed","userNav","$themeLocaleConfig","nav","$site","themeConfig","locales","Object","keys","length","currentLink","$page","path","routes","$router","options","themeLocales","languageDropdown","text","selectText","items","map","locale","label","lang","link","$lang","replace","$localeConfig","some","route","userLinks","assign","repoLink","repo","test","repoLabel","repoHost","match","platforms","i","platform","RegExp"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,OAAOA,YAAP,MAAyB,oBAAzB;AACA,SAASC,kBAAT,QAAmC,QAAnC;AACA,OAAOC,OAAP,MAAoB,eAApB;AAEA,eAAe;AACbC,cAAY;AAAED,oBAAF;AAAWF;AAAX,GADC;AAGbI,YAAU;AACRC,WADQ,qBACG;AACT,aAAO,KAAKC,kBAAL,CAAwBC,GAAxB,IAA+B,KAAKC,KAAL,CAAWC,WAAX,CAAuBF,GAAtD,IAA6D,EAApE;AACD,KAHO;AAKRA,OALQ,iBAKD;AAAA;;AAAA,UACGG,OADH,GACe,KAAKF,KADpB,CACGE,OADH;;AAEL,UAAIA,WAAWC,OAAOC,IAAP,CAAYF,OAAZ,EAAqBG,MAArB,GAA8B,CAA7C,EAAgD;AAC9C,YAAMC,cAAc,KAAKC,KAAL,CAAWC,IAA/B;AACA,YAAMC,SAAS,KAAKC,OAAL,CAAaC,OAAb,CAAqBF,MAApC;AACA,YAAMG,eAAe,KAAKZ,KAAL,CAAWC,WAAX,CAAuBC,OAAvB,IAAkC,EAAvD;AACA,YAAMW,mBAAmB;AACvBC,gBAAM,KAAKhB,kBAAL,CAAwBiB,UAAxB,IAAsC,WADrB;AAEvBC,iBAAOb,OAAOC,IAAP,CAAYF,OAAZ,EAAqBe,GAArB,CAAyB,gBAAQ;AACtC,gBAAMC,SAAShB,QAAQM,IAAR,CAAf;AACA,gBAAMM,OAAOF,aAAaJ,IAAb,KAAsBI,aAAaJ,IAAb,EAAmBW,KAAzC,IAAkDD,OAAOE,IAAtE;AACA,gBAAIC,IAAJ,CAHsC,CAItC;;AACA,gBAAIH,OAAOE,IAAP,KAAgB,MAAKE,KAAzB,EAAgC;AAC9BD,qBAAOf,WAAP;AACD,aAFD,MAEO;AACL;AACAe,qBAAOf,YAAYiB,OAAZ,CAAoB,MAAKC,aAAL,CAAmBhB,IAAvC,EAA6CA,IAA7C,CAAP,CAFK,CAGL;;AACA,kBAAI,CAACC,OAAOgB,IAAP,CAAY;AAAA,uBAASC,MAAMlB,IAAN,KAAea,IAAxB;AAAA,eAAZ,CAAL,EAAgD;AAC9CA,uBAAOb,IAAP;AACD;AACF;;AACD,mBAAO;AAAEM,wBAAF;AAAQO;AAAR,aAAP;AACD,WAhBM;AAFgB,SAAzB;AAoBA,kCAAW,KAAKxB,OAAhB,UAAyBgB,gBAAzB;AACD;;AACD,aAAO,KAAKhB,OAAZ;AACD,KAlCO;AAoCR8B,aApCQ,uBAoCK;AACX,aAAO,CAAC,KAAK5B,GAAL,IAAY,EAAb,EAAiBkB,GAAjB,CAAqB,gBAAQ;AAClC,eAAOd,OAAOyB,MAAP,CAAcnC,mBAAmB4B,IAAnB,CAAd,EAAwC;AAC7CL,iBAAO,CAACK,KAAKL,KAAL,IAAc,EAAf,EAAmBC,GAAnB,CAAuBxB,kBAAvB;AADsC,SAAxC,CAAP;AAGD,OAJM,CAAP;AAKD,KA1CO;AA4CRoC,YA5CQ,sBA4CI;AAAA,UACFC,IADE,GACO,KAAK9B,KAAL,CAAWC,WADlB,CACF6B,IADE;;AAEV,UAAIA,IAAJ,EAAU;AACR,eAAO,WAAWC,IAAX,CAAgBD,IAAhB,IACHA,IADG,gCAEmBA,IAFnB,CAAP;AAGD;AACF,KAnDO;AAqDRE,aArDQ,uBAqDK;AACX,UAAI,CAAC,KAAKH,QAAV,EAAoB;;AACpB,UAAI,KAAK7B,KAAL,CAAWC,WAAX,CAAuB+B,SAA3B,EAAsC;AACpC,eAAO,KAAKhC,KAAL,CAAWC,WAAX,CAAuB+B,SAA9B;AACD;;AAED,UAAMC,WAAW,KAAKJ,QAAL,CAAcK,KAAd,CAAoB,mBAApB,EAAyC,CAAzC,CAAjB;AACA,UAAMC,YAAY,CAAC,QAAD,EAAW,QAAX,EAAqB,WAArB,CAAlB;;AACA,WAAK,IAAIC,IAAI,CAAb,EAAgBA,IAAID,UAAU9B,MAA9B,EAAsC+B,GAAtC,EAA2C;AACzC,YAAMC,WAAWF,UAAUC,CAAV,CAAjB;;AACA,YAAI,IAAIE,MAAJ,CAAWD,QAAX,EAAqB,GAArB,EAA0BN,IAA1B,CAA+BE,QAA/B,CAAJ,EAA8C;AAC5C,iBAAOI,QAAP;AACD;AACF;;AAED,aAAO,QAAP;AACD;AArEO;AAHG,CAAf","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport DropdownLink from './DropdownLink.vue'\nimport { resolveNavLinkItem } from './util'\nimport NavLink from './NavLink.vue'\n\nexport default {\n components: { NavLink, DropdownLink },\n\n computed: {\n userNav () {\n return this.$themeLocaleConfig.nav || this.$site.themeConfig.nav || []\n },\n\n nav () {\n const { locales } = this.$site\n if (locales && Object.keys(locales).length > 1) {\n const currentLink = this.$page.path\n const routes = this.$router.options.routes\n const themeLocales = this.$site.themeConfig.locales || {}\n const languageDropdown = {\n text: this.$themeLocaleConfig.selectText || 'Languages',\n items: Object.keys(locales).map(path => {\n const locale = locales[path]\n const text = themeLocales[path] && themeLocales[path].label || locale.lang\n let link\n // Stay on the current page\n if (locale.lang === this.$lang) {\n link = currentLink\n } else {\n // Try to stay on the same page\n link = currentLink.replace(this.$localeConfig.path, path)\n // fallback to homepage\n if (!routes.some(route => route.path === link)) {\n link = path\n }\n }\n return { text, link }\n })\n }\n return [...this.userNav, languageDropdown]\n }\n return this.userNav\n },\n\n userLinks () {\n return (this.nav || []).map(link => {\n return Object.assign(resolveNavLinkItem(link), {\n items: (link.items || []).map(resolveNavLinkItem)\n })\n })\n },\n\n repoLink () {\n const { repo } = this.$site.themeConfig\n if (repo) {\n return /^https?:/.test(repo)\n ? repo\n : `https://github.com/${repo}`\n }\n },\n\n repoLabel () {\n if (!this.repoLink) return\n if (this.$site.themeConfig.repoLabel) {\n return this.$site.themeConfig.repoLabel\n }\n\n const repoHost = this.repoLink.match(/^https?:\\/\\/[^/]+/)[0]\n const platforms = ['GitHub', 'GitLab', 'Bitbucket']\n for (let i = 0; i < platforms.length; i++) {\n const platform = platforms[i]\n if (new RegExp(platform, 'i').test(repoHost)) {\n return platform\n }\n }\n\n return 'Source'\n }\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/00e076dfc59a92e6c74178cc33b1bd87.json b/node_modules/vuepress/node_modules/.cache/vuepress/00e076dfc59a92e6c74178cc33b1bd87.json new file mode 100644 index 00000000..c66bd05a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/00e076dfc59a92e6c74178cc33b1bd87.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./NavLinks.vue?vue&type=template&id=2e630b6d&\"\nimport script from \"./NavLinks.vue?vue&type=script&lang=js&\"\nexport * from \"./NavLinks.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NavLinks.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('2e630b6d', component.options)\n } else {\n api.reload('2e630b6d', component.options)\n }\n module.hot.accept(\"./NavLinks.vue?vue&type=template&id=2e630b6d&\", function () {\n api.rerender('2e630b6d', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/default-theme/NavLinks.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/015347ef89f8db8365eee41c35fee247.json b/node_modules/vuepress/node_modules/.cache/vuepress/015347ef89f8db8365eee41c35fee247.json new file mode 100644 index 00000000..a1aa89a7 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/015347ef89f8db8365eee41c35fee247.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue?vue&type=template&id=0ec87fea&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sidebar-group\",class:{ first: _vm.first, collapsable: _vm.collapsable }},[_c('p',{staticClass:\"sidebar-heading\",class:{ open: _vm.open },on:{\"click\":function($event){_vm.$emit('toggle')}}},[_c('span',[_vm._v(_vm._s(_vm.item.title))]),_vm._v(\" \"),(_vm.collapsable)?_c('span',{staticClass:\"arrow\",class:_vm.open ? 'down' : 'right'}):_vm._e()]),_vm._v(\" \"),_c('DropdownTransition',[(_vm.open || !_vm.collapsable)?_c('ul',{ref:\"items\",staticClass:\"sidebar-group-items\"},_vm._l((_vm.item.children),function(child){return _c('li',[_c('SidebarLink',{attrs:{\"item\":child}})],1)})):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/0154c7ab0a486d6f241bfa133a64d99e.json b/node_modules/vuepress/node_modules/.cache/vuepress/0154c7ab0a486d6f241bfa133a64d99e.json new file mode 100644 index 00000000..5b15036f --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/0154c7ab0a486d6f241bfa133a64d99e.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NotFound.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NotFound.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar msgs = [\"There's nothing here.\", \"How did we get here?\", \"That's a Four-Oh-Four.\", \"Looks like we've got some broken links.\"];\nexport default {\n methods: {\n getMsg: function getMsg() {\n return msgs[Math.floor(Math.random() * msgs.length)];\n }\n }\n};",{"version":3,"sources":["NotFound.vue"],"names":[],"mappings":";;;;;;;;;;AAWA,IAAA,OAAA,sHAAA;AAOA,eAAA;AACA,WAAA;AACA,UADA,oBACA;AACA,aAAA,KAAA,KAAA,KAAA,CAAA,KAAA,MAAA,KAAA,KAAA,MAAA,CAAA,CAAA;AACA;AAHA;AADA,CAAA","sourcesContent":["<template>\n <div class=\"theme-container\">\n <div class=\"content\">\n <h1>404</h1>\n <blockquote>{{ getMsg() }}</blockquote>\n <router-link to=\"/\">Take me home.</router-link>\n </div>\n </div>\n</template>\n\n<script>\nconst msgs = [\n `There's nothing here.`,\n `How did we get here?`,\n `That's a Four-Oh-Four.`,\n `Looks like we've got some broken links.`\n]\n\nexport default {\n methods: {\n getMsg () {\n return msgs[Math.floor(Math.random() * msgs.length)]\n }\n }\n}\n</script>\n"],"sourceRoot":"node_modules/vuepress/lib/default-theme"}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/01c121e6b30ea646821ee7c699b4ecf1.json b/node_modules/vuepress/node_modules/.cache/vuepress/01c121e6b30ea646821ee7c699b4ecf1.json new file mode 100644 index 00000000..b80134a1 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/01c121e6b30ea646821ee7c699b4ecf1.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./SidebarGroup.vue?vue&type=template&id=0ec87fea&\"\nimport script from \"./SidebarGroup.vue?vue&type=script&lang=js&\"\nexport * from \"./SidebarGroup.vue?vue&type=script&lang=js&\"\nfunction injectStyles (context) {\n \n var style0 = require(\"./SidebarGroup.vue?vue&type=style&index=0&lang=stylus&\")\nif (style0.__inject__) style0.__inject__(context)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n \"4d77a41c\"\n \n)\n\ncomponent.options.__file = \"SidebarGroup.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/020b8d098fd2a060bb92baab58c44af7.json b/node_modules/vuepress/node_modules/.cache/vuepress/020b8d098fd2a060bb92baab58c44af7.json new file mode 100644 index 00000000..8df9879d --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/020b8d098fd2a060bb92baab58c44af7.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import _typeof from \"/Users/ruki/projects/personal/tbox-docs/node_modules/@babel/runtime/helpers/builtin/es6/typeof\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nexport default {\n props: {\n updateEvent: {\n type: Object,\n default: null\n }\n },\n computed: {\n popupConfig: function popupConfig() {\n var _arr = [this.$themeLocaleConfig, this.$site.themeConfig];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var config = _arr[_i];\n var sw = config.serviceWorker;\n\n if (sw && sw.updatePopup) {\n return _typeof(sw.updatePopup) === 'object' ? sw.updatePopup : {};\n }\n }\n\n return null;\n },\n enabled: function enabled() {\n return Boolean(this.popupConfig && this.updateEvent);\n },\n message: function message() {\n var c = this.popupConfig;\n return c && c.message || 'New content is available.';\n },\n buttonText: function buttonText() {\n var c = this.popupConfig;\n return c && c.buttonText || 'Refresh';\n }\n },\n methods: {\n reload: function reload() {\n if (this.updateEvent) {\n this.updateEvent.skipWaiting().then(function () {\n location.reload(true);\n });\n this.updateEvent = null;\n }\n }\n }\n};",{"version":3,"sources":["node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue"],"names":["props","updateEvent","type","Object","default","computed","popupConfig","$themeLocaleConfig","$site","themeConfig","config","sw","serviceWorker","updatePopup","enabled","Boolean","message","c","buttonText","methods","reload","skipWaiting","then","location"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,eAAe;AACbA,SAAO;AACLC,iBAAa;AACXC,YAAMC,MADK;AAEXC,eAAS;AAFE;AADR,GADM;AAQbC,YAAU;AACRC,eADQ,yBACO;AAAA,iBACQ,CAAC,KAAKC,kBAAN,EAA0B,KAAKC,KAAL,CAAWC,WAArC,CADR;;AACb,+CAAwE;AAAnE,YAAMC,iBAAN;AACH,YAAMC,KAAKD,OAAOE,aAAlB;;AACA,YAAID,MAAMA,GAAGE,WAAb,EAA0B;AACxB,iBAAO,QAAOF,GAAGE,WAAV,MAA0B,QAA1B,GAAqCF,GAAGE,WAAxC,GAAsD,EAA7D;AACD;AACF;;AACD,aAAO,IAAP;AACD,KATO;AAWRC,WAXQ,qBAWG;AACT,aAAOC,QAAQ,KAAKT,WAAL,IAAoB,KAAKL,WAAjC,CAAP;AACD,KAbO;AAeRe,WAfQ,qBAeG;AACT,UAAMC,IAAI,KAAKX,WAAf;AACA,aAAQW,KAAKA,EAAED,OAAR,IAAoB,2BAA3B;AACD,KAlBO;AAoBRE,cApBQ,wBAoBM;AACZ,UAAMD,IAAI,KAAKX,WAAf;AACA,aAAQW,KAAKA,EAAEC,UAAR,IAAuB,SAA9B;AACD;AAvBO,GARG;AAkCbC,WAAS;AACPC,UADO,oBACG;AACR,UAAI,KAAKnB,WAAT,EAAsB;AACpB,aAAKA,WAAL,CAAiBoB,WAAjB,GAA+BC,IAA/B,CAAoC,YAAM;AACxCC,mBAASH,MAAT,CAAgB,IAAhB;AACD,SAFD;AAGA,aAAKnB,WAAL,GAAmB,IAAnB;AACD;AACF;AARM;AAlCI,CAAf","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexport default {\n props: {\n updateEvent: {\n type: Object,\n default: null\n }\n },\n\n computed: {\n popupConfig () {\n for (const config of [this.$themeLocaleConfig, this.$site.themeConfig]) {\n const sw = config.serviceWorker\n if (sw && sw.updatePopup) {\n return typeof sw.updatePopup === 'object' ? sw.updatePopup : {}\n }\n }\n return null\n },\n\n enabled () {\n return Boolean(this.popupConfig && this.updateEvent)\n },\n\n message () {\n const c = this.popupConfig\n return (c && c.message) || 'New content is available.'\n },\n\n buttonText () {\n const c = this.popupConfig\n return (c && c.buttonText) || 'Refresh'\n }\n },\n\n methods: {\n reload () {\n if (this.updateEvent) {\n this.updateEvent.skipWaiting().then(() => {\n location.reload(true)\n })\n this.updateEvent = null\n }\n }\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/022cf179a9c75a39795ff62539751eac.json b/node_modules/vuepress/node_modules/.cache/vuepress/022cf179a9c75a39795ff62539751eac.json new file mode 100644 index 00000000..5b8d0047 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/022cf179a9c75a39795ff62539751eac.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import \"core-js/modules/es6.array.some\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport SidebarGroup from './SidebarGroup.vue';\nimport SidebarLink from './SidebarLink.vue';\nimport NavLinks from './NavLinks.vue';\nimport { isActive as _isActive } from './util';\nexport default {\n components: {\n SidebarGroup: SidebarGroup,\n SidebarLink: SidebarLink,\n NavLinks: NavLinks\n },\n props: ['items'],\n data: function data() {\n return {\n openGroupIndex: 0\n };\n },\n created: function created() {\n this.refreshIndex();\n },\n watch: {\n '$route': function $route() {\n this.refreshIndex();\n }\n },\n methods: {\n refreshIndex: function refreshIndex() {\n var index = resolveOpenGroupIndex(this.$route, this.items);\n\n if (index > -1) {\n this.openGroupIndex = index;\n }\n },\n toggleGroup: function toggleGroup(index) {\n this.openGroupIndex = index === this.openGroupIndex ? -1 : index;\n },\n isActive: function isActive(page) {\n return _isActive(this.$route, page.path);\n }\n }\n};\n\nfunction resolveOpenGroupIndex(route, items) {\n for (var i = 0; i < items.length; i++) {\n var item = items[i];\n\n if (item.type === 'group' && item.children.some(function (c) {\n return _isActive(route, c.path);\n })) {\n return i;\n }\n }\n\n return -1;\n}",{"version":3,"sources":["node_modules/vuepress/lib/default-theme/Sidebar.vue"],"names":["SidebarGroup","SidebarLink","NavLinks","isActive","components","props","data","openGroupIndex","created","refreshIndex","watch","methods","index","resolveOpenGroupIndex","$route","items","toggleGroup","page","path","route","i","length","item","type","children","some","c"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,OAAOA,YAAP,MAAyB,oBAAzB;AACA,OAAOC,WAAP,MAAwB,mBAAxB;AACA,OAAOC,QAAP,MAAqB,gBAArB;AACA,SAASC,qBAAT,QAAyB,QAAzB;AAEA,eAAe;AACbC,cAAY;AAAEJ,8BAAF;AAAgBC,4BAAhB;AAA6BC;AAA7B,GADC;AAGbG,SAAO,CAAC,OAAD,CAHM;AAKbC,MALa,kBAKL;AACN,WAAO;AACLC,sBAAgB;AADX,KAAP;AAGD,GATY;AAWbC,SAXa,qBAWF;AACT,SAAKC,YAAL;AACD,GAbY;AAebC,SAAO;AACL,YADK,oBACO;AACV,WAAKD,YAAL;AACD;AAHI,GAfM;AAqBbE,WAAS;AACPF,gBADO,0BACS;AACd,UAAMG,QAAQC,sBACZ,KAAKC,MADO,EAEZ,KAAKC,KAFO,CAAd;;AAIA,UAAIH,QAAQ,CAAC,CAAb,EAAgB;AACd,aAAKL,cAAL,GAAsBK,KAAtB;AACD;AACF,KATM;AAWPI,eAXO,uBAWMJ,KAXN,EAWa;AAClB,WAAKL,cAAL,GAAsBK,UAAU,KAAKL,cAAf,GAAgC,CAAC,CAAjC,GAAqCK,KAA3D;AACD,KAbM;AAePT,YAfO,oBAeGc,IAfH,EAeS;AACd,aAAOd,UAAS,KAAKW,MAAd,EAAsBG,KAAKC,IAA3B,CAAP;AACD;AAjBM;AArBI,CAAf;;AA0CA,SAASL,qBAAT,CAAgCM,KAAhC,EAAuCJ,KAAvC,EAA8C;AAC5C,OAAK,IAAIK,IAAI,CAAb,EAAgBA,IAAIL,MAAMM,MAA1B,EAAkCD,GAAlC,EAAuC;AACrC,QAAME,OAAOP,MAAMK,CAAN,CAAb;;AACA,QAAIE,KAAKC,IAAL,KAAc,OAAd,IAAyBD,KAAKE,QAAL,CAAcC,IAAd,CAAmB;AAAA,aAAKtB,UAASgB,KAAT,EAAgBO,EAAER,IAAlB,CAAL;AAAA,KAAnB,CAA7B,EAA+E;AAC7E,aAAOE,CAAP;AACD;AACF;;AACD,SAAO,CAAC,CAAR;AACD","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport SidebarGroup from './SidebarGroup.vue'\nimport SidebarLink from './SidebarLink.vue'\nimport NavLinks from './NavLinks.vue'\nimport { isActive } from './util'\n\nexport default {\n components: { SidebarGroup, SidebarLink, NavLinks },\n\n props: ['items'],\n\n data () {\n return {\n openGroupIndex: 0\n }\n },\n\n created () {\n this.refreshIndex()\n },\n\n watch: {\n '$route' () {\n this.refreshIndex()\n }\n },\n\n methods: {\n refreshIndex () {\n const index = resolveOpenGroupIndex(\n this.$route,\n this.items\n )\n if (index > -1) {\n this.openGroupIndex = index\n }\n },\n\n toggleGroup (index) {\n this.openGroupIndex = index === this.openGroupIndex ? -1 : index\n },\n\n isActive (page) {\n return isActive(this.$route, page.path)\n }\n }\n}\n\nfunction resolveOpenGroupIndex (route, items) {\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n if (item.type === 'group' && item.children.some(c => isActive(route, c.path))) {\n return i\n }\n }\n return -1\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/02be1cb24f3239a501d76edac5a1316c.json b/node_modules/vuepress/node_modules/.cache/vuepress/02be1cb24f3239a501d76edac5a1316c.json new file mode 100644 index 00000000..027da12d --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/02be1cb24f3239a501d76edac5a1316c.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./SidebarGroup.vue?vue&type=template&id=18ca159a&\"\nimport script from \"./SidebarGroup.vue?vue&type=script&lang=js&\"\nexport * from \"./SidebarGroup.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SidebarGroup.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('18ca159a', component.options)\n } else {\n api.reload('18ca159a', component.options)\n }\n module.hot.accept(\"./SidebarGroup.vue?vue&type=template&id=18ca159a&\", function () {\n api.rerender('18ca159a', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/default-theme/SidebarGroup.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/032bc3b876aa76cb815c2f9484108642.json b/node_modules/vuepress/node_modules/.cache/vuepress/032bc3b876aa76cb815c2f9484108642.json new file mode 100644 index 00000000..f0c68fff --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/032bc3b876aa76cb815c2f9484108642.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/util.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/util.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import _toConsumableArray from \"/Users/ruki/projects/personal/tbox-docs/node_modules/@babel/runtime/helpers/builtin/es6/toConsumableArray\";\nexport function injectMixins(options, mixins) {\n var _options$mixins;\n\n if (!options.mixins) {\n options.mixins = [];\n }\n\n (_options$mixins = options.mixins).push.apply(_options$mixins, _toConsumableArray(mixins));\n}\nexport function findPageForPath(pages, path) {\n for (var i = 0; i < pages.length; i++) {\n var page = pages[i];\n\n if (page.path === path) {\n return page;\n }\n }\n\n return {\n path: '',\n frontmatter: {}\n };\n}",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/034e5d12aba4ac22ea512de7d31a5f9f.json b/node_modules/vuepress/node_modules/.cache/vuepress/034e5d12aba4ac22ea512de7d31a5f9f.json new file mode 100644 index 00000000..b4a3669d --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/034e5d12aba4ac22ea512de7d31a5f9f.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue?vue&type=template&id=040599e7&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<header class=\"navbar\">\n <SidebarButton @toggle-sidebar=\"$emit('toggle-sidebar')\"/>\n\n <router-link\n :to=\"$localePath\"\n class=\"home-link\"\n >\n <img\n class=\"logo\"\n v-if=\"$site.themeConfig.logo\"\n :src=\"$withBase($site.themeConfig.logo)\"\n :alt=\"$siteTitle\"\n >\n <span\n ref=\"siteName\"\n class=\"site-name\"\n v-if=\"$siteTitle\"\n :class=\"{ 'can-hide': $site.themeConfig.logo }\"\n >{{ $siteTitle }}</span>\n </router-link>\n\n <div\n class=\"links\"\n :style=\"{\n 'max-width': linksWrapMaxWidth + 'px'\n }\"\n >\n <AlgoliaSearchBox\n v-if=\"isAlgoliaSearch\"\n :options=\"algolia\"\n />\n <SearchBox v-else-if=\"$site.themeConfig.search !== false\"/>\n <NavLinks class=\"can-hide\"/>\n </div>\n</header>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/0357d92fe076c16b3c6129fca6a78600.json b/node_modules/vuepress/node_modules/.cache/vuepress/0357d92fe076c16b3c6129fca6a78600.json new file mode 100644 index 00000000..3d860496 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/0357d92fe076c16b3c6129fca6a78600.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/manual/index.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/manual/index.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./index.md?vue&type=template&id=1750b30a&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('1750b30a', component.options)\n } else {\n api.reload('1750b30a', component.options)\n }\n module.hot.accept(\"./index.md?vue&type=template&id=1750b30a&\", function () {\n api.rerender('1750b30a', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/manual/index.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/0366a841583570186e3865ffb0547624.json b/node_modules/vuepress/node_modules/.cache/vuepress/0366a841583570186e3865ffb0547624.json new file mode 100644 index 00000000..86bb71bf --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/0366a841583570186e3865ffb0547624.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue?vue&type=template&id=17e966b4&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div class=\"page\">\n <slot name=\"top\"/>\n\n <Content :custom=\"false\"/>\n\n <div class=\"page-edit\">\n <div\n class=\"edit-link\"\n v-if=\"editLink\"\n >\n <a\n :href=\"editLink\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >{{ editLinkText }}</a>\n <OutboundLink/>\n </div>\n\n <div\n class=\"last-updated\"\n v-if=\"lastUpdated\"\n >\n <span class=\"prefix\">{{ lastUpdatedText }}: </span>\n <span class=\"time\">{{ lastUpdated }}</span>\n </div>\n </div>\n\n <div class=\"page-nav\" v-if=\"prev || next\">\n <p class=\"inner\">\n <span\n v-if=\"prev\"\n class=\"prev\"\n >\n ←\n <router-link\n v-if=\"prev\"\n class=\"prev\"\n :to=\"prev.path\"\n >\n {{ prev.title || prev.path }}\n </router-link>\n </span>\n\n <span\n v-if=\"next\"\n class=\"next\"\n >\n <router-link\n v-if=\"next\"\n :to=\"next.path\"\n >\n {{ next.title || next.path }}\n </router-link>\n →\n </span>\n </p>\n </div>\n\n <slot name=\"bottom\"/>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/03a5981ccb3ed45b6899fe8144157f0d.json b/node_modules/vuepress/node_modules/.cache/vuepress/03a5981ccb3ed45b6899fe8144157f0d.json new file mode 100644 index 00000000..842759a4 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/03a5981ccb3ed45b6899fe8144157f0d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NotFound.vue","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NotFound.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./NotFound.vue?vue&type=template&id=52d5a9f4&\"\nimport script from \"./NotFound.vue?vue&type=script&lang=js&\"\nexport * from \"./NotFound.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('52d5a9f4', component.options)\n } else {\n api.reload('52d5a9f4', component.options)\n }\n module.hot.accept(\"./NotFound.vue?vue&type=template&id=52d5a9f4&\", function () {\n api.rerender('52d5a9f4', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/default-theme/NotFound.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/04585a7ba4ee3126894f75694c9cad2f.json b/node_modules/vuepress/node_modules/.cache/vuepress/04585a7ba4ee3126894f75694c9cad2f.json new file mode 100644 index 00000000..71efe372 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/04585a7ba4ee3126894f75694c9cad2f.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/manual/index.md?vue&type=template&id=6d0b4415&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/manual/index.md","mtime":1541492172602},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_c('h1',{attrs:{\"id\":\"手册\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#手册\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 手册\")]),_vm._v(\" \"),_c('p',[_vm._v(\"[TODO]\")])])}]\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/0491731b7484b93a91fefd846945fe63.json b/node_modules/vuepress/node_modules/.cache/vuepress/0491731b7484b93a91fefd846945fe63.json new file mode 100644 index 00000000..f7c8873a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/0491731b7484b93a91fefd846945fe63.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NavLink.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NavLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.iterator\";\nimport \"core-js/modules/es6.object.keys\";\nimport \"core-js/modules/es6.array.some\";\nimport \"core-js/modules/es6.string.link\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport { isExternal, isMailto, isTel, ensureExt } from './util';\nexport default {\n props: {\n item: {\n required: true\n }\n },\n computed: {\n link: function link() {\n return ensureExt(this.item.link);\n },\n exact: function exact() {\n var _this = this;\n\n if (this.$site.locales) {\n return Object.keys(this.$site.locales).some(function (rootLink) {\n return rootLink === _this.link;\n });\n }\n\n return this.link === '/';\n }\n },\n methods: {\n isExternal: isExternal,\n isMailto: isMailto,\n isTel: isTel\n }\n};",{"version":3,"sources":["NavLink.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAoBA,SAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,SAAA,QAAA,QAAA;AAEA,eAAA;AACA,SAAA;AACA,UAAA;AACA,gBAAA;AADA;AADA,GADA;AAOA,YAAA;AACA,QADA,kBACA;AACA,aAAA,UAAA,KAAA,IAAA,CAAA,IAAA,CAAA;AACA,KAHA;AAKA,SALA,mBAKA;AAAA;;AACA,UAAA,KAAA,KAAA,CAAA,OAAA,EAAA;AACA,eAAA,OAAA,IAAA,CAAA,KAAA,KAAA,CAAA,OAAA,EAAA,IAAA,CAAA;AAAA,iBAAA,aAAA,MAAA,IAAA;AAAA,SAAA,CAAA;AACA;;AACA,aAAA,KAAA,IAAA,KAAA,GAAA;AACA;AAVA,GAPA;AAoBA,WAAA;AACA,0BADA;AAEA,sBAFA;AAGA;AAHA;AApBA,CAAA","sourcesContent":["<template>\n <router-link\n class=\"nav-link\"\n :to=\"link\"\n v-if=\"!isExternal(link)\"\n :exact=\"exact\"\n >{{ item.text }}</router-link>\n <a\n v-else\n :href=\"link\"\n class=\"nav-link external\"\n :target=\"isMailto(link) || isTel(link) ? null : '_blank'\"\n :rel=\"isMailto(link) || isTel(link) ? null : 'noopener noreferrer'\"\n >\n {{ item.text }}\n <OutboundLink/>\n </a>\n</template>\n\n<script>\nimport { isExternal, isMailto, isTel, ensureExt } from './util'\n\nexport default {\n props: {\n item: {\n required: true\n }\n },\n\n computed: {\n link () {\n return ensureExt(this.item.link)\n },\n\n exact () {\n if (this.$site.locales) {\n return Object.keys(this.$site.locales).some(rootLink => rootLink === this.link)\n }\n return this.link === '/'\n }\n },\n\n methods: {\n isExternal,\n isMailto,\n isTel\n }\n}\n</script>\n"],"sourceRoot":"node_modules/vuepress/lib/default-theme"}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/04e2015858c4690999a41feb8df79a0c.json b/node_modules/vuepress/node_modules/.cache/vuepress/04e2015858c4690999a41feb8df79a0c.json new file mode 100644 index 00000000..4a0fc2e1 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/04e2015858c4690999a41feb8df79a0c.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLink.vue?vue&type=template&id=e3abcdbc&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<router-link\n class=\"nav-link\"\n :to=\"link\"\n v-if=\"!isExternal(link)\"\n :exact=\"exact\"\n>{{ item.text }}</router-link>\n<a\n v-else\n :href=\"link\"\n class=\"nav-link external\"\n :target=\"isMailto(link) || isTel(link) ? null : '_blank'\"\n :rel=\"isMailto(link) || isTel(link) ? null : 'noopener noreferrer'\"\n>\n {{ item.text }}\n <OutboundLink/>\n</a>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/04e2a58a3b94a2bb7d9807a7aefd7b60.json b/node_modules/vuepress/node_modules/.cache/vuepress/04e2a58a3b94a2bb7d9807a7aefd7b60.json new file mode 100644 index 00000000..21c3f857 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/04e2a58a3b94a2bb7d9807a7aefd7b60.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/README.md?vue&type=template&id=4f009e77&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/README.md","mtime":1541513030109},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm._m(0)\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _c(\"div\", { staticClass: \"language-c extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-c\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token macro property\" } }, [\n _vm._v(\"#\"),\n _c(\"span\", { attrs: { class: \"token directive keyword\" } }, [\n _vm._v(\"include\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"tbox/tbox.h\"')\n ])\n ]),\n _vm._v(\"\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"int\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"main\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"(\")\n ]),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"int\")]),\n _vm._v(\" argc\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\",\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"char\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _vm._v(\" argv\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\")\")\n ]),\n _vm._v(\"\\n\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"{\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// init tbox\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"(\")\n ]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"!\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_init\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"(\")\n ]),\n _vm._v(\"tb_null\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\",\")\n ]),\n _vm._v(\" tb_null\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\")\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\")\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [\n _vm._v(\"return\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\";\")\n ]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// init vector\")\n ]),\n _vm._v(\"\\n tb_vector_ref_t vector \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_init\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"(\")\n ]),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\",\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_element_cstr\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"(\")\n ]),\n _vm._v(\"tb_true\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\")\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\")\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\";\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"(\")\n ]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\")\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"{\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// insert item\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_insert_tail\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"(\")\n ]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\",\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"hello\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\")\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\";\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_insert_tail\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"(\")\n ]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\",\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"tbox\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\")\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\";\")\n ]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// dump all items\")\n ]),\n _vm._v(\"\\n tb_for_all \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"(\")\n ]),\n _vm._v(\"tb_char_t \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [\n _vm._v(\"const\")\n ]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\",\")\n ]),\n _vm._v(\" cstr\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\",\")\n ]),\n _vm._v(\" vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\")\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"{\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// trace\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_trace_i\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"(\")\n ]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"%s\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\",\")\n ]),\n _vm._v(\" cstr\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\")\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\";\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"}\")\n ]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// exit vector\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_exit\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"(\")\n ]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\")\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\";\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"}\")\n ]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// exit tbox\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_exit\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"(\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\")\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\";\")\n ]),\n _vm._v(\"\\n\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"}\")\n ]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/051741117110676c3006ca0f0e232a55.json b/node_modules/vuepress/node_modules/.cache/vuepress/051741117110676c3006ca0f0e232a55.json new file mode 100644 index 00000000..04ec15ab --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/051741117110676c3006ca0f0e232a55.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n@require './styles/wrapper.styl'\n\n.page\n padding-bottom 2rem\n\n.page-edit\n @extend $wrapper\n padding-top 1rem\n padding-bottom 1rem\n overflow auto\n .edit-link\n display inline-block\n a\n color lighten($textColor, 25%)\n margin-right 0.25rem\n .last-updated\n float right\n font-size 0.9em\n .prefix\n font-weight 500\n color lighten($textColor, 25%)\n .time\n font-weight 400\n color #aaa\n\n.page-nav\n @extend $wrapper\n padding-top 1rem\n padding-bottom 0\n .inner\n min-height 2rem\n margin-top 0\n border-top 1px solid $borderColor\n padding-top 1rem\n overflow auto // clear float\n .next\n float right\n\n@media (max-width: $MQMobile)\n .page-edit\n .edit-link\n margin-bottom .5rem\n .last-updated\n font-size .8em\n float none\n text-align left\n\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/051cf0f5f664e6f8ff1b396706845fa7.json b/node_modules/vuepress/node_modules/.cache/vuepress/051cf0f5f664e6f8ff1b396706845fa7.json new file mode 100644 index 00000000..f93b7f5c --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/051cf0f5f664e6f8ff1b396706845fa7.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/introduction.md?vue&type=template&id=29661056&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/introduction.md","mtime":1541489249205},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"TBOX是一个用c语言实现的跨平台开发库。\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"针对各个平台,封装了统一的接口,简化了各类开发过程中常用操作,使你在开发过程中,更加关注实际应用的开发,而不是把时间浪费在琐碎的接口兼容性上面,并且充分利用了各个平台独有的一些特性进行优化。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"这个项目的目的,是为了使C开发更加的简单高效。\")]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"目前支持的平台有:\")]),\n _vm._v(\" \"),\n _vm._m(1),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"通过\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.xmake.io/cn\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\"支持各种编译模式:\")\n ]),\n _vm._v(\" \"),\n _vm._m(2),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"如果你想了解更多,请参考:\")]),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.tboox.org/cn\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"项目主页\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/tbox/wiki/%E7%9B%AE%E5%BD%95\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"在线文档\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/tbox\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Github\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://gitee.com/tboox/tbox\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Gitee\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm._m(3),\n _vm._v(\" \"),\n _vm._m(4),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"针对http、file、socket、data等流数据,实现统一接口进行读写,并且支持: 阻塞、非阻塞、异步 三种读写模式。\\n支持中间增加多层filter流进行流过滤,实现边读取,内部边进行解压、编码转换、加密等操作,极大的减少了内存使用。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"主要提供以下模块:\")]),\n _vm._v(\" \"),\n _vm._m(5),\n _vm._v(\" \"),\n _vm._m(6),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"快速高效的协程切换支持(具体性能参考:\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://tboox.org/cn/2016/10/28/benchbox-coroutine/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"基准测试报告\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\")\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"提供跨平台支持,核心切换算法参考boost,并且对其进行重写和优化,目前支持架构:x86, x86_64, arm, arm64, mips32\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供channel协程间数据通信支持,基于生产、消费者模型\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供信号量、协程锁支持\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"socket、stream都模块原生支持协程,并且可在线程和协程间进行无缝切换\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"提供http、file等基于协程的简单服务器实例,只需几百行代码,就可以从socket开始写个高性能io服务器,代码逻辑比异步回调模式更加清晰\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"同时提供stackfull, stackless两种协程模式支持,stackless协程更加的轻量(每个协程只占用几十个bytes),切换更快(会牺牲部分易用性)\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"支持epoll, kqueue, poll, select 和 IOCP\")])\n ]),\n _vm._v(\" \"),\n _vm._m(7),\n _vm._v(\" \"),\n _vm._m(8),\n _vm._v(\" \"),\n _vm._m(9),\n _vm._v(\" \"),\n _vm._m(10),\n _vm._v(\" \"),\n _vm._m(11),\n _vm._v(\" \"),\n _vm._m(12),\n _vm._v(\" \"),\n _vm._m(13),\n _vm._v(\" \"),\n _vm._m(14),\n _vm._v(\" \"),\n _vm._m(15),\n _vm._v(\" \"),\n _vm._m(16),\n _vm._v(\" \"),\n _vm._m(17),\n _vm._v(\" \"),\n _vm._m(18),\n _vm._v(\" \"),\n _vm._m(19),\n _vm._v(\" \"),\n _vm._m(20),\n _vm._v(\" \"),\n _vm._m(21),\n _vm._v(\" \"),\n _vm._m(22),\n _vm._v(\" \"),\n _vm._m(23),\n _vm._v(\" \"),\n _vm._m(24),\n _vm._v(\" \"),\n _vm._m(25),\n _vm._v(\" \"),\n _vm._m(26),\n _vm._v(\" \"),\n _vm._m(27),\n _vm._v(\" \"),\n _vm._m(28),\n _vm._v(\" \"),\n _vm._m(29),\n _vm._v(\" \"),\n _vm._m(30),\n _vm._v(\" \"),\n _vm._m(31),\n _vm._v(\" \"),\n _vm._m(32),\n _vm._v(\" \"),\n _vm._m(33),\n _vm._v(\" \"),\n _vm._m(34),\n _vm._v(\" \"),\n _vm._m(35),\n _vm._v(\" \"),\n _vm._m(36),\n _vm._v(\" \"),\n _vm._m(37),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"一些使用tbox的项目\")]),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/gbox\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"gbox\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/vm86\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"vm86\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.xmake.io/cn\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/itrace\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"itrace\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href:\n \"https://github.com/tboox/tbox/wiki/%E4%BD%BF%E7%94%A8tbox%E7%9A%84%E5%BC%80%E6%BA%90%E5%BA%93\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"更多项目\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm._m(38),\n _vm._v(\" \"),\n _c(\"ul\", [\n _vm._m(39),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"主页:\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.tboox.org/cn\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"TBOOX开源工程\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"社区:\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://www.reddit.com/r/tboox/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Reddit论坛\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"QQ群:343118190\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"微信公众号:tboox-os\")])\n ])\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h1\", { attrs: { id: \"简介\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#简介\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 简介\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Windows\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Macosx\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Linux\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Android\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"iOS\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Release: 正式版编译,禁用调试信息、断言,各种检测机制,启用编译器优化\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Debug: 调试模式,默认启用详细调试信息、断言、内存越界检测、内存泄漏、锁竞争分析等检测机制\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Small: 最小化编译,默认禁用所有扩展模块,启用编译器最小化优化\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Micro: 针对嵌入式平台,仅仅编译tbox微内核,仅提供最基础的跨平台接口,生成库仅64K左右(内置轻量libc接口实现)\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"特性\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#特性\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 特性\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"流库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#流库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 流库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _c(\"code\", [_vm._v(\"stream\")]),\n _vm._v(\n \":通用非阻塞流,用于一般的单独io处理,同时支持协程以实现异步传输。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\"code\", [_vm._v(\"transfer\")]),\n _vm._v(\":流传输器,维护两路流的传输。\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\"code\", [_vm._v(\"static_stream\")]),\n _vm._v(\":针对静态数据buffer优化的静态流,用于轻量快速的数据解析。\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"协程库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#协程库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 协程库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"数据库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#数据库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 数据库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"统一并简化数据库操作接口,适配各种数据源,通过统一的url来自动连接打开支持的数据库,数据的枚举采用迭代器模型。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"目前支持sqlite3以及mysql两种关系型数据库,也可自定义扩展使用其他关系型数据库。\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"xml库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#xml库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" xml库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"针对xml提供DOM和SAX两种解析模式,SAX方式采用外部迭代模式,灵活性和性能更高,并且可以选择指定路径,进行解析。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"解析过程完全基于stream,所以是高度流化的,可以实现边下载、边解压、边转码、边解析一条龙服务,使用较低的内存也可以解析大规模数据。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供xml writer以支持对xml生成\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"内存库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#内存库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 内存库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"参考linux内核内存管理机制的实现,并对其进行各种改造和优化,所实现的TBOX独有的一整套内存池管理架构。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"调试模式下,可以轻松检测并定位内存泄露、内存越界溢出、内存重叠覆盖等常见内存问题,并对整体内存的使用进行了统计和简要分析。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"针对大块数据、小块数据、字符串数据进行了充分的利用,避免了大量外部碎片和内部碎片的产生。分配操作进行了各种优化,96%的情况下,效率都是在O(1)。\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"容器库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#容器库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 容器库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"提供哈希、链表、数组、队列、堆栈、最小最大堆等常用容器。\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"支持各种常用成员类型,在原有的容器期初上,其成员类型还可以完全自定义扩展。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"所有容器都支持迭代器操作。\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"大部分容器都可以支持基于stream的序列化和反序列化操作。\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"算法库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#算法库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 算法库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"提供各种排序算法:冒泡排序、堆排序、快速排序、插入排序。\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供各种查找算法:线性遍历、二分法搜索。\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供各种遍历、删除、统计算法。\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"以迭代器为接口,实现算法和容器的分离,类似stl,但是c实现的,更加轻量。\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"网络库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#网络库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 网络库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"实现http客户端模块\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"实现cookies\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"实现dns解析与缓存\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"实现ssl(支持openssl, polarssl, mbedtls)\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"支持ipv4、ipv6\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"支持通过协程实现异步模式\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"数学运算库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#数学运算库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 数学运算库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"提供各种精度的定点运算支持\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供随机数生成器\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"libc库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#libc库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" libc库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"libc的一个轻量级实现,完全跨平台,并且针对不同架构进行了优化。\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"支持大部分字符串、宽字符串操作。\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"扩展字符串、宽字符串的各种大小写不敏感操作接口\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"扩展\"),\n _c(\"code\", [_vm._v(\"memset_u16\")]),\n _vm._v(\"、\"),\n _c(\"code\", [_vm._v(\"memset_u32\")]),\n _vm._v(\"等接口,并对其进行高度优化,尤其适合图形渲染程序\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"libm库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#libm库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" libm库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"libm部分接口的一个轻量级实现,以及对常用系统接口的封装。(目前只实现了部分,之后有时间会完全实现掉)\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"扩展部分常用接口,增加对sqrt、log2等常用函数的整数版本计算,进行高度优化,不涉及浮点运算,适合嵌入式环境使用。\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"object库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#object库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" object库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"轻量级类apple的CoreFoundation库,支持object、dictionary、array、string、number、date、data等常用对象,并且可以方便扩展自定义对象的序列化。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"支持对xml、json、binary以及apple的plist(xplist/bplist)格式序列化和反序列化。\\n并且实现自有的binary序列化格式, 针对明文进行了简单的加密,在不影响性能的前提下,序列化后的大小比bplist节省30%。\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"平台库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#平台库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 平台库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"提供file、directory、socket、thread、time等常用系统接口\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供atomic、atomic64接口\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供高精度、低精度定时器\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供高性能的线程池操作\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"提供event、mutex、semaphore、spinlock等事件、互斥、信号量、自旋锁操作\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供获取函数堆栈信息的接口,方便调试和错误定位\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供跨平台动态库加载接口(如果系统支持的话)\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"提供io轮询器,针对epoll, poll, select, kqueue进行跨平台封装\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"提供跨平台上下文切换接口,主要用于协程实现,切换效率非常高\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"压缩库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#压缩库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 压缩库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"支持zlib/zlibraw/gzip的压缩与解压(需要第三方zlib库支持)。\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"字符编码库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#字符编码库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 字符编码库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"支持utf8、utf16、gbk、gb2312、uc2、uc4 之间的互相转码,并且支持大小端格式。\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"实用工具库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#实用工具库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 实用工具库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"实现base64/32编解码\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"实现crc32、adler32、md5、sha1等常用hash算法\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"实现日志输出、断言等辅助调试工具\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"实现url编解码\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"实现位操作相关接口,支持各种数据格式的解析,可以对8bits、16bits、32bits、64bits、float、double以及任意bits的字段进行解析操作,并且同时支持大端、小端和本地端模式,并针对部分操作进行了优化,像static_stream、stream都有相关接口对其进行了封装,方便在流上进行快速数据解析。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"实现swap16、swap32、swap64等位交换操作,并针对各个平台进行了优化。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"实现一些高级的位处理接口,例如:位0的快速统计、前导0和前导1的快速位计数、后导01的快速位计数\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"实现单例模块,可以对静态对象、实例对象进行快速的单例封装,实现全局线程安全\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"实现option模块,对命令行参数进行解析,提供快速方便的命令行选项建立和解析操作,对于写终端程序还是很有帮助的\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"正则表达式库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#正则表达式库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 正则表达式库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"支持匹配和替换操作\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"支持全局、多行、大小写不敏感等模式\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"使用pcre, pcre2和posix正则库\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"项目例子\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#项目例子\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 项目例子\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"联系方式\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#联系方式\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 联系方式\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"li\", [\n _vm._v(\"邮箱:\"),\n _c(\"a\", { attrs: { href: \"mailto:waruqi@gmail.com\" } }, [\n _vm._v(\"waruqi@gmail.com\")\n ])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/0541533ee95d06c0f3f179e93ea02b5c.json b/node_modules/vuepress/node_modules/.cache/vuepress/0541533ee95d06c0f3f179e93ea02b5c.json new file mode 100644 index 00000000..349f012b --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/0541533ee95d06c0f3f179e93ea02b5c.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue?vue&type=template&id=ba85aa8c&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div\n class=\"dropdown-wrapper\"\n :class=\"{ open }\"\n>\n <a\n class=\"dropdown-title\"\n @click=\"toggle\"\n >\n <span class=\"title\">{{ item.text }}</span>\n <span\n class=\"arrow\"\n :class=\"open ? 'down' : 'right'\"\n ></span>\n </a>\n\n <DropdownTransition>\n <ul\n class=\"nav-dropdown\"\n v-show=\"open\"\n >\n <li\n class=\"dropdown-item\"\n :key=\"subItem.link || index\"\n v-for=\"(subItem, index) in item.items\"\n >\n <h4 v-if=\"subItem.type === 'links'\">{{ subItem.text }}</h4>\n\n <ul\n class=\"dropdown-subitem-wrapper\"\n v-if=\"subItem.type === 'links'\"\n >\n <li\n class=\"dropdown-subitem\"\n :key=\"childSubItem.link\"\n v-for=\"childSubItem in subItem.items\"\n >\n <NavLink :item=\"childSubItem\"/>\n </li>\n </ul>\n\n <NavLink\n v-else\n :item=\"subItem\"\n />\n </li>\n </ul>\n </DropdownTransition>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/05c5acf1310f97885d7505e44cd975ba.json b/node_modules/vuepress/node_modules/.cache/vuepress/05c5acf1310f97885d7505e44cd975ba.json new file mode 100644 index 00000000..e70846a3 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/05c5acf1310f97885d7505e44cd975ba.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue?vue&type=template&id=02a4f89d&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"transition\",\n {\n attrs: { name: \"dropdown\" },\n on: {\n enter: _vm.setHeight,\n \"after-enter\": _vm.unsetHeight,\n \"before-leave\": _vm.setHeight\n }\n },\n [_vm._t(\"default\")],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/05e1d2b79d960956c295eda4cac0aa96.json b/node_modules/vuepress/node_modules/.cache/vuepress/05e1d2b79d960956c295eda4cac0aa96.json new file mode 100644 index 00000000..e7d5b306 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/05e1d2b79d960956c295eda4cac0aa96.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./Sidebar.vue?vue&type=template&id=c97eee92&\"\nimport script from \"./Sidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./Sidebar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Sidebar.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"Sidebar.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/05eefa83cfab25da2df6150c6f43ec66.json b/node_modules/vuepress/node_modules/.cache/vuepress/05eefa83cfab25da2df6150c6f43ec66.json new file mode 100644 index 00000000..2fdd5fe0 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/05eefa83cfab25da2df6150c6f43ec66.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/api/introduction.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/api/introduction.md","mtime":1541569456015},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./introduction.md?vue&type=template&id=c58bf996&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"introduction.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/06ee1d512515ea3d24b2a32263693a5b.json b/node_modules/vuepress/node_modules/.cache/vuepress/06ee1d512515ea3d24b2a32263693a5b.json new file mode 100644 index 00000000..f6ed8c9d --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/06ee1d512515ea3d24b2a32263693a5b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport NavLink from './NavLink.vue';\nimport DropdownTransition from './DropdownTransition.vue';\nexport default {\n components: {\n NavLink: NavLink,\n DropdownTransition: DropdownTransition\n },\n data: function data() {\n return {\n open: false\n };\n },\n props: {\n item: {\n required: true\n }\n },\n methods: {\n toggle: function toggle() {\n this.open = !this.open;\n }\n }\n};",{"version":3,"sources":["node_modules/vuepress/lib/default-theme/DropdownLink.vue"],"names":["NavLink","DropdownTransition","components","data","open","props","item","required","methods","toggle"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,OAAOA,OAAP,MAAoB,eAApB;AACA,OAAOC,kBAAP,MAA+B,0BAA/B;AAEA,eAAe;AACbC,cAAY;AAAEF,oBAAF;AAAWC;AAAX,GADC;AAGbE,MAHa,kBAGL;AACN,WAAO;AACLC,YAAM;AADD,KAAP;AAGD,GAPY;AASbC,SAAO;AACLC,UAAM;AACJC,gBAAU;AADN;AADD,GATM;AAebC,WAAS;AACPC,UADO,oBACG;AACR,WAAKL,IAAL,GAAY,CAAC,KAAKA,IAAlB;AACD;AAHM;AAfI,CAAf","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport NavLink from './NavLink.vue'\nimport DropdownTransition from './DropdownTransition.vue'\n\nexport default {\n components: { NavLink, DropdownTransition },\n\n data () {\n return {\n open: false\n }\n },\n\n props: {\n item: {\n required: true\n }\n },\n\n methods: {\n toggle () {\n this.open = !this.open\n }\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/078a999d3a7f2ecdd094aca624877800.json b/node_modules/vuepress/node_modules/.cache/vuepress/078a999d3a7f2ecdd094aca624877800.json new file mode 100644 index 00000000..9acb3844 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/078a999d3a7f2ecdd094aca624877800.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/manual/index.md?vue&type=template&id=3b730ffa&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/manual/index.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_c('h1',{attrs:{\"id\":\"manual\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#manual\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Manual\")]),_vm._v(\" \"),_c('p',[_vm._v(\"[TODO]\")])])}]\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/0793803adb0558a07a62346c88c8296d.json b/node_modules/vuepress/node_modules/.cache/vuepress/0793803adb0558a07a62346c88c8296d.json new file mode 100644 index 00000000..6b0ba63a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/0793803adb0558a07a62346c88c8296d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLink.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./NavLink.vue?vue&type=template&id=e3abcdbc&\"\nimport script from \"./NavLink.vue?vue&type=script&lang=js&\"\nexport * from \"./NavLink.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n \"9485e698\"\n \n)\n\ncomponent.options.__file = \"NavLink.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/07a055914920a84328d916cdb148eca5.json b/node_modules/vuepress/node_modules/.cache/vuepress/07a055914920a84328d916cdb148eca5.json new file mode 100644 index 00000000..3a35d609 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/07a055914920a84328d916cdb148eca5.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue?vue&type=template&id=0cd5c87c&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"search-box\" }, [\n _c(\"input\", {\n class: { focused: _vm.focused },\n attrs: {\n \"aria-label\": \"Search\",\n autocomplete: \"off\",\n spellcheck: \"false\"\n },\n domProps: { value: _vm.query },\n on: {\n input: function($event) {\n _vm.query = $event.target.value\n },\n focus: function($event) {\n _vm.focused = true\n },\n blur: function($event) {\n _vm.focused = false\n },\n keyup: [\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n _vm.go(_vm.focusIndex)\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"up\", 38, $event.key, [\"Up\", \"ArrowUp\"])\n ) {\n return null\n }\n return _vm.onUp($event)\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"down\", 40, $event.key, [\n \"Down\",\n \"ArrowDown\"\n ])\n ) {\n return null\n }\n return _vm.onDown($event)\n }\n ]\n }\n }),\n _vm._v(\" \"),\n _vm.showSuggestions\n ? _c(\n \"ul\",\n {\n staticClass: \"suggestions\",\n class: { \"align-right\": _vm.alignRight },\n on: { mouseleave: _vm.unfocus }\n },\n _vm._l(_vm.suggestions, function(s, i) {\n return _c(\n \"li\",\n {\n staticClass: \"suggestion\",\n class: { focused: i === _vm.focusIndex },\n on: {\n mousedown: function($event) {\n _vm.go(i)\n },\n mouseenter: function($event) {\n _vm.focus(i)\n }\n }\n },\n [\n _c(\n \"a\",\n {\n attrs: { href: s.path },\n on: {\n click: function($event) {\n $event.preventDefault()\n }\n }\n },\n [\n _c(\"span\", { staticClass: \"page-title\" }, [\n _vm._v(_vm._s(s.title || s.path))\n ]),\n _vm._v(\" \"),\n s.header\n ? _c(\"span\", { staticClass: \"header\" }, [\n _vm._v(\"> \" + _vm._s(s.header.title))\n ])\n : _vm._e()\n ]\n )\n ]\n )\n })\n )\n : _vm._e()\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/080418a7cdf20e469898eceedbf33faa.json b/node_modules/vuepress/node_modules/.cache/vuepress/080418a7cdf20e469898eceedbf33faa.json new file mode 100644 index 00000000..2754ba8c --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/080418a7cdf20e469898eceedbf33faa.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue?vue&type=template&id=2e630b6d&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<nav\n class=\"nav-links\"\n v-if=\"userLinks.length || repoLink\"\n>\n <!-- user links -->\n <div\n class=\"nav-item\"\n v-for=\"item in userLinks\"\n :key=\"item.link\"\n >\n <DropdownLink\n v-if=\"item.type === 'links'\"\n :item=\"item\"\n />\n <NavLink\n v-else\n :item=\"item\"\n />\n </div>\n\n <!-- repo link -->\n <a\n v-if=\"repoLink\"\n :href=\"repoLink\"\n class=\"repo-link\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {{ repoLabel }}\n <OutboundLink/>\n </a>\n</nav>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/083e93c560786e8a6e89cdd8ec56e8c6.json b/node_modules/vuepress/node_modules/.cache/vuepress/083e93c560786e8a6e89cdd8ec56e8c6.json new file mode 100644 index 00000000..15b64e17 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/083e93c560786e8a6e89cdd8ec56e8c6.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/.temp/enhanceApp.js","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/.temp/enhanceApp.js","mtime":1541598695624},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["export { default } from \"/Users/ruki/projects/personal/xmake-docs/src/.vuepress/enhanceApp.js\";",{"version":3,"sources":["node_modules/vuepress/lib/app/.temp/enhanceApp.js"],"names":["default"],"mappings":"AAAA,SAASA,OAAT,QAAwB,sEAAxB","sourceRoot":"/Users/ruki/projects/personal/xmake-docs","sourcesContent":["export { default } from \"/Users/ruki/projects/personal/xmake-docs/src/.vuepress/enhanceApp.js\""]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/0884f00df8433820a874d2881b85cb15.json b/node_modules/vuepress/node_modules/.cache/vuepress/0884f00df8433820a874d2881b85cb15.json new file mode 100644 index 00000000..db3564b4 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/0884f00df8433820a874d2881b85cb15.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/README.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/README.md","mtime":1541486439372},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./README.md?vue&type=template&id=c6f5370e&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('c6f5370e', component.options)\n } else {\n api.reload('c6f5370e', component.options)\n }\n module.hot.accept(\"./README.md?vue&type=template&id=c6f5370e&\", function () {\n api.rerender('c6f5370e', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"docs/README.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/088960e06d787ef8e38b963d0f7ed1d0.json b/node_modules/vuepress/node_modules/.cache/vuepress/088960e06d787ef8e38b963d0f7ed1d0.json new file mode 100644 index 00000000..f0e959b2 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/088960e06d787ef8e38b963d0f7ed1d0.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue?vue&type=template&id=486052fb&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"sw-update-popup\"}},[(_vm.enabled)?_c('div',{staticClass:\"sw-update-popup\"},[_vm._v(\"\\n \"+_vm._s(_vm.message)),_c('br'),_vm._v(\" \"),_c('button',{on:{\"click\":_vm.reload}},[_vm._v(_vm._s(_vm.buttonText))])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/0916742f625e3d62bf8476f3bc840d47.json b/node_modules/vuepress/node_modules/.cache/vuepress/0916742f625e3d62bf8476f3bc840d47.json new file mode 100644 index 00000000..bcc1d844 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/0916742f625e3d62bf8476f3bc840d47.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/guide/getting-started.md?vue&type=template&id=01e6c1a0&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/getting-started.md","mtime":1541554744255},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"快速开始\"><a class=\"header-anchor\" href=\"#快速开始\" aria-hidden=\"true\">#</a> 快速开始</h1>\n<h2 id=\"编译\"><a class=\"header-anchor\" href=\"#编译\" aria-hidden=\"true\">#</a> 编译</h2>\n<p>请先安装: <a href=\"https://github.com/tboox/xmake\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code><span class=\"token comment\"># 默认直接编译当前主机平台</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake\n\n<span class=\"token comment\"># 编译mingw平台</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake f -p mingw --sdk<span class=\"token operator\">=</span>/home/mingwsdk \n$ xmake\n\n<span class=\"token comment\"># 编译iphoneos平台</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake f -p iphoneos \n$ xmake\n\n<span class=\"token comment\"># 编译android平台</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake f -p android --ndk<span class=\"token operator\">=</span>xxxxx\n$ xmake\n\n<span class=\"token comment\"># 交叉编译</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake f -p linux --sdk<span class=\"token operator\">=</span>/home/sdk <span class=\"token comment\">#--bin=/home/sdk/bin</span>\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"例子\"><a class=\"header-anchor\" href=\"#例子\" aria-hidden=\"true\">#</a> 例子</h2>\n<!--beforebegin--><div class=\"language-c extra-class\"><!--afterbegin--><pre v-pre class=\"language-c\"><code><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">\"tbox/tbox.h\"</span></span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> argc<span class=\"token punctuation\">,</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span> argv<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// init tbox</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">tb_init</span><span class=\"token punctuation\">(</span>tb_null<span class=\"token punctuation\">,</span> tb_null<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"hello tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// init vector</span>\n tb_vector_ref_t vector <span class=\"token operator\">=</span> <span class=\"token function\">tb_vector_init</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">tb_element_cstr</span><span class=\"token punctuation\">(</span>tb_true<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// insert item</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// dump all items</span>\n tb_for_all <span class=\"token punctuation\">(</span>tb_char_t <span class=\"token keyword\">const</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">,</span> vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%s\"</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit vector</span>\n <span class=\"token function\">tb_vector_exit</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// init stream</span>\n tb_stream_ref_t stream <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_init_from_url</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"http://www.xxx.com/file.txt\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// open stream</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token function\">tb_stream_open</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// read line</span>\n tb_long_t size <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n tb_char_t line<span class=\"token punctuation\">[</span>TB_STREAM_BLOCK_MAXN<span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">while</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>size <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_bread_line</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">,</span> <span class=\"token keyword\">sizeof</span><span class=\"token punctuation\">(</span>line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">>=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"line: %s\"</span><span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit stream</span>\n <span class=\"token function\">tb_stream_exit</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// wait </span>\n <span class=\"token function\">getchar</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// exit tbox</span>\n <span class=\"token function\">tb_exit</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/0b3ba5e3d4dfe0554fe81cdf47be1e66.json b/node_modules/vuepress/node_modules/.cache/vuepress/0b3ba5e3d4dfe0554fe81cdf47be1e66.json new file mode 100644 index 00000000..f413200e --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/0b3ba5e3d4dfe0554fe81cdf47be1e66.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/zh/guide/faq.md?vue&type=template&id=69c46542&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/zh/guide/faq.md","mtime":1541582276720},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/0bafb4eb4ad3b8a23e8712a38798b14d.json b/node_modules/vuepress/node_modules/.cache/vuepress/0bafb4eb4ad3b8a23e8712a38798b14d.json new file mode 100644 index 00000000..26aa71a1 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/0bafb4eb4ad3b8a23e8712a38798b14d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Layout.vue?vue&type=template&id=4a890c25&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Layout.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"theme-container\",class:_vm.pageClasses,on:{\"touchstart\":_vm.onTouchStart,\"touchend\":_vm.onTouchEnd}},[(_vm.shouldShowNavbar)?_c('Navbar',{on:{\"toggle-sidebar\":_vm.toggleSidebar}}):_vm._e(),_vm._ssrNode(\" <div class=\\\"sidebar-mask\\\"></div> \"),_c('Sidebar',{attrs:{\"items\":_vm.sidebarItems},on:{\"toggle-sidebar\":_vm.toggleSidebar}},[_vm._t(\"sidebar-top\",null,{slot:\"top\"}),_vm._v(\" \"),_vm._t(\"sidebar-bottom\",null,{slot:\"bottom\"})],2),_vm._ssrNode(\" \"),(_vm.$page.frontmatter.layout)?_vm._ssrNode(\"<div class=\\\"custom-layout\\\">\",\"</div>\",[_c(_vm.$page.frontmatter.layout,{tag:\"component\"})],1):(_vm.$page.frontmatter.home)?_c('Home'):_c('Page',{attrs:{\"sidebar-items\":_vm.sidebarItems}},[_vm._t(\"page-top\",null,{slot:\"top\"}),_vm._v(\" \"),_vm._t(\"page-bottom\",null,{slot:\"bottom\"})],2),_vm._ssrNode(\" \"),_c('SWUpdatePopup',{attrs:{\"updateEvent\":_vm.swUpdateEvent}})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/0c1a34f95a286656bf8454394ad0ae9c.json b/node_modules/vuepress/node_modules/.cache/vuepress/0c1a34f95a286656bf8454394ad0ae9c.json new file mode 100644 index 00000000..6549e6af --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/0c1a34f95a286656bf8454394ad0ae9c.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/guide/introduction.md?vue&type=template&id=6ecdfb78&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/introduction.md","mtime":1541489249205},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"TBOX是一个用c语言实现的跨平台开发库。\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"针对各个平台,封装了统一的接口,简化了各类开发过程中常用操作,使你在开发过程中,更加关注实际应用的开发,而不是把时间浪费在琐碎的接口兼容性上面,并且充分利用了各个平台独有的一些特性进行优化。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"这个项目的目的,是为了使C开发更加的简单高效。\")]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"目前支持的平台有:\")]),\n _vm._v(\" \"),\n _vm._m(1),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"通过\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.xmake.io/cn\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\"支持各种编译模式:\")\n ]),\n _vm._v(\" \"),\n _vm._m(2),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"如果你想了解更多,请参考:\")]),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.tboox.org/cn\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"项目主页\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/tbox/wiki/%E7%9B%AE%E5%BD%95\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"在线文档\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/tbox\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Github\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://gitee.com/tboox/tbox\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Gitee\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm._m(3),\n _vm._v(\" \"),\n _vm._m(4),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"针对http、file、socket、data等流数据,实现统一接口进行读写,并且支持: 阻塞、非阻塞、异步 三种读写模式。\\n支持中间增加多层filter流进行流过滤,实现边读取,内部边进行解压、编码转换、加密等操作,极大的减少了内存使用。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"主要提供以下模块:\")]),\n _vm._v(\" \"),\n _vm._m(5),\n _vm._v(\" \"),\n _vm._m(6),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"快速高效的协程切换支持(具体性能参考:\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://tboox.org/cn/2016/10/28/benchbox-coroutine/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"基准测试报告\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\")\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"提供跨平台支持,核心切换算法参考boost,并且对其进行重写和优化,目前支持架构:x86, x86_64, arm, arm64, mips32\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供channel协程间数据通信支持,基于生产、消费者模型\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供信号量、协程锁支持\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"socket、stream都模块原生支持协程,并且可在线程和协程间进行无缝切换\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"提供http、file等基于协程的简单服务器实例,只需几百行代码,就可以从socket开始写个高性能io服务器,代码逻辑比异步回调模式更加清晰\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"同时提供stackfull, stackless两种协程模式支持,stackless协程更加的轻量(每个协程只占用几十个bytes),切换更快(会牺牲部分易用性)\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"支持epoll, kqueue, poll, select 和 IOCP\")])\n ]),\n _vm._v(\" \"),\n _vm._m(7),\n _vm._v(\" \"),\n _vm._m(8),\n _vm._v(\" \"),\n _vm._m(9),\n _vm._v(\" \"),\n _vm._m(10),\n _vm._v(\" \"),\n _vm._m(11),\n _vm._v(\" \"),\n _vm._m(12),\n _vm._v(\" \"),\n _vm._m(13),\n _vm._v(\" \"),\n _vm._m(14),\n _vm._v(\" \"),\n _vm._m(15),\n _vm._v(\" \"),\n _vm._m(16),\n _vm._v(\" \"),\n _vm._m(17),\n _vm._v(\" \"),\n _vm._m(18),\n _vm._v(\" \"),\n _vm._m(19),\n _vm._v(\" \"),\n _vm._m(20),\n _vm._v(\" \"),\n _vm._m(21),\n _vm._v(\" \"),\n _vm._m(22),\n _vm._v(\" \"),\n _vm._m(23),\n _vm._v(\" \"),\n _vm._m(24),\n _vm._v(\" \"),\n _vm._m(25),\n _vm._v(\" \"),\n _vm._m(26),\n _vm._v(\" \"),\n _vm._m(27),\n _vm._v(\" \"),\n _vm._m(28),\n _vm._v(\" \"),\n _vm._m(29),\n _vm._v(\" \"),\n _vm._m(30),\n _vm._v(\" \"),\n _vm._m(31),\n _vm._v(\" \"),\n _vm._m(32),\n _vm._v(\" \"),\n _vm._m(33),\n _vm._v(\" \"),\n _vm._m(34),\n _vm._v(\" \"),\n _vm._m(35),\n _vm._v(\" \"),\n _vm._m(36),\n _vm._v(\" \"),\n _vm._m(37),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"一些使用tbox的项目\")]),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/gbox\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"gbox\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/vm86\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"vm86\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.xmake.io/cn\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/itrace\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"itrace\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href:\n \"https://github.com/tboox/tbox/wiki/%E4%BD%BF%E7%94%A8tbox%E7%9A%84%E5%BC%80%E6%BA%90%E5%BA%93\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"更多项目\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm._m(38),\n _vm._v(\" \"),\n _c(\"ul\", [\n _vm._m(39),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"主页:\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.tboox.org/cn\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"TBOOX开源工程\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"社区:\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://www.reddit.com/r/tboox/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Reddit论坛\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"QQ群:343118190\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"微信公众号:tboox-os\")])\n ])\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h1\", { attrs: { id: \"简介\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#简介\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 简介\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Windows\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Macosx\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Linux\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Android\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"iOS\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Release: 正式版编译,禁用调试信息、断言,各种检测机制,启用编译器优化\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Debug: 调试模式,默认启用详细调试信息、断言、内存越界检测、内存泄漏、锁竞争分析等检测机制\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Small: 最小化编译,默认禁用所有扩展模块,启用编译器最小化优化\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Micro: 针对嵌入式平台,仅仅编译tbox微内核,仅提供最基础的跨平台接口,生成库仅64K左右(内置轻量libc接口实现)\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"特性\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#特性\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 特性\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"流库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#流库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 流库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _c(\"code\", [_vm._v(\"stream\")]),\n _vm._v(\n \":通用非阻塞流,用于一般的单独io处理,同时支持协程以实现异步传输。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\"code\", [_vm._v(\"transfer\")]),\n _vm._v(\":流传输器,维护两路流的传输。\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\"code\", [_vm._v(\"static_stream\")]),\n _vm._v(\":针对静态数据buffer优化的静态流,用于轻量快速的数据解析。\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"协程库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#协程库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 协程库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"数据库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#数据库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 数据库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"统一并简化数据库操作接口,适配各种数据源,通过统一的url来自动连接打开支持的数据库,数据的枚举采用迭代器模型。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"目前支持sqlite3以及mysql两种关系型数据库,也可自定义扩展使用其他关系型数据库。\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"xml库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#xml库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" xml库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"针对xml提供DOM和SAX两种解析模式,SAX方式采用外部迭代模式,灵活性和性能更高,并且可以选择指定路径,进行解析。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"解析过程完全基于stream,所以是高度流化的,可以实现边下载、边解压、边转码、边解析一条龙服务,使用较低的内存也可以解析大规模数据。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供xml writer以支持对xml生成\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"内存库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#内存库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 内存库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"参考linux内核内存管理机制的实现,并对其进行各种改造和优化,所实现的TBOX独有的一整套内存池管理架构。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"调试模式下,可以轻松检测并定位内存泄露、内存越界溢出、内存重叠覆盖等常见内存问题,并对整体内存的使用进行了统计和简要分析。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"针对大块数据、小块数据、字符串数据进行了充分的利用,避免了大量外部碎片和内部碎片的产生。分配操作进行了各种优化,96%的情况下,效率都是在O(1)。\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"容器库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#容器库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 容器库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"提供哈希、链表、数组、队列、堆栈、最小最大堆等常用容器。\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"支持各种常用成员类型,在原有的容器期初上,其成员类型还可以完全自定义扩展。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"所有容器都支持迭代器操作。\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"大部分容器都可以支持基于stream的序列化和反序列化操作。\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"算法库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#算法库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 算法库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"提供各种排序算法:冒泡排序、堆排序、快速排序、插入排序。\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供各种查找算法:线性遍历、二分法搜索。\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供各种遍历、删除、统计算法。\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"以迭代器为接口,实现算法和容器的分离,类似stl,但是c实现的,更加轻量。\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"网络库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#网络库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 网络库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"实现http客户端模块\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"实现cookies\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"实现dns解析与缓存\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"实现ssl(支持openssl, polarssl, mbedtls)\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"支持ipv4、ipv6\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"支持通过协程实现异步模式\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"数学运算库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#数学运算库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 数学运算库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"提供各种精度的定点运算支持\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供随机数生成器\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"libc库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#libc库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" libc库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"libc的一个轻量级实现,完全跨平台,并且针对不同架构进行了优化。\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"支持大部分字符串、宽字符串操作。\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"扩展字符串、宽字符串的各种大小写不敏感操作接口\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"扩展\"),\n _c(\"code\", [_vm._v(\"memset_u16\")]),\n _vm._v(\"、\"),\n _c(\"code\", [_vm._v(\"memset_u32\")]),\n _vm._v(\"等接口,并对其进行高度优化,尤其适合图形渲染程序\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"libm库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#libm库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" libm库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"libm部分接口的一个轻量级实现,以及对常用系统接口的封装。(目前只实现了部分,之后有时间会完全实现掉)\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"扩展部分常用接口,增加对sqrt、log2等常用函数的整数版本计算,进行高度优化,不涉及浮点运算,适合嵌入式环境使用。\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"object库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#object库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" object库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"轻量级类apple的CoreFoundation库,支持object、dictionary、array、string、number、date、data等常用对象,并且可以方便扩展自定义对象的序列化。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"支持对xml、json、binary以及apple的plist(xplist/bplist)格式序列化和反序列化。\\n并且实现自有的binary序列化格式, 针对明文进行了简单的加密,在不影响性能的前提下,序列化后的大小比bplist节省30%。\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"平台库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#平台库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 平台库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"提供file、directory、socket、thread、time等常用系统接口\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供atomic、atomic64接口\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供高精度、低精度定时器\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供高性能的线程池操作\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"提供event、mutex、semaphore、spinlock等事件、互斥、信号量、自旋锁操作\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供获取函数堆栈信息的接口,方便调试和错误定位\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供跨平台动态库加载接口(如果系统支持的话)\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"提供io轮询器,针对epoll, poll, select, kqueue进行跨平台封装\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"提供跨平台上下文切换接口,主要用于协程实现,切换效率非常高\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"压缩库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#压缩库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 压缩库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"支持zlib/zlibraw/gzip的压缩与解压(需要第三方zlib库支持)。\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"字符编码库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#字符编码库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 字符编码库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"支持utf8、utf16、gbk、gb2312、uc2、uc4 之间的互相转码,并且支持大小端格式。\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"实用工具库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#实用工具库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 实用工具库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"实现base64/32编解码\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"实现crc32、adler32、md5、sha1等常用hash算法\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"实现日志输出、断言等辅助调试工具\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"实现url编解码\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"实现位操作相关接口,支持各种数据格式的解析,可以对8bits、16bits、32bits、64bits、float、double以及任意bits的字段进行解析操作,并且同时支持大端、小端和本地端模式,并针对部分操作进行了优化,像static_stream、stream都有相关接口对其进行了封装,方便在流上进行快速数据解析。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"实现swap16、swap32、swap64等位交换操作,并针对各个平台进行了优化。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"实现一些高级的位处理接口,例如:位0的快速统计、前导0和前导1的快速位计数、后导01的快速位计数\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"实现单例模块,可以对静态对象、实例对象进行快速的单例封装,实现全局线程安全\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"实现option模块,对命令行参数进行解析,提供快速方便的命令行选项建立和解析操作,对于写终端程序还是很有帮助的\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"正则表达式库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#正则表达式库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 正则表达式库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"支持匹配和替换操作\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"支持全局、多行、大小写不敏感等模式\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"使用pcre, pcre2和posix正则库\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"项目例子\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#项目例子\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 项目例子\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"联系方式\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#联系方式\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 联系方式\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"li\", [\n _vm._v(\"邮箱:\"),\n _c(\"a\", { attrs: { href: \"mailto:waruqi@gmail.com\" } }, [\n _vm._v(\"waruqi@gmail.com\")\n ])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/0c352667af0b533ab5642c3a652760cd.json b/node_modules/vuepress/node_modules/.cache/vuepress/0c352667af0b533ab5642c3a652760cd.json new file mode 100644 index 00000000..62b6f361 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/0c352667af0b533ab5642c3a652760cd.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/.temp/themeEnhanceApp.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/.temp/themeEnhanceApp.js","mtime":1541576203198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["export default function () {}",{"version":3,"sources":["node_modules/vuepress/lib/app/.temp/themeEnhanceApp.js"],"names":[],"mappings":"AAAA,eAAe,YAAY,CAAE","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["export default function () {}"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/0c8ed6df363071c3f1499a40456be97e.json b/node_modules/vuepress/node_modules/.cache/vuepress/0c8ed6df363071c3f1499a40456be97e.json new file mode 100644 index 00000000..5df068a5 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/0c8ed6df363071c3f1499a40456be97e.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Layout.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Layout.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./Layout.vue?vue&type=template&id=4a890c25&\"\nimport script from \"./Layout.vue?vue&type=script&lang=js&\"\nexport * from \"./Layout.vue?vue&type=script&lang=js&\"\nfunction injectStyles (context) {\n \n var style0 = require(\"prismjs/themes/prism-tomorrow.css?vue&type=style&index=0&lang=css&\")\nif (style0.__inject__) style0.__inject__(context)\nvar style1 = require(\"./styles/theme.styl?vue&type=style&index=1&lang=stylus&\")\nif (style1.__inject__) style1.__inject__(context)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n \"d6d117fa\"\n \n)\n\ncomponent.options.__file = \"Layout.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/0c90ed7adc7160abfa35f88c1579a903.json b/node_modules/vuepress/node_modules/.cache/vuepress/0c90ed7adc7160abfa35f88c1579a903.json new file mode 100644 index 00000000..5a971055 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/0c90ed7adc7160abfa35f88c1579a903.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/introduction.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/introduction.md","mtime":1541488030814},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./introduction.md?vue&type=template&id=2b93628e&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n \"5a2e9090\"\n \n)\n\ncomponent.options.__file = \"introduction.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/0ca1b0b8b47195a517dfebc4441cb111.json b/node_modules/vuepress/node_modules/.cache/vuepress/0ca1b0b8b47195a517dfebc4441cb111.json new file mode 100644 index 00000000..b44f8504 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/0ca1b0b8b47195a517dfebc4441cb111.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/SWUpdateEvent.js","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/SWUpdateEvent.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import \"core-js/modules/es6.object.define-property\";\nimport _classCallCheck from \"/Users/ruki/projects/personal/xmake-docs/node_modules/@babel/runtime/helpers/builtin/es6/classCallCheck\";\nimport _createClass from \"/Users/ruki/projects/personal/xmake-docs/node_modules/@babel/runtime/helpers/builtin/es6/createClass\";\n\nvar SWUpdateEvent =\n/*#__PURE__*/\nfunction () {\n function SWUpdateEvent(registration) {\n _classCallCheck(this, SWUpdateEvent);\n\n Object.defineProperty(this, 'registration', {\n value: registration,\n configurable: true,\n writable: true\n });\n }\n /**\n * Check if the new service worker exists or not.\n */\n\n\n _createClass(SWUpdateEvent, [{\n key: \"update\",\n value: function update() {\n return this.registration.update();\n }\n /**\n * Activate new service worker to work 'location.reload()' with new data.\n */\n\n }, {\n key: \"skipWaiting\",\n value: function skipWaiting() {\n var worker = this.registration.waiting;\n\n if (!worker) {\n return Promise.resolve();\n }\n\n console.log('[vuepress:sw] Doing worker.skipWaiting().');\n return new Promise(function (resolve, reject) {\n var channel = new MessageChannel();\n\n channel.port1.onmessage = function (event) {\n console.log('[vuepress:sw] Done worker.skipWaiting().');\n\n if (event.data.error) {\n reject(event.data.error);\n } else {\n resolve(event.data);\n }\n };\n\n worker.postMessage({\n type: 'skip-waiting'\n }, [channel.port2]);\n });\n }\n }]);\n\n return SWUpdateEvent;\n}();\n\nexport { SWUpdateEvent as default };",{"version":3,"sources":["node_modules/vuepress/lib/app/SWUpdateEvent.js"],"names":["SWUpdateEvent","registration","Object","defineProperty","value","configurable","writable","update","worker","waiting","Promise","resolve","console","log","reject","channel","MessageChannel","port1","onmessage","event","data","error","postMessage","type","port2"],"mappings":";;;;IAAqBA,a;;;AACnB,yBAAaC,YAAb,EAA2B;AAAA;;AACzBC,WAAOC,cAAP,CAAsB,IAAtB,EAA4B,cAA5B,EAA4C;AAC1CC,aAAOH,YADmC;AAE1CI,oBAAc,IAF4B;AAG1CC,gBAAU;AAHgC,KAA5C;AAKD;AAED;;;;;;;6BAGU;AACR,aAAO,KAAKL,YAAL,CAAkBM,MAAlB,EAAP;AACD;AAED;;;;;;kCAGe;AACb,UAAMC,SAAS,KAAKP,YAAL,CAAkBQ,OAAjC;;AACA,UAAI,CAACD,MAAL,EAAa;AACX,eAAOE,QAAQC,OAAR,EAAP;AACD;;AAEDC,cAAQC,GAAR,CAAY,2CAAZ;AACA,aAAO,IAAIH,OAAJ,CAAY,UAACC,OAAD,EAAUG,MAAV,EAAqB;AACtC,YAAMC,UAAU,IAAIC,cAAJ,EAAhB;;AAEAD,gBAAQE,KAAR,CAAcC,SAAd,GAA0B,UAACC,KAAD,EAAW;AACnCP,kBAAQC,GAAR,CAAY,0CAAZ;;AACA,cAAIM,MAAMC,IAAN,CAAWC,KAAf,EAAsB;AACpBP,mBAAOK,MAAMC,IAAN,CAAWC,KAAlB;AACD,WAFD,MAEO;AACLV,oBAAQQ,MAAMC,IAAd;AACD;AACF,SAPD;;AASAZ,eAAOc,WAAP,CAAmB;AAAEC,gBAAM;AAAR,SAAnB,EAA6C,CAACR,QAAQS,KAAT,CAA7C;AACD,OAbM,CAAP;AAcD;;;;;;SAxCkBxB,a","sourceRoot":"/Users/ruki/projects/personal/xmake-docs","sourcesContent":["export default class SWUpdateEvent {\n constructor (registration) {\n Object.defineProperty(this, 'registration', {\n value: registration,\n configurable: true,\n writable: true\n })\n }\n\n /**\n * Check if the new service worker exists or not.\n */\n update () {\n return this.registration.update()\n }\n\n /**\n * Activate new service worker to work 'location.reload()' with new data.\n */\n skipWaiting () {\n const worker = this.registration.waiting\n if (!worker) {\n return Promise.resolve()\n }\n\n console.log('[vuepress:sw] Doing worker.skipWaiting().')\n return new Promise((resolve, reject) => {\n const channel = new MessageChannel()\n\n channel.port1.onmessage = (event) => {\n console.log('[vuepress:sw] Done worker.skipWaiting().')\n if (event.data.error) {\n reject(event.data.error)\n } else {\n resolve(event.data)\n }\n }\n\n worker.postMessage({ type: 'skip-waiting' }, [channel.port2])\n })\n }\n}\n\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/0cba62b9f3f804529d15dc27acbfb299.json b/node_modules/vuepress/node_modules/.cache/vuepress/0cba62b9f3f804529d15dc27acbfb299.json new file mode 100644 index 00000000..fe91472c --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/0cba62b9f3f804529d15dc27acbfb299.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/src/.vuepress/enhanceApp.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/.vuepress/enhanceApp.js","mtime":1541576687752},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["function integrateGitalk(router) {\n var linkGitalk = document.createElement('link');\n linkGitalk.href = '/assets/css/gitalk.css';\n linkGitalk.rel = 'stylesheet';\n document.body.appendChild(linkGitalk);\n var scriptGitalk = document.createElement('script');\n scriptGitalk.src = '/assets/js/gitalk.min.js';\n document.body.appendChild(scriptGitalk);\n router.afterEach(function (to) {\n if (scriptGitalk.onload) {\n loadGitalk(to);\n } else {\n scriptGitalk.onload = function () {\n loadGitalk(to);\n };\n }\n });\n\n function loadGitalk(to) {\n var commentsContainer = document.createElement('div');\n commentsContainer.id = 'gitalk-container';\n commentsContainer.classList.add('content');\n var $page = document.querySelector('.page');\n\n if ($page) {\n $page.appendChild(commentsContainer);\n renderGitalk(to.fullPath);\n }\n }\n\n function renderGitalk(fullPath) {\n var gitalk = new Gitalk({\n clientID: '3ebed7fd0834268f0add',\n clientSecret: 'b68e2ebf0bd9358eccaf3159f3a4cebb66e3b398',\n repo: 'tbox-docs',\n owner: 'waruqi',\n admin: ['waruqi'],\n id: 'comment',\n distractionFreeMode: false\n });\n gitalk.render('gitalk-container');\n }\n}\n\nexport default (function (_ref) {\n var Vue = _ref.Vue,\n options = _ref.options,\n router = _ref.router,\n siteData = _ref.siteData;\n\n try {\n document && integrateGitalk(router);\n } catch (e) {\n console.error(e.message);\n }\n});",{"version":3,"sources":["src/.vuepress/enhanceApp.js"],"names":["integrateGitalk","router","linkGitalk","document","createElement","href","rel","body","appendChild","scriptGitalk","src","afterEach","to","onload","loadGitalk","commentsContainer","id","classList","add","$page","querySelector","renderGitalk","fullPath","gitalk","Gitalk","clientID","clientSecret","repo","owner","admin","distractionFreeMode","render","Vue","options","siteData","e","console","error","message"],"mappings":"AAAA,SAASA,eAAT,CAAyBC,MAAzB,EAAiC;AAC/B,MAAMC,aAAaC,SAASC,aAAT,CAAuB,MAAvB,CAAnB;AACAF,aAAWG,IAAX,GAAkB,wBAAlB;AACAH,aAAWI,GAAX,GAAiB,YAAjB;AACAH,WAASI,IAAT,CAAcC,WAAd,CAA0BN,UAA1B;AACA,MAAMO,eAAeN,SAASC,aAAT,CAAuB,QAAvB,CAArB;AACAK,eAAaC,GAAb,GAAmB,0BAAnB;AACAP,WAASI,IAAT,CAAcC,WAAd,CAA0BC,YAA1B;AAEAR,SAAOU,SAAP,CAAiB,UAACC,EAAD,EAAQ;AACvB,QAAIH,aAAaI,MAAjB,EAAyB;AACvBC,iBAAWF,EAAX;AACD,KAFD,MAEO;AACLH,mBAAaI,MAAb,GAAsB,YAAM;AAC1BC,mBAAWF,EAAX;AACD,OAFD;AAGD;AACF,GARD;;AAUA,WAASE,UAAT,CAAoBF,EAApB,EAAwB;AACtB,QAAMG,oBAAoBZ,SAASC,aAAT,CAAuB,KAAvB,CAA1B;AACAW,sBAAkBC,EAAlB,GAAuB,kBAAvB;AACAD,sBAAkBE,SAAlB,CAA4BC,GAA5B,CAAgC,SAAhC;AACA,QAAMC,QAAQhB,SAASiB,aAAT,CAAuB,OAAvB,CAAd;;AACA,QAAID,KAAJ,EAAW;AACTA,YAAMX,WAAN,CAAkBO,iBAAlB;AACAM,mBAAaT,GAAGU,QAAhB;AACD;AACF;;AACD,WAASD,YAAT,CAAsBC,QAAtB,EAAgC;AAC9B,QAAMC,SAAS,IAAIC,MAAJ,CAAW;AACxBC,gBAAU,sBADc;AAExBC,oBAAc,0CAFU;AAGxBC,YAAM,WAHkB;AAIxBC,aAAO,QAJiB;AAKxBC,aAAO,CAAC,QAAD,CALiB;AAMxBb,UAAI,SANoB;AAOxBc,2BAAqB;AAPG,KAAX,CAAf;AASAP,WAAOQ,MAAP,CAAc,kBAAd;AACD;AACF;;AAED,gBAAe,gBAAsC;AAAA,MAApCC,GAAoC,QAApCA,GAAoC;AAAA,MAA/BC,OAA+B,QAA/BA,OAA+B;AAAA,MAAtBhC,MAAsB,QAAtBA,MAAsB;AAAA,MAAdiC,QAAc,QAAdA,QAAc;;AACnD,MAAI;AACF/B,gBAAYH,gBAAgBC,MAAhB,CAAZ;AACD,GAFD,CAEE,OAAOkC,CAAP,EAAU;AACVC,YAAQC,KAAR,CAAcF,EAAEG,OAAhB;AACD;AACF,CAND","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["function integrateGitalk(router) {\n const linkGitalk = document.createElement('link')\n linkGitalk.href = '/assets/css/gitalk.css'\n linkGitalk.rel = 'stylesheet'\n document.body.appendChild(linkGitalk)\n const scriptGitalk = document.createElement('script')\n scriptGitalk.src = '/assets/js/gitalk.min.js'\n document.body.appendChild(scriptGitalk)\n\n router.afterEach((to) => {\n if (scriptGitalk.onload) {\n loadGitalk(to)\n } else {\n scriptGitalk.onload = () => {\n loadGitalk(to)\n }\n }\n })\n\n function loadGitalk(to) {\n const commentsContainer = document.createElement('div')\n commentsContainer.id = 'gitalk-container'\n commentsContainer.classList.add('content')\n const $page = document.querySelector('.page')\n if ($page) {\n $page.appendChild(commentsContainer)\n renderGitalk(to.fullPath)\n }\n }\n function renderGitalk(fullPath) {\n const gitalk = new Gitalk({\n clientID: '3ebed7fd0834268f0add',\n clientSecret: 'b68e2ebf0bd9358eccaf3159f3a4cebb66e3b398',\n repo: 'tbox-docs',\n owner: 'waruqi',\n admin: ['waruqi'],\n id: 'comment',\n distractionFreeMode: false \n })\n gitalk.render('gitalk-container')\n }\n}\n\nexport default ({Vue, options, router, siteData}) => {\n try {\n document && integrateGitalk(router)\n } catch (e) {\n console.error(e.message)\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/0cddf784087db64bf6fd7c6dd175a2eb.json b/node_modules/vuepress/node_modules/.cache/vuepress/0cddf784087db64bf6fd7c6dd175a2eb.json new file mode 100644 index 00000000..e979abb7 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/0cddf784087db64bf6fd7c6dd175a2eb.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue?vue&type=template&id=1e9bb6d3&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{staticClass:\"navbar\"},[_c('SidebarButton',{on:{\"toggle-sidebar\":function($event){_vm.$emit('toggle-sidebar')}}}),_vm._v(\" \"),_c('router-link',{staticClass:\"home-link\",attrs:{\"to\":_vm.$localePath}},[(_vm.$site.themeConfig.logo)?_c('img',{staticClass:\"logo\",attrs:{\"src\":_vm.$withBase(_vm.$site.themeConfig.logo),\"alt\":_vm.$siteTitle}}):_vm._e(),_vm._v(\" \"),(_vm.$siteTitle)?_c('span',{ref:\"siteName\",staticClass:\"site-name\",class:{ 'can-hide': _vm.$site.themeConfig.logo }},[_vm._v(_vm._s(_vm.$siteTitle))]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"links\",style:({\n 'max-width': _vm.linksWrapMaxWidth + 'px'\n })},[(_vm.isAlgoliaSearch)?_c('AlgoliaSearchBox',{attrs:{\"options\":_vm.algolia}}):(_vm.$site.themeConfig.search !== false)?_c('SearchBox'):_vm._e(),_vm._v(\" \"),_c('NavLinks',{staticClass:\"can-hide\"})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/0ce99f7247e2b77240e5584d65c55770.json b/node_modules/vuepress/node_modules/.cache/vuepress/0ce99f7247e2b77240e5584d65c55770.json new file mode 100644 index 00000000..4a0fc2e1 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/0ce99f7247e2b77240e5584d65c55770.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLink.vue?vue&type=template&id=e3abcdbc&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<router-link\n class=\"nav-link\"\n :to=\"link\"\n v-if=\"!isExternal(link)\"\n :exact=\"exact\"\n>{{ item.text }}</router-link>\n<a\n v-else\n :href=\"link\"\n class=\"nav-link external\"\n :target=\"isMailto(link) || isTel(link) ? null : '_blank'\"\n :rel=\"isMailto(link) || isTel(link) ? null : 'noopener noreferrer'\"\n>\n {{ item.text }}\n <OutboundLink/>\n</a>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/0d70e07162027f892f3acec655854731.json b/node_modules/vuepress/node_modules/.cache/vuepress/0d70e07162027f892f3acec655854731.json new file mode 100644 index 00000000..91092a64 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/0d70e07162027f892f3acec655854731.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./OutboundLink.vue?vue&type=template&id=1bddee00&functional=true&\"\nvar script = {}\nimport style0 from \"./OutboundLink.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('1bddee00', component.options)\n } else {\n api.rerender('1bddee00', component.options)\n }\n module.hot.accept(\"./OutboundLink.vue?vue&type=template&id=1bddee00&functional=true&\", function () {\n api.rerender('1bddee00', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/app/components/OutboundLink.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/0d8000531511e4d2f60e3199e029ed4e.json b/node_modules/vuepress/node_modules/.cache/vuepress/0d8000531511e4d2f60e3199e029ed4e.json new file mode 100644 index 00000000..4adf6240 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/0d8000531511e4d2f60e3199e029ed4e.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/guide/getting-started.md?vue&type=template&id=d7bc09fe&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/guide/getting-started.md","mtime":1541554688137},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"getting-started\"><a class=\"header-anchor\" href=\"#getting-started\" aria-hidden=\"true\">#</a> Getting Started</h1>\n<p>Please install xmake first: <a href=\"https://github.com/tboox/xmake\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code><span class=\"token comment\"># build for the host platform</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake\n\n<span class=\"token comment\"># build for the mingw platform</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake f -p mingw --sdk<span class=\"token operator\">=</span>/home/mingwsdk \n$ xmake\n\n<span class=\"token comment\"># build for the iphoneos platform</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake f -p iphoneos \n$ xmake\n\n<span class=\"token comment\"># build for the android platform</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake f -p android --ndk<span class=\"token operator\">=</span>xxxxx\n$ xmake\n\n<span class=\"token comment\"># build for the linux cross-platform</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake f -p linux --sdk<span class=\"token operator\">=</span>/home/sdk <span class=\"token comment\"># --bin=/home/sdk/bin</span>\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"example\"><a class=\"header-anchor\" href=\"#example\" aria-hidden=\"true\">#</a> Example</h2>\n<!--beforebegin--><div class=\"language-c extra-class\"><!--afterbegin--><pre v-pre class=\"language-c\"><code><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">\"tbox/tbox.h\"</span></span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> argc<span class=\"token punctuation\">,</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span> argv<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// init tbox</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">tb_init</span><span class=\"token punctuation\">(</span>tb_null<span class=\"token punctuation\">,</span> tb_null<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"hello tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// init vector</span>\n tb_vector_ref_t vector <span class=\"token operator\">=</span> <span class=\"token function\">tb_vector_init</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">tb_element_cstr</span><span class=\"token punctuation\">(</span>tb_true<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// insert item</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// dump all items</span>\n tb_for_all <span class=\"token punctuation\">(</span>tb_char_t <span class=\"token keyword\">const</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">,</span> vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%s\"</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit vector</span>\n <span class=\"token function\">tb_vector_exit</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// init stream</span>\n tb_stream_ref_t stream <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_init_from_url</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"http://www.xxx.com/file.txt\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// open stream</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token function\">tb_stream_open</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// read line</span>\n tb_long_t size <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n tb_char_t line<span class=\"token punctuation\">[</span>TB_STREAM_BLOCK_MAXN<span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">while</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>size <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_bread_line</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">,</span> <span class=\"token keyword\">sizeof</span><span class=\"token punctuation\">(</span>line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">>=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"line: %s\"</span><span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit stream</span>\n <span class=\"token function\">tb_stream_exit</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// wait </span>\n <span class=\"token function\">getchar</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// exit tbox</span>\n <span class=\"token function\">tb_exit</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/0f0239b391080d13f8b7a64e5c3f05c0.json b/node_modules/vuepress/node_modules/.cache/vuepress/0f0239b391080d13f8b7a64e5c3f05c0.json new file mode 100644 index 00000000..e6344d1f --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/0f0239b391080d13f8b7a64e5c3f05c0.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/manual/introduction.md?vue&type=template&id=b3629762&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/manual/introduction.md","mtime":1541492172602},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_c('h1',{attrs:{\"id\":\"手册\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#手册\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 手册\")]),_vm._v(\" \"),_c('p',[_vm._v(\"[TODO]\")])])}]\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/0f537cfcfb7f4db08f62e658b151c0a3.json b/node_modules/vuepress/node_modules/.cache/vuepress/0f537cfcfb7f4db08f62e658b151c0a3.json new file mode 100644 index 00000000..a6b5c665 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/0f537cfcfb7f4db08f62e658b151c0a3.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/guide/getting-started.md?vue&type=template&id=07d4db43&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/getting-started.md","mtime":1541489096650},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._ssrNode(\"<h1 id=\\\"快速开始\\\"><a href=\\\"#快速开始\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 快速开始</h1> <h2 id=\\\"编译\\\"><a href=\\\"#编译\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 编译</h2> \"),_vm._ssrNode(\"<p>\",\"</p>\",[_vm._ssrNode(\"请先安装: \"),_vm._ssrNode(\"<a href=\\\"https://github.com/tboox/xmake\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"xmake\"),_c('OutboundLink')],2)],2),_vm._ssrNode(\" <div class=\\\"language-console extra-class\\\"><pre class=\\\"language-text\\\"><code># 默认直接编译当前主机平台\\n$ cd ./tbox\\n$ xmake\\n\\n# 编译mingw平台\\n$ cd ./tbox\\n$ xmake f -p mingw --sdk=/home/mingwsdk \\n$ xmake\\n\\n# 编译iphoneos平台\\n$ cd ./tbox\\n$ xmake f -p iphoneos \\n$ xmake\\n\\n# 编译android平台\\n$ cd ./tbox\\n$ xmake f -p android --ndk=xxxxx\\n$ xmake\\n\\n# 交叉编译\\n$ cd ./tbox\\n$ xmake f -p linux --sdk=/home/sdk #--bin=/home/sdk/bin\\n$ xmake\\n</code></pre></div><h2 id=\\\"例子\\\"><a href=\\\"#例子\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 例子</h2> <div class=\\\"language-c extra-class\\\"><pre class=\\\"language-c\\\"><code><span class=\\\"token macro property\\\">#<span class=\\\"token directive keyword\\\">include</span> <span class=\\\"token string\\\">"tbox/tbox.h"</span></span>\\n\\n<span class=\\\"token keyword\\\">int</span> <span class=\\\"token function\\\">main</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token keyword\\\">int</span> argc<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token keyword\\\">char</span><span class=\\\"token operator\\\">*</span><span class=\\\"token operator\\\">*</span> argv<span class=\\\"token punctuation\\\">)</span>\\n<span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// init tbox</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span><span class=\\\"token operator\\\">!</span><span class=\\\"token function\\\">tb_init</span><span class=\\\"token punctuation\\\">(</span>tb_null<span class=\\\"token punctuation\\\">,</span> tb_null<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span> <span class=\\\"token keyword\\\">return</span> <span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// trace</span>\\n <span class=\\\"token function\\\">tb_trace_i</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token string\\\">"hello tbox"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// init vector</span>\\n tb_vector_ref_t vector <span class=\\\"token operator\\\">=</span> <span class=\\\"token function\\\">tb_vector_init</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">,</span> <span class=\\\"token function\\\">tb_element_cstr</span><span class=\\\"token punctuation\\\">(</span>tb_true<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// insert item</span>\\n <span class=\\\"token function\\\">tb_vector_insert_tail</span><span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token string\\\">"hello"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token function\\\">tb_vector_insert_tail</span><span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token string\\\">"tbox"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// dump all items</span>\\n tb_for_all <span class=\\\"token punctuation\\\">(</span>tb_char_t <span class=\\\"token keyword\\\">const</span><span class=\\\"token operator\\\">*</span><span class=\\\"token punctuation\\\">,</span> cstr<span class=\\\"token punctuation\\\">,</span> vector<span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// trace</span>\\n <span class=\\\"token function\\\">tb_trace_i</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token string\\\">"%s"</span><span class=\\\"token punctuation\\\">,</span> cstr<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n\\n <span class=\\\"token comment\\\">// exit vector</span>\\n <span class=\\\"token function\\\">tb_vector_exit</span><span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n\\n <span class=\\\"token comment\\\">// init stream</span>\\n tb_stream_ref_t stream <span class=\\\"token operator\\\">=</span> <span class=\\\"token function\\\">tb_stream_init_from_url</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token string\\\">"http://www.xxx.com/file.txt"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span>stream<span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// open stream</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span><span class=\\\"token function\\\">tb_stream_open</span><span class=\\\"token punctuation\\\">(</span>stream<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// read line</span>\\n tb_long_t size <span class=\\\"token operator\\\">=</span> <span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">;</span>\\n tb_char_t line<span class=\\\"token punctuation\\\">[</span>TB_STREAM_BLOCK_MAXN<span class=\\\"token punctuation\\\">]</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token keyword\\\">while</span> <span class=\\\"token punctuation\\\">(</span><span class=\\\"token punctuation\\\">(</span>size <span class=\\\"token operator\\\">=</span> <span class=\\\"token function\\\">tb_stream_bread_line</span><span class=\\\"token punctuation\\\">(</span>stream<span class=\\\"token punctuation\\\">,</span> line<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token keyword\\\">sizeof</span><span class=\\\"token punctuation\\\">(</span>line<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span> <span class=\\\"token operator\\\">>=</span> <span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// trace</span>\\n <span class=\\\"token function\\\">tb_trace_i</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token string\\\">"line: %s"</span><span class=\\\"token punctuation\\\">,</span> line<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n\\n <span class=\\\"token comment\\\">// exit stream</span>\\n <span class=\\\"token function\\\">tb_stream_exit</span><span class=\\\"token punctuation\\\">(</span>stream<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n\\n <span class=\\\"token comment\\\">// wait </span>\\n <span class=\\\"token function\\\">getchar</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// exit tbox</span>\\n <span class=\\\"token function\\\">tb_exit</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token keyword\\\">return</span> <span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">;</span>\\n<span class=\\\"token punctuation\\\">}</span>\\n</code></pre></div>\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/0f57969a114cc7cada28321af9309166.json b/node_modules/vuepress/node_modules/.cache/vuepress/0f57969a114cc7cada28321af9309166.json new file mode 100644 index 00000000..14945413 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/0f57969a114cc7cada28321af9309166.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.sidebar-group\n &:not(.first)\n margin-top 1em\n .sidebar-group\n padding-left 0.5em\n &:not(.collapsable)\n .sidebar-heading\n cursor auto\n color inherit\n\n.sidebar-heading\n color #999\n transition color .15s ease\n cursor pointer\n font-size 1.1em\n font-weight bold\n // text-transform uppercase\n padding 0 1.5rem\n margin-top 0\n margin-bottom 0.5rem\n &.open, &:hover\n color inherit\n .arrow\n position relative\n top -0.12em\n left 0.5em\n &:.open .arrow\n top -0.18em\n\n.sidebar-group-items\n transition height .1s ease-out\n overflow hidden\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/0f7838e38ec7ce2f0d68472ae1913532.json b/node_modules/vuepress/node_modules/.cache/vuepress/0f7838e38ec7ce2f0d68472ae1913532.json new file mode 100644 index 00000000..01d46f10 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/0f7838e38ec7ce2f0d68472ae1913532.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/noopModule.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/noopModule.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["export default {};",{"version":3,"sources":["node_modules/vuepress/lib/webpack/noopModule.js"],"names":[],"mappings":"AAAA,eAAe,EAAf","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["export default {}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/0f8e7de14ac444958b54f711bae5a34f.json b/node_modules/vuepress/node_modules/.cache/vuepress/0f8e7de14ac444958b54f711bae5a34f.json new file mode 100644 index 00000000..c50fc774 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/0f8e7de14ac444958b54f711bae5a34f.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport SidebarButton from './SidebarButton.vue'\nimport AlgoliaSearchBox from '@AlgoliaSearchBox'\nimport SearchBox from './SearchBox.vue'\nimport NavLinks from './NavLinks.vue'\n\nexport default {\n components: { SidebarButton, NavLinks, SearchBox, AlgoliaSearchBox },\n\n data () {\n return {\n linksWrapMaxWidth: null\n }\n },\n\n mounted () {\n const MOBILE_DESKTOP_BREAKPOINT = 719 // refer to config.styl\n const NAVBAR_VERTICAL_PADDING = parseInt(css(this.$el, 'paddingLeft')) + parseInt(css(this.$el, 'paddingRight'))\n const handleLinksWrapWidth = () => {\n if (document.documentElement.clientWidth < MOBILE_DESKTOP_BREAKPOINT) {\n this.linksWrapMaxWidth = null\n } else {\n this.linksWrapMaxWidth = this.$el.offsetWidth - NAVBAR_VERTICAL_PADDING -\n (this.$refs.siteName && this.$refs.siteName.offsetWidth || 0)\n }\n }\n handleLinksWrapWidth()\n window.addEventListener('resize', handleLinksWrapWidth, false)\n },\n\n computed: {\n algolia () {\n return this.$themeLocaleConfig.algolia || this.$site.themeConfig.algolia || {}\n },\n\n isAlgoliaSearch () {\n return this.algolia && this.algolia.apiKey && this.algolia.indexName\n }\n }\n}\n\nfunction css (el, property) {\n // NOTE: Known bug, will return 'auto' if style value is 'auto'\n const win = el.ownerDocument.defaultView\n // null means not to return pseudo styles\n return win.getComputedStyle(el, null)[property]\n}\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/0fe6d17f5912dfb83fab8a4925100bd1.json b/node_modules/vuepress/node_modules/.cache/vuepress/0fe6d17f5912dfb83fab8a4925100bd1.json new file mode 100644 index 00000000..a6b83e30 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/0fe6d17f5912dfb83fab8a4925100bd1.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./SWUpdatePopup.vue?vue&type=template&id=486052fb&\"\nimport script from \"./SWUpdatePopup.vue?vue&type=script&lang=js&\"\nexport * from \"./SWUpdatePopup.vue?vue&type=script&lang=js&\"\nfunction injectStyles (context) {\n \n var style0 = require(\"./SWUpdatePopup.vue?vue&type=style&index=0&lang=stylus&\")\nif (style0.__inject__) style0.__inject__(context)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n \"2073cd94\"\n \n)\n\ncomponent.options.__file = \"SWUpdatePopup.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/10ad459d98d193f8e6335e14ea65e2a4.json b/node_modules/vuepress/node_modules/.cache/vuepress/10ad459d98d193f8e6335e14ea65e2a4.json new file mode 100644 index 00000000..ccdb3a03 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/10ad459d98d193f8e6335e14ea65e2a4.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/introduction.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/introduction.md","mtime":1541489249205},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./introduction.md?vue&type=template&id=60806558&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"introduction.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/11321f9a80f4ace34e33f7e05632157b.json b/node_modules/vuepress/node_modules/.cache/vuepress/11321f9a80f4ace34e33f7e05632157b.json new file mode 100644 index 00000000..00052cf9 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/11321f9a80f4ace34e33f7e05632157b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n.icon.outbound\n color #aaa\n display inline-block\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/1180756934493cbf8504c8c5229bb0d5.json b/node_modules/vuepress/node_modules/.cache/vuepress/1180756934493cbf8504c8c5229bb0d5.json new file mode 100644 index 00000000..7724716f --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/1180756934493cbf8504c8c5229bb0d5.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/getting-started.md?vue&type=template&id=b833ee74&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/getting-started.md","mtime":1541489096650},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"快速开始\"><a class=\"header-anchor\" href=\"#快速开始\" aria-hidden=\"true\">#</a> 快速开始</h1>\n<h2 id=\"编译\"><a class=\"header-anchor\" href=\"#编译\" aria-hidden=\"true\">#</a> 编译</h2>\n<p>请先安装: <a href=\"https://github.com/tboox/xmake\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></p>\n<!--beforebegin--><div class=\"language-console extra-class\"><!--afterbegin--><pre v-pre class=\"language-text\"><code># 默认直接编译当前主机平台\n$ cd ./tbox\n$ xmake\n\n# 编译mingw平台\n$ cd ./tbox\n$ xmake f -p mingw --sdk=/home/mingwsdk \n$ xmake\n\n# 编译iphoneos平台\n$ cd ./tbox\n$ xmake f -p iphoneos \n$ xmake\n\n# 编译android平台\n$ cd ./tbox\n$ xmake f -p android --ndk=xxxxx\n$ xmake\n\n# 交叉编译\n$ cd ./tbox\n$ xmake f -p linux --sdk=/home/sdk #--bin=/home/sdk/bin\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"例子\"><a class=\"header-anchor\" href=\"#例子\" aria-hidden=\"true\">#</a> 例子</h2>\n<!--beforebegin--><div class=\"language-c extra-class\"><!--afterbegin--><pre v-pre class=\"language-c\"><code><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">\"tbox/tbox.h\"</span></span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> argc<span class=\"token punctuation\">,</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span> argv<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// init tbox</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">tb_init</span><span class=\"token punctuation\">(</span>tb_null<span class=\"token punctuation\">,</span> tb_null<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"hello tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// init vector</span>\n tb_vector_ref_t vector <span class=\"token operator\">=</span> <span class=\"token function\">tb_vector_init</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">tb_element_cstr</span><span class=\"token punctuation\">(</span>tb_true<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// insert item</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// dump all items</span>\n tb_for_all <span class=\"token punctuation\">(</span>tb_char_t <span class=\"token keyword\">const</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">,</span> vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%s\"</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit vector</span>\n <span class=\"token function\">tb_vector_exit</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// init stream</span>\n tb_stream_ref_t stream <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_init_from_url</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"http://www.xxx.com/file.txt\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// open stream</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token function\">tb_stream_open</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// read line</span>\n tb_long_t size <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n tb_char_t line<span class=\"token punctuation\">[</span>TB_STREAM_BLOCK_MAXN<span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">while</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>size <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_bread_line</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">,</span> <span class=\"token keyword\">sizeof</span><span class=\"token punctuation\">(</span>line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">>=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"line: %s\"</span><span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit stream</span>\n <span class=\"token function\">tb_stream_exit</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// wait </span>\n <span class=\"token function\">getchar</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// exit tbox</span>\n <span class=\"token function\">tb_exit</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/11e66c7692343787f4c9fff8ca2520af.json b/node_modules/vuepress/node_modules/.cache/vuepress/11e66c7692343787f4c9fff8ca2520af.json new file mode 100644 index 00000000..ce0dbe19 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/11e66c7692343787f4c9fff8ca2520af.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue?vue&type=template&id=c97eee92&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div class=\"sidebar\">\n <NavLinks/>\n <slot name=\"top\"/>\n <ul class=\"sidebar-links\" v-if=\"items.length\">\n <li v-for=\"(item, i) in items\" :key=\"i\">\n <SidebarGroup\n v-if=\"item.type === 'group'\"\n :item=\"item\"\n :first=\"i === 0\"\n :open=\"i === openGroupIndex\"\n :collapsable=\"item.collapsable || item.collapsible\"\n @toggle=\"toggleGroup(i)\"\n />\n <SidebarLink v-else :item=\"item\"/>\n </li>\n </ul>\n <slot name=\"bottom\"/>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/11f4c8af91de3d4335e7b5fe6d86b870.json b/node_modules/vuepress/node_modules/.cache/vuepress/11f4c8af91de3d4335e7b5fe6d86b870.json new file mode 100644 index 00000000..0a6b8e7b --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/11f4c8af91de3d4335e7b5fe6d86b870.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue?vue&type=template&id=247476d6&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div class=\"sidebar\">\n <NavLinks/>\n <slot name=\"top\"/>\n <ul class=\"sidebar-links\" v-if=\"items.length\">\n <li v-for=\"(item, i) in items\" :key=\"i\">\n <SidebarGroup\n v-if=\"item.type === 'group'\"\n :item=\"item\"\n :first=\"i === 0\"\n :open=\"i === openGroupIndex\"\n :collapsable=\"item.collapsable || item.collapsible\"\n @toggle=\"toggleGroup(i)\"\n />\n <SidebarLink v-else :item=\"item\"/>\n </li>\n </ul>\n <slot name=\"bottom\"/>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/128dc8b77212201f4190d47cf8ed1e37.json b/node_modules/vuepress/node_modules/.cache/vuepress/128dc8b77212201f4190d47cf8ed1e37.json new file mode 100644 index 00000000..b47aa5c9 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/128dc8b77212201f4190d47cf8ed1e37.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue?vue&type=template&id=734e092b&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"home\"},[_c('div',{staticClass:\"hero\"},[(_vm.data.heroImage)?_c('img',{attrs:{\"src\":_vm.$withBase(_vm.data.heroImage),\"alt\":\"hero\"}}):_vm._e(),_vm._v(\" \"),_c('h1',[_vm._v(_vm._s(_vm.data.heroText || _vm.$title || 'Hello'))]),_vm._v(\" \"),_c('p',{staticClass:\"description\"},[_vm._v(\"\\n \"+_vm._s(_vm.data.tagline || _vm.$description || 'Welcome to your VuePress site')+\"\\n \")]),_vm._v(\" \"),(_vm.data.actionText && _vm.data.actionLink)?_c('p',{staticClass:\"action\"},[_c('NavLink',{staticClass:\"action-button\",attrs:{\"item\":_vm.actionLink}})],1):_vm._e()]),_vm._v(\" \"),(_vm.data.features && _vm.data.features.length)?_c('div',{staticClass:\"features\"},_vm._l((_vm.data.features),function(feature,index){return _c('div',{key:index,staticClass:\"feature\"},[_c('h2',[_vm._v(_vm._s(feature.title))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(feature.details))])])})):_vm._e(),_vm._v(\" \"),_c('Content',{attrs:{\"custom\":\"\"}}),_vm._v(\" \"),(_vm.data.footer)?_c('div',{staticClass:\"footer\"},[_vm._v(\"\\n \"+_vm._s(_vm.data.footer)+\"\\n \")]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/12a9db1f79527d0d66d66cd770365be5.json b/node_modules/vuepress/node_modules/.cache/vuepress/12a9db1f79527d0d66d66cd770365be5.json new file mode 100644 index 00000000..b3b474c5 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/12a9db1f79527d0d66d66cd770365be5.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/locals.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.sidebar-button\n display none\n width 1.25rem\n height 1.25rem\n position absolute\n padding 0.6rem\n top 0.6rem\n left 1rem\n .icon\n display block\n width 1.25rem\n height 1.25rem\n\n@media (max-width: $MQMobile)\n .sidebar-button\n display block\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/13edf8d2a32faed24ac16c19ed87f4d3.json b/node_modules/vuepress/node_modules/.cache/vuepress/13edf8d2a32faed24ac16c19ed87f4d3.json new file mode 100644 index 00000000..9abf493b --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/13edf8d2a32faed24ac16c19ed87f4d3.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Layout.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Layout.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./Layout.vue?vue&type=template&id=4a890c25&\"\nimport script from \"./Layout.vue?vue&type=script&lang=js&\"\nexport * from \"./Layout.vue?vue&type=script&lang=js&\"\nimport style0 from \"prismjs/themes/prism-tomorrow.css?vue&type=style&index=0&lang=css&\"\nimport style1 from \"./styles/theme.styl?vue&type=style&index=1&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"Layout.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/1441195bb23fa143ba5ccfe8dd6efe9c.json b/node_modules/vuepress/node_modules/.cache/vuepress/1441195bb23fa143ba5ccfe8dd6efe9c.json new file mode 100644 index 00000000..5cf65488 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/1441195bb23fa143ba5ccfe8dd6efe9c.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/README.md?vue&type=template&id=83e02194&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/README.md","mtime":1541513043653},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><!--beforebegin--><div class=\"language-c extra-class\"><!--afterbegin--><pre v-pre class=\"language-c\"><code><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">\"tbox/tbox.h\"</span></span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> argc<span class=\"token punctuation\">,</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span> argv<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// init tbox</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">tb_init</span><span class=\"token punctuation\">(</span>tb_null<span class=\"token punctuation\">,</span> tb_null<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// init vector</span>\n tb_vector_ref_t vector <span class=\"token operator\">=</span> <span class=\"token function\">tb_vector_init</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">tb_element_cstr</span><span class=\"token punctuation\">(</span>tb_true<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// insert item</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// dump all items</span>\n tb_for_all <span class=\"token punctuation\">(</span>tb_char_t <span class=\"token keyword\">const</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">,</span> vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%s\"</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit vector</span>\n <span class=\"token function\">tb_vector_exit</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit tbox</span>\n <span class=\"token function\">tb_exit</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/14b0e3b0ec293c1a3951604dbcca8756.json b/node_modules/vuepress/node_modules/.cache/vuepress/14b0e3b0ec293c1a3951604dbcca8756.json new file mode 100644 index 00000000..ba7fed2e --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/14b0e3b0ec293c1a3951604dbcca8756.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/guide/introduction.md?vue&type=template&id=b5b1b492&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/guide/introduction.md","mtime":1541581901760},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><p>\n<div align=\"center\">\n <a href=\"http://xmake.io\">\n <img width=\"200\" heigth=\"200\" src=\"http://tboox.org/static/img/xmake/logo256c.png\">\n </a> \n <h1>xmake</h1>\n <div>\n <a href=\"https://travis-ci.org/tboox/xmake\">\n <img src=\"https://img.shields.io/travis/tboox/xmake/master.svg?style=flat-square\" alt=\"travis-ci\" />\n </a>\n <a href=\"https://ci.appveyor.com/project/waruqi/xmake/branch/master\">\n <img src=\"https://img.shields.io/appveyor/ci/waruqi/xmake/master.svg?style=flat-square\" alt=\"appveyor-ci\" />\n </a>\n <a href=\"https://codecov.io/gh/tboox/xmake\">\n <img src=\"https://img.shields.io/codecov/c/github/tboox/xmake/master.svg?style=flat-square\" alt=\"Coverage\" />\n </a>\n <a href=\"https://aur.archlinux.org/packages/xmake\">\n <img src=\"https://img.shields.io/aur/votes/xmake.svg?style=flat-square\" alt=\"AUR votes\" />\n </a>\n <a href=\"https://github.com/tboox/xmake/releases\">\n <img src=\"https://img.shields.io/github/release/tboox/xmake.svg?style=flat-square\" alt=\"Github All Releases\" />\n </a>\n </div>\n <div>\n <a href=\"https://github.com/tboox/xmake/blob/master/LICENSE.md\">\n <img src=\"https://img.shields.io/github/license/tboox/xmake.svg?colorB=f48041&style=flat-square\" alt=\"license\" />\n </a>\n <a href=\"https://www.reddit.com/r/tboox/\">\n <img src=\"https://img.shields.io/badge/chat-on%20reddit-ff3f34.svg?style=flat-square\" alt=\"Reddit\" />\n </a>\n <a href=\"https://gitter.im/tboox/tboox?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\">\n <img src=\"https://img.shields.io/gitter/room/tboox/tboox.svg?style=flat-square&colorB=96c312\" alt=\"Gitter\" />\n </a>\n <a href=\"https://t.me/tbooxorg\">\n <img src=\"https://img.shields.io/badge/chat-on%20telegram-blue.svg?style=flat-square\" alt=\"Telegram\" />\n </a>\n <a href=\"https://jq.qq.com/?_wv=1027&k=5hpwWFv\">\n <img src=\"https://img.shields.io/badge/chat-on%20QQ-ff69b4.svg?style=flat-square\" alt=\"QQ\" />\n </a>\n <a href=\"http://xmake.io/pages/donation.html#donate\">\n <img src=\"https://img.shields.io/badge/donate-us-orange.svg?style=flat-square\" alt=\"Donate\" />\n </a>\n </div>\n <p>A cross-platform build utility based on Lua</p>\n</div>\n</p>\n<h2 id=\"introduction\"><a class=\"header-anchor\" href=\"#introduction\" aria-hidden=\"true\">#</a> Introduction</h2>\n<p>xmake is a cross-platform build utility based on lua.</p>\n<p>The project focuses on making development and building easier and provides many features (.e.g package, install, plugin, macro, action, option, task ...),\nso that any developer can quickly pick it up and enjoy the productivity boost when developing and building project.</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/15875f0f78e8085b557b6b6f61a8aecb.json b/node_modules/vuepress/node_modules/.cache/vuepress/15875f0f78e8085b557b6b6f61a8aecb.json new file mode 100644 index 00000000..245b38c6 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/15875f0f78e8085b557b6b6f61a8aecb.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/guide/introduction.md?vue&type=template&id=0b95fd94&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/guide/introduction.md","mtime":1541555923022},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._ssrNode(\"<h1 id=\\\"introduction\\\"><a href=\\\"#introduction\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Introduction</h1> <p>TBOX is a glib-like cross-platform C library that is simple to use yet powerful in nature.</p> <p>The project focuses on making C development easier and provides many modules (.e.g stream, coroutine, regex, container, algorithm ...),\\nso that any developer can quickly pick it up and enjoy the productivity boost when developing in C language.</p> <p>It supports the following platforms:</p> <ul><li>Windows</li> <li>Macosx</li> <li>Linux</li> <li>Android</li> <li>iOS</li></ul> \"),_vm._ssrNode(\"<p>\",\"</p>\",[_vm._ssrNode(\"And it provides many compiling options using \"),_vm._ssrNode(\"<a href=\\\"http://www.xmake.io\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"xmake\"),_c('OutboundLink')],2),_vm._ssrNode(\":\")],2),_vm._ssrNode(\" <ul><li>Release: Disable debug information, assertion, memory checking and enable optimization.</li> <li>Debug: Enable debug information, assertion, memory checking and disable optimization.</li> <li>Small: Disable all extensional modules and enable space optimization.</li> <li>Micro: compiling micro library (~64K) for the embed system.</li></ul> <p>If you want to know more, please refer to:</p> \"),_vm._ssrNode(\"<ul>\",\"</ul>\",[_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"http://tboox.org\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"HomePage\"),_c('OutboundLink')],2)]),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"https://github.com/tboox/tbox/wiki/documents\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"Documents\"),_c('OutboundLink')],2)]),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"https://github.com/tboox/tbox\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"Github\"),_c('OutboundLink')],2)]),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"https://gitee.com/tboox/tbox\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"Gitee\"),_c('OutboundLink')],2)])],2),_vm._ssrNode(\" <h2 id=\\\"features\\\"><a href=\\\"#features\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Features</h2> <h4 id=\\\"the-stream-library\\\"><a href=\\\"#the-stream-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The stream library</h4> <ul><li>Supports file, data, http and socket source</li> <li>Supports the stream filter for gzip, charset and...</li> <li>Implements stream transfer</li> <li>Implements the static buffer stream for parsing data</li> <li>Supports coroutine and implements asynchronous operation</li></ul> <h4 id=\\\"the-coroutine-library\\\"><a href=\\\"#the-coroutine-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The coroutine library</h4> \"),_vm._ssrNode(\"<ul>\",\"</ul>\",[_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"Provides high-performance coroutine switch(refer to \"),_vm._ssrNode(\"<a href=\\\"http://tboox.org/2016/10/28/benchbox-coroutine/\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"reports\"),_c('OutboundLink')],2),_vm._ssrNode(\")\")],2),_vm._ssrNode(\" <li>Supports arm, arm64, x86, x86_64 ..</li> <li>Provides channel interfaces</li> <li>Provides semaphore and lock interfaces</li> <li>Supports io socket and stream operation in coroutine</li> <li>Provides some io servers (http ..) using coroutine</li> <li>Provides stackfull and stackless coroutines</li> <li>Support epoll, kqueue, poll, select and IOCP</li>\")],2),_vm._ssrNode(\" <h4 id=\\\"the-database-library\\\"><a href=\\\"#the-database-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The database library</h4> <ul><li>Supports mysql and sqlite3 database and enumerates data using the iterator mode</li></ul> <h4 id=\\\"the-xml-parser-library\\\"><a href=\\\"#the-xml-parser-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The xml parser library</h4> <ul><li>Supports DOM and SAX mode and Supports xpath</li></ul> <h4 id=\\\"the-serialization-and-deserialization-library\\\"><a href=\\\"#the-serialization-and-deserialization-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The serialization and deserialization library</h4> <ul><li>Supports xml, json, bplist, xplist, binary formats</li></ul> <h4 id=\\\"the-memory-library\\\"><a href=\\\"#the-memory-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The memory library</h4> <ul><li>Implements some memory pools for optimizing memory</li> <li>Supports fast memory error detecting. it can detect the following types of bugs for the debug mode:\\n<ul><li>out-of-bounds accesses to heap and globals</li> <li>use-after-free</li> <li>double-free, invalid free</li> <li>memory leaks</li></ul></li></ul> <h4 id=\\\"the-container-library\\\"><a href=\\\"#the-container-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The container library</h4> <ul><li>Implements hash table, single list, double list, vector, stack, queue\\nand min/max heap. Supports iterator mode for algorithm</li></ul> <h4 id=\\\"the-algorithm-library\\\"><a href=\\\"#the-algorithm-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The algorithm library</h4> <ul><li>Uses the iterator mode</li> <li>Implements find, binary find and reverse find algorithm</li> <li>Implements sort, bubble sort, quick sort, heap sort and insert sort algorithm</li> <li>Implements count, walk items, reverse walk items, for_all and rfor_all</li></ul> <h4 id=\\\"the-network-library\\\"><a href=\\\"#the-network-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The network library</h4> <ul><li>Implements dns(cached)</li> <li>Implements ssl(openssl, polarssl, mbedtls)</li> <li>Implements http</li> <li>Implements cookies</li> <li>Supports ipv4, ipv6</li> <li>Supports coroutine</li></ul> <h4 id=\\\"the-platform-library\\\"><a href=\\\"#the-platform-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The platform library</h4> <ul><li>Implements timer, fast and low precision timer</li> <li>Implements atomic and atomic64 operation</li> <li>Implements spinlock, mutex, event, semaphore, thread and thread pool</li> <li>Implements file, socket operation</li> <li>Implements poller using epoll, poll, select, kqueue ...</li> <li>Implements switch context interfaces for coroutine</li></ul> <h4 id=\\\"the-charset-library\\\"><a href=\\\"#the-charset-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The charset library</h4> <ul><li>Supports utf8, utf16, gbk, gb2312, uc2 and uc4</li> <li>Supports big endian and little endian mode</li></ul> <h4 id=\\\"the-zip-library\\\"><a href=\\\"#the-zip-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The zip library</h4> <ul><li>Supports gzip, zlibraw, zlib formats using the zlib library if exists</li> <li>Implements lzsw, lz77 and rlc algorithm</li></ul> <h4 id=\\\"the-utils-library\\\"><a href=\\\"#the-utils-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The utils library</h4> <ul><li>Implements base32, base64 encoder and decoder</li> <li>Implements assert and trace output for the debug mode</li> <li>Implements bits operation for parsing u8, u16, u32, u64 data</li></ul> <h4 id=\\\"the-math-library\\\"><a href=\\\"#the-math-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The math library</h4> <ul><li>Implements random generator</li> <li>Implements fast fixed-point calculation, Supports 6-bits, 16-bits, 30-bits fixed-point number</li></ul> <h4 id=\\\"the-libc-library\\\"><a href=\\\"#the-libc-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The libc library</h4> <ul><li>Implements lightweight libc library interfaces, the interface name contains <code>tb_xxx</code> prefix for avoiding conflict</li> <li>Implements strixxx strrxxx wcsixxx wcsrxxx interface extension</li> <li>Optimizes some frequently-used interface, .e.g. memset, memcpy, strcpy ...</li> <li>Implements <code>memset_u16</code>, <code>memset_u32</code>, <code>memset_u64</code> extension interfaces</li></ul> <h4 id=\\\"the-libm-library\\\"><a href=\\\"#the-libm-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The libm library</h4> <ul><li>Implements lightweight libm library interfaces, the interface name contains <code>tb_xxx</code> prefix for avoiding conflict</li> <li>Supports float and double type</li></ul> <h4 id=\\\"the-regex-library\\\"><a href=\\\"#the-regex-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The regex library</h4> <ul><li>Supports match and replace</li> <li>Supports global/multiline/caseless mode</li> <li>Uses pcre, pcre2 and posix regex modules</li></ul> <h4 id=\\\"the-hash-library\\\"><a href=\\\"#the-hash-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The hash library</h4> <ul><li>Implements crc32, adler32, md5 and sha1 hash algorithm</li> <li>Implements some string hash algorithms (.e.g bkdr, fnv32, fnv64, sdbm, djb2, rshash, aphash ...)</li> <li>Implements uuid generator</li></ul> <h2 id=\\\"projects\\\"><a href=\\\"#projects\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Projects</h2> <p>Some projects using tbox:</p> \"),_vm._ssrNode(\"<ul>\",\"</ul>\",[_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"https://github.com/tboox/gbox\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"gbox\"),_c('OutboundLink')],2)]),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"https://github.com/tboox/vm86\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"vm86\"),_c('OutboundLink')],2)]),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"http://www.xmake.io\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"xmake\"),_c('OutboundLink')],2)]),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"https://github.com/tboox/itrace\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"itrace\"),_c('OutboundLink')],2)]),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"https://github.com/tboox/tbox/wiki/tbox-projects\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"more\"),_c('OutboundLink')],2)])],2),_vm._ssrNode(\" <h2 id=\\\"contacts\\\"><a href=\\\"#contacts\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Contacts</h2> \"),_vm._ssrNode(\"<ul>\",\"</ul>\",[_vm._ssrNode(\"<li>Email:<a href=\\\"mailto:waruqi@gmail.com\\\">waruqi@gmail.com</a></li> \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"Homepage:\"),_vm._ssrNode(\"<a href=\\\"http://www.tboox.org\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"tboox.org\"),_c('OutboundLink')],2)],2),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"Community:\"),_vm._ssrNode(\"<a href=\\\"https://www.reddit.com/r/tboox/\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"/r/tboox on reddit\"),_c('OutboundLink')],2)],2)],2)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/15888b70ef40f0020ca0a653c3b8ca82.json b/node_modules/vuepress/node_modules/.cache/vuepress/15888b70ef40f0020ca0a653c3b8ca82.json new file mode 100644 index 00000000..61434515 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/15888b70ef40f0020ca0a653c3b8ca82.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./SWUpdatePopup.vue?vue&type=template&id=486052fb&\"\nimport script from \"./SWUpdatePopup.vue?vue&type=script&lang=js&\"\nexport * from \"./SWUpdatePopup.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SWUpdatePopup.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"SWUpdatePopup.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/15b3154eb1ce4636612d9d258feb595f.json b/node_modules/vuepress/node_modules/.cache/vuepress/15b3154eb1ce4636612d9d258feb595f.json new file mode 100644 index 00000000..e6e7123e --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/15b3154eb1ce4636612d9d258feb595f.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.sidebar-button\n display none\n width 1.25rem\n height 1.25rem\n position absolute\n padding 0.6rem\n top 0.6rem\n left 1rem\n .icon\n display block\n width 1.25rem\n height 1.25rem\n\n@media (max-width: $MQMobile)\n .sidebar-button\n display block\n",{"version":3,"sources":["SidebarButton.vue"],"names":[],"mappings":";;;;;;;;;AASA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA","file":"SidebarButton.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <div class=\"sidebar-button\" @click=\"$emit('toggle-sidebar')\">\n <svg class=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" role=\"img\" viewBox=\"0 0 448 512\">\n <path fill=\"currentColor\" d=\"M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z\" class=\"\"></path>\n </svg>\n </div>\n</template>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.sidebar-button\n display none\n width 1.25rem\n height 1.25rem\n position absolute\n padding 0.6rem\n top 0.6rem\n left 1rem\n .icon\n display block\n width 1.25rem\n height 1.25rem\n\n@media (max-width: $MQMobile)\n .sidebar-button\n display block\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/15c7050aa856dad094e2af6da3d31da7.json b/node_modules/vuepress/node_modules/.cache/vuepress/15c7050aa856dad094e2af6da3d31da7.json new file mode 100644 index 00000000..002f8bf3 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/15c7050aa856dad094e2af6da3d31da7.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import _toConsumableArray from \"/Users/ruki/projects/personal/tbox-docs/node_modules/@babel/runtime/helpers/builtin/es6/toConsumableArray\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.regexp.replace\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport { resolvePage, normalize, outboundRE, endingSlashRE } from './util';\nexport default {\n props: ['sidebarItems'],\n computed: {\n lastUpdated: function lastUpdated() {\n if (this.$page.lastUpdated) {\n return new Date(this.$page.lastUpdated).toLocaleString(this.$lang);\n }\n },\n lastUpdatedText: function lastUpdatedText() {\n if (typeof this.$themeLocaleConfig.lastUpdated === 'string') {\n return this.$themeLocaleConfig.lastUpdated;\n }\n\n if (typeof this.$site.themeConfig.lastUpdated === 'string') {\n return this.$site.themeConfig.lastUpdated;\n }\n\n return 'Last Updated';\n },\n prev: function prev() {\n var prev = this.$page.frontmatter.prev;\n\n if (prev === false) {\n return;\n } else if (prev) {\n return resolvePage(this.$site.pages, prev, this.$route.path);\n } else {\n return resolvePrev(this.$page, this.sidebarItems);\n }\n },\n next: function next() {\n var next = this.$page.frontmatter.next;\n\n if (next === false) {\n return;\n } else if (next) {\n return resolvePage(this.$site.pages, next, this.$route.path);\n } else {\n return resolveNext(this.$page, this.sidebarItems);\n }\n },\n editLink: function editLink() {\n if (this.$page.frontmatter.editLink === false) {\n return;\n }\n\n var _this$$site$themeConf = this.$site.themeConfig,\n repo = _this$$site$themeConf.repo,\n editLinks = _this$$site$themeConf.editLinks,\n _this$$site$themeConf2 = _this$$site$themeConf.docsDir,\n docsDir = _this$$site$themeConf2 === void 0 ? '' : _this$$site$themeConf2,\n _this$$site$themeConf3 = _this$$site$themeConf.docsBranch,\n docsBranch = _this$$site$themeConf3 === void 0 ? 'master' : _this$$site$themeConf3,\n _this$$site$themeConf4 = _this$$site$themeConf.docsRepo,\n docsRepo = _this$$site$themeConf4 === void 0 ? repo : _this$$site$themeConf4;\n var path = normalize(this.$page.path);\n\n if (endingSlashRE.test(path)) {\n path += 'README.md';\n } else {\n path += '.md';\n }\n\n if (docsRepo && editLinks) {\n return this.createEditLink(repo, docsRepo, docsDir, docsBranch, path);\n }\n },\n editLinkText: function editLinkText() {\n return this.$themeLocaleConfig.editLinkText || this.$site.themeConfig.editLinkText || \"Edit this page\";\n }\n },\n methods: {\n createEditLink: function createEditLink(repo, docsRepo, docsDir, docsBranch, path) {\n var bitbucket = /bitbucket.org/;\n\n if (bitbucket.test(repo)) {\n var _base = outboundRE.test(docsRepo) ? docsRepo : repo;\n\n return _base.replace(endingSlashRE, '') + \"/\".concat(docsBranch) + (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') + path + \"?mode=edit&spa=0&at=\".concat(docsBranch, \"&fileviewer=file-view-default\");\n }\n\n var base = outboundRE.test(docsRepo) ? docsRepo : \"https://github.com/\".concat(docsRepo);\n return base.replace(endingSlashRE, '') + \"/edit/\".concat(docsBranch) + (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') + path;\n }\n }\n};\n\nfunction resolvePrev(page, items) {\n return find(page, items, -1);\n}\n\nfunction resolveNext(page, items) {\n return find(page, items, 1);\n}\n\nfunction find(page, items, offset) {\n var res = [];\n items.forEach(function (item) {\n if (item.type === 'group') {\n res.push.apply(res, _toConsumableArray(item.children || []));\n } else {\n res.push(item);\n }\n });\n\n for (var i = 0; i < res.length; i++) {\n var cur = res[i];\n\n if (cur.type === 'page' && cur.path === page.path) {\n return res[i + offset];\n }\n }\n}",{"version":3,"sources":["Page.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgEA,SAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,aAAA,QAAA,QAAA;AAEA,eAAA;AACA,SAAA,CAAA,cAAA,CADA;AAGA,YAAA;AACA,eADA,yBACA;AACA,UAAA,KAAA,KAAA,CAAA,WAAA,EAAA;AACA,eAAA,IAAA,IAAA,CAAA,KAAA,KAAA,CAAA,WAAA,EAAA,cAAA,CAAA,KAAA,KAAA,CAAA;AACA;AACA,KALA;AAOA,mBAPA,6BAOA;AACA,UAAA,OAAA,KAAA,kBAAA,CAAA,WAAA,KAAA,QAAA,EAAA;AACA,eAAA,KAAA,kBAAA,CAAA,WAAA;AACA;;AACA,UAAA,OAAA,KAAA,KAAA,CAAA,WAAA,CAAA,WAAA,KAAA,QAAA,EAAA;AACA,eAAA,KAAA,KAAA,CAAA,WAAA,CAAA,WAAA;AACA;;AACA,aAAA,cAAA;AACA,KAfA;AAiBA,QAjBA,kBAiBA;AACA,UAAA,OAAA,KAAA,KAAA,CAAA,WAAA,CAAA,IAAA;;AACA,UAAA,SAAA,KAAA,EAAA;AACA;AACA,OAFA,MAEA,IAAA,IAAA,EAAA;AACA,eAAA,YAAA,KAAA,KAAA,CAAA,KAAA,EAAA,IAAA,EAAA,KAAA,MAAA,CAAA,IAAA,CAAA;AACA,OAFA,MAEA;AACA,eAAA,YAAA,KAAA,KAAA,EAAA,KAAA,YAAA,CAAA;AACA;AACA,KA1BA;AA4BA,QA5BA,kBA4BA;AACA,UAAA,OAAA,KAAA,KAAA,CAAA,WAAA,CAAA,IAAA;;AACA,UAAA,SAAA,KAAA,EAAA;AACA;AACA,OAFA,MAEA,IAAA,IAAA,EAAA;AACA,eAAA,YAAA,KAAA,KAAA,CAAA,KAAA,EAAA,IAAA,EAAA,KAAA,MAAA,CAAA,IAAA,CAAA;AACA,OAFA,MAEA;AACA,eAAA,YAAA,KAAA,KAAA,EAAA,KAAA,YAAA,CAAA;AACA;AACA,KArCA;AAuCA,YAvCA,sBAuCA;AACA,UAAA,KAAA,KAAA,CAAA,WAAA,CAAA,QAAA,KAAA,KAAA,EAAA;AACA;AACA;;AAHA,kCAUA,KAAA,KAAA,CAAA,WAVA;AAAA,UAKA,IALA,yBAKA,IALA;AAAA,UAMA,SANA,yBAMA,SANA;AAAA,yDAOA,OAPA;AAAA,UAOA,OAPA,uCAOA,EAPA;AAAA,yDAQA,UARA;AAAA,UAQA,UARA,uCAQA,QARA;AAAA,yDASA,QATA;AAAA,UASA,QATA,uCASA,IATA;AAYA,UAAA,OAAA,UAAA,KAAA,KAAA,CAAA,IAAA,CAAA;;AACA,UAAA,cAAA,IAAA,CAAA,IAAA,CAAA,EAAA;AACA,gBAAA,WAAA;AACA,OAFA,MAEA;AACA,gBAAA,KAAA;AACA;;AACA,UAAA,YAAA,SAAA,EAAA;AACA,eAAA,KAAA,cAAA,CAAA,IAAA,EAAA,QAAA,EAAA,OAAA,EAAA,UAAA,EAAA,IAAA,CAAA;AACA;AACA,KA5DA;AA8DA,gBA9DA,0BA8DA;AACA,aACA,KAAA,kBAAA,CAAA,YAAA,IACA,KAAA,KAAA,CAAA,WAAA,CAAA,YADA,oBADA;AAKA;AApEA,GAHA;AA0EA,WAAA;AACA,kBADA,0BACA,IADA,EACA,QADA,EACA,OADA,EACA,UADA,EACA,IADA,EACA;AACA,UAAA,YAAA,eAAA;;AACA,UAAA,UAAA,IAAA,CAAA,IAAA,CAAA,EAAA;AACA,YAAA,QAAA,WAAA,IAAA,CAAA,QAAA,IACA,QADA,GAEA,IAFA;;AAGA,eACA,MAAA,OAAA,CAAA,aAAA,EAAA,EAAA,eACA,UADA,KAEA,UAAA,MAAA,QAAA,OAAA,CAAA,aAAA,EAAA,EAAA,CAAA,GAAA,EAFA,IAGA,IAHA,iCAIA,UAJA,kCADA;AAOA;;AAEA,UAAA,OAAA,WAAA,IAAA,CAAA,QAAA,IACA,QADA,gCAEA,QAFA,CAAA;AAIA,aACA,KAAA,OAAA,CAAA,aAAA,EAAA,EAAA,oBACA,UADA,KAEA,UAAA,MAAA,QAAA,OAAA,CAAA,aAAA,EAAA,EAAA,CAAA,GAAA,EAFA,IAGA,IAJA;AAMA;AA1BA;AA1EA,CAAA;;AAwGA,SAAA,WAAA,CAAA,IAAA,EAAA,KAAA,EAAA;AACA,SAAA,KAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AACA;;AAEA,SAAA,WAAA,CAAA,IAAA,EAAA,KAAA,EAAA;AACA,SAAA,KAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAA;AACA;;AAEA,SAAA,IAAA,CAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA;AACA,MAAA,MAAA,EAAA;AACA,QAAA,OAAA,CAAA,gBAAA;AACA,QAAA,KAAA,IAAA,KAAA,OAAA,EAAA;AACA,UAAA,IAAA,+BAAA,KAAA,QAAA,IAAA,EAAA;AACA,KAFA,MAEA;AACA,UAAA,IAAA,CAAA,IAAA;AACA;AACA,GANA;;AAOA,OAAA,IAAA,IAAA,CAAA,EAAA,IAAA,IAAA,MAAA,EAAA,GAAA,EAAA;AACA,QAAA,MAAA,IAAA,CAAA,CAAA;;AACA,QAAA,IAAA,IAAA,KAAA,MAAA,IAAA,IAAA,IAAA,KAAA,KAAA,IAAA,EAAA;AACA,aAAA,IAAA,IAAA,MAAA,CAAA;AACA;AACA;AACA","sourcesContent":["<template>\n <div class=\"page\">\n <slot name=\"top\"/>\n\n <Content :custom=\"false\"/>\n\n <div class=\"page-edit\">\n <div\n class=\"edit-link\"\n v-if=\"editLink\"\n >\n <a\n :href=\"editLink\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >{{ editLinkText }}</a>\n <OutboundLink/>\n </div>\n\n <div\n class=\"last-updated\"\n v-if=\"lastUpdated\"\n >\n <span class=\"prefix\">{{ lastUpdatedText }}: </span>\n <span class=\"time\">{{ lastUpdated }}</span>\n </div>\n </div>\n\n <div class=\"page-nav\" v-if=\"prev || next\">\n <p class=\"inner\">\n <span\n v-if=\"prev\"\n class=\"prev\"\n >\n ←\n <router-link\n v-if=\"prev\"\n class=\"prev\"\n :to=\"prev.path\"\n >\n {{ prev.title || prev.path }}\n </router-link>\n </span>\n\n <span\n v-if=\"next\"\n class=\"next\"\n >\n <router-link\n v-if=\"next\"\n :to=\"next.path\"\n >\n {{ next.title || next.path }}\n </router-link>\n →\n </span>\n </p>\n </div>\n\n <slot name=\"bottom\"/>\n </div>\n</template>\n\n<script>\nimport { resolvePage, normalize, outboundRE, endingSlashRE } from './util'\n\nexport default {\n props: ['sidebarItems'],\n\n computed: {\n lastUpdated () {\n if (this.$page.lastUpdated) {\n return new Date(this.$page.lastUpdated).toLocaleString(this.$lang)\n }\n },\n\n lastUpdatedText () {\n if (typeof this.$themeLocaleConfig.lastUpdated === 'string') {\n return this.$themeLocaleConfig.lastUpdated\n }\n if (typeof this.$site.themeConfig.lastUpdated === 'string') {\n return this.$site.themeConfig.lastUpdated\n }\n return 'Last Updated'\n },\n\n prev () {\n const prev = this.$page.frontmatter.prev\n if (prev === false) {\n return\n } else if (prev) {\n return resolvePage(this.$site.pages, prev, this.$route.path)\n } else {\n return resolvePrev(this.$page, this.sidebarItems)\n }\n },\n\n next () {\n const next = this.$page.frontmatter.next\n if (next === false) {\n return\n } else if (next) {\n return resolvePage(this.$site.pages, next, this.$route.path)\n } else {\n return resolveNext(this.$page, this.sidebarItems)\n }\n },\n\n editLink () {\n if (this.$page.frontmatter.editLink === false) {\n return\n }\n const {\n repo,\n editLinks,\n docsDir = '',\n docsBranch = 'master',\n docsRepo = repo\n } = this.$site.themeConfig\n\n let path = normalize(this.$page.path)\n if (endingSlashRE.test(path)) {\n path += 'README.md'\n } else {\n path += '.md'\n }\n if (docsRepo && editLinks) {\n return this.createEditLink(repo, docsRepo, docsDir, docsBranch, path)\n }\n },\n\n editLinkText () {\n return (\n this.$themeLocaleConfig.editLinkText ||\n this.$site.themeConfig.editLinkText ||\n `Edit this page`\n )\n }\n },\n\n methods: {\n createEditLink (repo, docsRepo, docsDir, docsBranch, path) {\n const bitbucket = /bitbucket.org/\n if (bitbucket.test(repo)) {\n const base = outboundRE.test(docsRepo)\n ? docsRepo\n : repo\n return (\n base.replace(endingSlashRE, '') +\n `/${docsBranch}` +\n (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') +\n path +\n `?mode=edit&spa=0&at=${docsBranch}&fileviewer=file-view-default`\n )\n }\n\n const base = outboundRE.test(docsRepo)\n ? docsRepo\n : `https://github.com/${docsRepo}`\n\n return (\n base.replace(endingSlashRE, '') +\n `/edit/${docsBranch}` +\n (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') +\n path\n )\n }\n }\n}\n\nfunction resolvePrev (page, items) {\n return find(page, items, -1)\n}\n\nfunction resolveNext (page, items) {\n return find(page, items, 1)\n}\n\nfunction find (page, items, offset) {\n const res = []\n items.forEach(item => {\n if (item.type === 'group') {\n res.push(...item.children || [])\n } else {\n res.push(item)\n }\n })\n for (let i = 0; i < res.length; i++) {\n const cur = res[i]\n if (cur.type === 'page' && cur.path === page.path) {\n return res[i + offset]\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n@require './styles/wrapper.styl'\n\n.page\n padding-bottom 2rem\n\n.page-edit\n @extend $wrapper\n padding-top 1rem\n padding-bottom 1rem\n overflow auto\n .edit-link\n display inline-block\n a\n color lighten($textColor, 25%)\n margin-right 0.25rem\n .last-updated\n float right\n font-size 0.9em\n .prefix\n font-weight 500\n color lighten($textColor, 25%)\n .time\n font-weight 400\n color #aaa\n\n.page-nav\n @extend $wrapper\n padding-top 1rem\n padding-bottom 0\n .inner\n min-height 2rem\n margin-top 0\n border-top 1px solid $borderColor\n padding-top 1rem\n overflow auto // clear float\n .next\n float right\n\n@media (max-width: $MQMobile)\n .page-edit\n .edit-link\n margin-bottom .5rem\n .last-updated\n font-size .8em\n float none\n text-align left\n\n</style>\n"],"sourceRoot":"node_modules/vuepress/lib/default-theme"}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/166b88fd83613e3296659786f86384ef.json b/node_modules/vuepress/node_modules/.cache/vuepress/166b88fd83613e3296659786f86384ef.json new file mode 100644 index 00000000..d9563e61 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/166b88fd83613e3296659786f86384ef.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/root-mixins/activeHeaderLinks.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/root-mixins/activeHeaderLinks.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import \"core-js/modules/es6.regexp.replace\";\nimport \"core-js/modules/es6.array.some\";\nimport \"core-js/modules/es6.array.filter\";\nimport store from '@app/store';\nimport throttle from 'lodash.throttle';\nexport default {\n mounted: function mounted() {\n window.addEventListener('scroll', this.onScroll);\n },\n methods: {\n onScroll: throttle(function () {\n this.setActiveHash();\n }, 300),\n setActiveHash: function setActiveHash() {\n var _this = this;\n\n var sidebarLinks = [].slice.call(document.querySelectorAll('.sidebar-link'));\n var anchors = [].slice.call(document.querySelectorAll('.header-anchor')).filter(function (anchor) {\n return sidebarLinks.some(function (sidebarLink) {\n return sidebarLink.hash === anchor.hash;\n });\n });\n var scrollTop = Math.max(window.pageYOffset, document.documentElement.scrollTop, document.body.scrollTop);\n\n for (var i = 0; i < anchors.length; i++) {\n var anchor = anchors[i];\n var nextAnchor = anchors[i + 1];\n var isActive = i === 0 && scrollTop === 0 || scrollTop >= anchor.parentElement.offsetTop + 10 && (!nextAnchor || scrollTop < nextAnchor.parentElement.offsetTop - 10);\n\n if (isActive && decodeURIComponent(this.$route.hash) !== decodeURIComponent(anchor.hash)) {\n store.disableScrollBehavior = true;\n this.$router.replace(decodeURIComponent(anchor.hash), function () {\n // execute after scrollBehavior handler.\n _this.$nextTick(function () {\n store.disableScrollBehavior = false;\n });\n });\n return;\n }\n }\n }\n },\n beforeDestroy: function beforeDestroy() {\n window.removeEventListener('scroll', this.onScroll);\n }\n};",{"version":3,"sources":["node_modules/vuepress/lib/app/root-mixins/activeHeaderLinks.js"],"names":["store","throttle","mounted","window","addEventListener","onScroll","methods","setActiveHash","sidebarLinks","slice","call","document","querySelectorAll","anchors","filter","some","sidebarLink","hash","anchor","scrollTop","Math","max","pageYOffset","documentElement","body","i","length","nextAnchor","isActive","parentElement","offsetTop","decodeURIComponent","$route","disableScrollBehavior","$router","replace","$nextTick","beforeDestroy","removeEventListener"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,YAAlB;AACA,OAAOC,QAAP,MAAqB,iBAArB;AAEA,eAAe;AACbC,SADa,qBACF;AACTC,WAAOC,gBAAP,CAAwB,QAAxB,EAAkC,KAAKC,QAAvC;AACD,GAHY;AAIbC,WAAS;AACPD,cAAUJ,SAAS,YAAY;AAC7B,WAAKM,aAAL;AACD,KAFS,EAEP,GAFO,CADH;AAIPA,iBAJO,2BAIU;AAAA;;AACf,UAAMC,eAAe,GAAGC,KAAH,CAASC,IAAT,CAAcC,SAASC,gBAAT,CAA0B,eAA1B,CAAd,CAArB;AACA,UAAMC,UAAU,GAAGJ,KAAH,CAASC,IAAT,CAAcC,SAASC,gBAAT,CAA0B,gBAA1B,CAAd,EACfE,MADe,CACR;AAAA,eAAUN,aAAaO,IAAb,CAAkB;AAAA,iBAAeC,YAAYC,IAAZ,KAAqBC,OAAOD,IAA3C;AAAA,SAAlB,CAAV;AAAA,OADQ,CAAhB;AAGA,UAAME,YAAYC,KAAKC,GAAL,CAChBlB,OAAOmB,WADS,EAEhBX,SAASY,eAAT,CAAyBJ,SAFT,EAGhBR,SAASa,IAAT,CAAcL,SAHE,CAAlB;;AAMA,WAAK,IAAIM,IAAI,CAAb,EAAgBA,IAAIZ,QAAQa,MAA5B,EAAoCD,GAApC,EAAyC;AACvC,YAAMP,SAASL,QAAQY,CAAR,CAAf;AACA,YAAME,aAAad,QAAQY,IAAI,CAAZ,CAAnB;AAEA,YAAMG,WAAWH,MAAM,CAAN,IAAWN,cAAc,CAAzB,IAChBA,aAAaD,OAAOW,aAAP,CAAqBC,SAArB,GAAiC,EAA9C,KACA,CAACH,UAAD,IAAeR,YAAYQ,WAAWE,aAAX,CAAyBC,SAAzB,GAAqC,EADhE,CADD;;AAIA,YAAIF,YAAYG,mBAAmB,KAAKC,MAAL,CAAYf,IAA/B,MAAyCc,mBAAmBb,OAAOD,IAA1B,CAAzD,EAA0F;AACxFjB,gBAAMiC,qBAAN,GAA8B,IAA9B;AACA,eAAKC,OAAL,CAAaC,OAAb,CAAqBJ,mBAAmBb,OAAOD,IAA1B,CAArB,EAAsD,YAAM;AAC1D;AACA,kBAAKmB,SAAL,CAAe,YAAM;AACnBpC,oBAAMiC,qBAAN,GAA8B,KAA9B;AACD,aAFD;AAGD,WALD;AAMA;AACD;AACF;AACF;AAlCM,GAJI;AAwCbI,eAxCa,2BAwCI;AACflC,WAAOmC,mBAAP,CAA2B,QAA3B,EAAqC,KAAKjC,QAA1C;AACD;AA1CY,CAAf","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["import store from '@app/store'\nimport throttle from 'lodash.throttle'\n\nexport default {\n mounted () {\n window.addEventListener('scroll', this.onScroll)\n },\n methods: {\n onScroll: throttle(function () {\n this.setActiveHash()\n }, 300),\n setActiveHash () {\n const sidebarLinks = [].slice.call(document.querySelectorAll('.sidebar-link'))\n const anchors = [].slice.call(document.querySelectorAll('.header-anchor'))\n .filter(anchor => sidebarLinks.some(sidebarLink => sidebarLink.hash === anchor.hash))\n\n const scrollTop = Math.max(\n window.pageYOffset,\n document.documentElement.scrollTop,\n document.body.scrollTop\n )\n\n for (let i = 0; i < anchors.length; i++) {\n const anchor = anchors[i]\n const nextAnchor = anchors[i + 1]\n\n const isActive = i === 0 && scrollTop === 0 ||\n (scrollTop >= anchor.parentElement.offsetTop + 10 &&\n (!nextAnchor || scrollTop < nextAnchor.parentElement.offsetTop - 10))\n\n if (isActive && decodeURIComponent(this.$route.hash) !== decodeURIComponent(anchor.hash)) {\n store.disableScrollBehavior = true\n this.$router.replace(decodeURIComponent(anchor.hash), () => {\n // execute after scrollBehavior handler.\n this.$nextTick(() => {\n store.disableScrollBehavior = false\n })\n })\n return\n }\n }\n }\n },\n beforeDestroy () {\n window.removeEventListener('scroll', this.onScroll)\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/169bc42dbe6bd5029e2ca39e51ededd7.json b/node_modules/vuepress/node_modules/.cache/vuepress/169bc42dbe6bd5029e2ca39e51ededd7.json new file mode 100644 index 00000000..d62735e7 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/169bc42dbe6bd5029e2ca39e51ededd7.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue?vue&type=template&id=0cd5c87c&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div class=\"search-box\">\n <input\n @input=\"query = $event.target.value\"\n aria-label=\"Search\"\n :value=\"query\"\n :class=\"{ 'focused': focused }\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n @focus=\"focused = true\"\n @blur=\"focused = false\"\n @keyup.enter=\"go(focusIndex)\"\n @keyup.up=\"onUp\"\n @keyup.down=\"onDown\"\n >\n <ul\n class=\"suggestions\"\n v-if=\"showSuggestions\"\n :class=\"{ 'align-right': alignRight }\"\n @mouseleave=\"unfocus\"\n >\n <li\n class=\"suggestion\"\n v-for=\"(s, i) in suggestions\"\n :class=\"{ focused: i === focusIndex }\"\n @mousedown=\"go(i)\"\n @mouseenter=\"focus(i)\"\n >\n <a :href=\"s.path\" @click.prevent>\n <span class=\"page-title\">{{ s.title || s.path }}</span>\n <span v-if=\"s.header\" class=\"header\">> {{ s.header.title }}</span>\n </a>\n </li>\n </ul>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/16b537639afc611aa0214aa7de44da91.json b/node_modules/vuepress/node_modules/.cache/vuepress/16b537639afc611aa0214aa7de44da91.json new file mode 100644 index 00000000..e73e9552 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/16b537639afc611aa0214aa7de44da91.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/README.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/README.md","mtime":1541513030109},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./README.md?vue&type=template&id=0a27dc62&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"README.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/16cc34edba289bf8c74ca0102cd50c76.json b/node_modules/vuepress/node_modules/.cache/vuepress/16cc34edba289bf8c74ca0102cd50c76.json new file mode 100644 index 00000000..2533a390 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/16cc34edba289bf8c74ca0102cd50c76.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NotFound.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NotFound.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nconst msgs = [\n `There's nothing here.`,\n `How did we get here?`,\n `That's a Four-Oh-Four.`,\n `Looks like we've got some broken links.`\n]\n\nexport default {\n methods: {\n getMsg () {\n return msgs[Math.floor(Math.random() * msgs.length)]\n }\n }\n}\n",{"version":3,"sources":["NotFound.vue"],"names":[],"mappings":";;;;;;;;;;;AAWA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA","file":"NotFound.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <div class=\"theme-container\">\n <div class=\"content\">\n <h1>404</h1>\n <blockquote>{{ getMsg() }}</blockquote>\n <router-link to=\"/\">Take me home.</router-link>\n </div>\n </div>\n</template>\n\n<script>\nconst msgs = [\n `There's nothing here.`,\n `How did we get here?`,\n `That's a Four-Oh-Four.`,\n `Looks like we've got some broken links.`\n]\n\nexport default {\n methods: {\n getMsg () {\n return msgs[Math.floor(Math.random() * msgs.length)]\n }\n }\n}\n</script>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/16f098c95f1c0c76499f18050d0ea81b.json b/node_modules/vuepress/node_modules/.cache/vuepress/16f098c95f1c0c76499f18050d0ea81b.json new file mode 100644 index 00000000..ff53c0b6 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/16f098c95f1c0c76499f18050d0ea81b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/api/introduction.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/api/introduction.md","mtime":1541569456015},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./introduction.md?vue&type=template&id=c58bf996&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n \"29e96417\"\n \n)\n\ncomponent.options.__file = \"introduction.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/177675d621aab3229fb3e2c40d708c74.json b/node_modules/vuepress/node_modules/.cache/vuepress/177675d621aab3229fb3e2c40d708c74.json new file mode 100644 index 00000000..e4f0a6b0 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/177675d621aab3229fb3e2c40d708c74.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./NavLinks.vue?vue&type=template&id=649143b0&\"\nimport script from \"./NavLinks.vue?vue&type=script&lang=js&\"\nexport * from \"./NavLinks.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NavLinks.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"NavLinks.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/179eba2bfa6d92518cd8a8253c6c5864.json b/node_modules/vuepress/node_modules/.cache/vuepress/179eba2bfa6d92518cd8a8253c6c5864.json new file mode 100644 index 00000000..28cb02e5 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/179eba2bfa6d92518cd8a8253c6c5864.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./SearchBox.vue?vue&type=template&id=0cd5c87c&\"\nimport script from \"./SearchBox.vue?vue&type=script&lang=js&\"\nexport * from \"./SearchBox.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SearchBox.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('0cd5c87c', component.options)\n } else {\n api.reload('0cd5c87c', component.options)\n }\n module.hot.accept(\"./SearchBox.vue?vue&type=template&id=0cd5c87c&\", function () {\n api.rerender('0cd5c87c', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/default-theme/SearchBox.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/17b3a123dada62bc4353e01ceb63363d.json b/node_modules/vuepress/node_modules/.cache/vuepress/17b3a123dada62bc4353e01ceb63363d.json new file mode 100644 index 00000000..ee6e9354 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/17b3a123dada62bc4353e01ceb63363d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/api/introduction.md?vue&type=template&id=2d9e32d4&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/api/introduction.md","mtime":1541569045944},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"title1\"><a class=\"header-anchor\" href=\"#title1\" aria-hidden=\"true\">#</a> Title1</h1>\n<p><div class=\"table-of-contents\"><ul><li><a href=\"#title2\">Title2</a><ul><li><a href=\"#title3\">Title3</a></li><li><a href=\"#title3\">Title3</a></li></ul></li><li><a href=\"#title2\">Title2</a><ul><li><a href=\"#title3\">Title3</a></li></ul></li></ul></div></p>\n<h2 id=\"title2\"><a class=\"header-anchor\" href=\"#title2\" aria-hidden=\"true\">#</a> Title2</h2>\n<h3 id=\"title3\"><a class=\"header-anchor\" href=\"#title3\" aria-hidden=\"true\">#</a> Title3</h3>\n<h4 id=\"title4\"><a class=\"header-anchor\" href=\"#title4\" aria-hidden=\"true\">#</a> Title4</h4>\n<h5 id=\"title5\"><a class=\"header-anchor\" href=\"#title5\" aria-hidden=\"true\">#</a> Title5</h5>\n<p>...</p>\n<h5 id=\"title5-2\"><a class=\"header-anchor\" href=\"#title5-2\" aria-hidden=\"true\">#</a> Title5</h5>\n<p>...</p>\n<h4 id=\"title4-2\"><a class=\"header-anchor\" href=\"#title4-2\" aria-hidden=\"true\">#</a> Title4</h4>\n<p>...</p>\n<h3 id=\"title3-2\"><a class=\"header-anchor\" href=\"#title3-2\" aria-hidden=\"true\">#</a> Title3</h3>\n<p>...</p>\n<h2 id=\"title2-2\"><a class=\"header-anchor\" href=\"#title2-2\" aria-hidden=\"true\">#</a> Title2</h2>\n<p>...</p>\n<h3 id=\"title3-3\"><a class=\"header-anchor\" href=\"#title3-3\" aria-hidden=\"true\">#</a> Title3</h3>\n<p>...</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/1807e520b164af80053a684d139c3485.json b/node_modules/vuepress/node_modules/.cache/vuepress/1807e520b164af80053a684d139c3485.json new file mode 100644 index 00000000..34c48bae --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/1807e520b164af80053a684d139c3485.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/root-mixins/index.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/root-mixins/index.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import updateMeta from './updateMeta';\nimport activeHeaderLinks from '@activeHeaderLinks';\nexport default [updateMeta, // required\nactiveHeaderLinks // optional\n];",{"version":3,"sources":["node_modules/vuepress/lib/app/root-mixins/index.js"],"names":["updateMeta","activeHeaderLinks"],"mappings":"AAAA,OAAOA,UAAP,MAAuB,cAAvB;AACA,OAAOC,iBAAP,MAA8B,oBAA9B;AAEA,eAAe,CACbD,UADa,EACD;AACZC,iBAFa,CAEK;AAFL,CAAf","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["import updateMeta from './updateMeta'\nimport activeHeaderLinks from '@activeHeaderLinks'\n\nexport default [\n updateMeta, // required\n activeHeaderLinks // optional\n]\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/1810b46b04100335d00b826f2f6e6749.json b/node_modules/vuepress/node_modules/.cache/vuepress/1810b46b04100335d00b826f2f6e6749.json new file mode 100644 index 00000000..c3f91147 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/1810b46b04100335d00b826f2f6e6749.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport SidebarLink from './SidebarLink.vue'\nimport DropdownTransition from './DropdownTransition.vue'\n\nexport default {\n name: 'SidebarGroup',\n props: ['item', 'first', 'open', 'collapsable'],\n components: { SidebarLink, DropdownTransition }\n}\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/1818f20a7f941217d4c296bf20978541.json b/node_modules/vuepress/node_modules/.cache/vuepress/1818f20a7f941217d4c296bf20978541.json new file mode 100644 index 00000000..1c66efee --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/1818f20a7f941217d4c296bf20978541.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/clientEntry.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/clientEntry.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import \"core-js/modules/es6.promise\";\n\n/* global BASE_URL, GA_ID, ga, SW_ENABLED, VUEPRESS_VERSION, LAST_COMMIT_HASH*/\nimport { createApp } from './app';\nimport SWUpdateEvent from './SWUpdateEvent';\nimport { register } from 'register-service-worker';\n\nvar _createApp = createApp(),\n app = _createApp.app,\n router = _createApp.router;\n\nwindow.__VUEPRESS_VERSION__ = {\n version: VUEPRESS_VERSION,\n hash: LAST_COMMIT_HASH // Google analytics integration\n\n};\n\nif (process.env.NODE_ENV === 'production' && GA_ID) {\n (function (i, s, o, g, r, a, m) {\n i['GoogleAnalyticsObject'] = r;\n\n i[r] = i[r] || function () {\n (i[r].q = i[r].q || []).push(arguments);\n };\n\n i[r].l = 1 * new Date();\n a = s.createElement(o);\n m = s.getElementsByTagName(o)[0];\n a.async = 1;\n a.src = g;\n m.parentNode.insertBefore(a, m);\n })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');\n\n ga('create', GA_ID, 'auto');\n ga('send', 'pageview');\n router.afterEach(function (to) {\n ga('set', 'page', app.$withBase(to.fullPath));\n ga('send', 'pageview');\n });\n}\n\nrouter.onReady(function () {\n app.$mount('#app'); // Register service worker\n\n if (process.env.NODE_ENV === 'production' && SW_ENABLED && window.location.protocol === 'https:') {\n register(\"\".concat(BASE_URL, \"service-worker.js\"), {\n ready: function ready() {\n console.log('[vuepress:sw] Service worker is active.');\n app.$refs.layout.$emit('sw-ready');\n },\n cached: function cached(registration) {\n console.log('[vuepress:sw] Content has been cached for offline use.');\n app.$refs.layout.$emit('sw-cached', new SWUpdateEvent(registration));\n },\n updated: function updated(registration) {\n console.log('[vuepress:sw] Content updated.');\n app.$refs.layout.$emit('sw-updated', new SWUpdateEvent(registration));\n },\n offline: function offline() {\n console.log('[vuepress:sw] No internet connection found. App is running in offline mode.');\n app.$refs.layout.$emit('sw-offline');\n },\n error: function error(err) {\n console.error('[vuepress:sw] Error during service worker registration:', err);\n app.$refs.layout.$emit('sw-error', err);\n\n if (GA_ID) {\n ga('send', 'exception', {\n exDescription: err.message,\n exFatal: false\n });\n }\n }\n });\n }\n});",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/18785391c60f28a1830754e5629c6efe.json b/node_modules/vuepress/node_modules/.cache/vuepress/18785391c60f28a1830754e5629c6efe.json new file mode 100644 index 00000000..7832d315 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/18785391c60f28a1830754e5629c6efe.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/api/introduction.md?vue&type=template&id=c004d6d6&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/api/introduction.md","mtime":1541569456015},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"title1\"><a class=\"header-anchor\" href=\"#title1\" aria-hidden=\"true\">#</a> Title1</h1>\n<p><div class=\"table-of-contents\"><ul><li><a href=\"#title2\">Title2</a><ul><li><a href=\"#title3\">Title3</a></li><li><a href=\"#title3\">Title3</a></li></ul></li><li><a href=\"#title2\">Title2</a><ul><li><a href=\"#title3\">Title3</a></li></ul></li></ul></div></p>\n<h2 id=\"title2\"><a class=\"header-anchor\" href=\"#title2\" aria-hidden=\"true\">#</a> Title2</h2>\n<h3 id=\"title3\"><a class=\"header-anchor\" href=\"#title3\" aria-hidden=\"true\">#</a> Title3</h3>\n<h4 id=\"title4\"><a class=\"header-anchor\" href=\"#title4\" aria-hidden=\"true\">#</a> Title4</h4>\n<h5 id=\"title5\"><a class=\"header-anchor\" href=\"#title5\" aria-hidden=\"true\">#</a> Title5</h5>\n<p>...</p>\n<h5 id=\"title5-2\"><a class=\"header-anchor\" href=\"#title5-2\" aria-hidden=\"true\">#</a> Title5</h5>\n<p>...</p>\n<h4 id=\"title4-2\"><a class=\"header-anchor\" href=\"#title4-2\" aria-hidden=\"true\">#</a> Title4</h4>\n<p>...</p>\n<h3 id=\"title3-2\"><a class=\"header-anchor\" href=\"#title3-2\" aria-hidden=\"true\">#</a> Title3</h3>\n<p>...</p>\n<h2 id=\"title2-2\"><a class=\"header-anchor\" href=\"#title2-2\" aria-hidden=\"true\">#</a> Title2</h2>\n<p>...</p>\n<h3 id=\"title3-3\"><a class=\"header-anchor\" href=\"#title3-3\" aria-hidden=\"true\">#</a> Title3</h3>\n<p>...</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/197dd8850b9789fc60b5ac8cbed95327.json b/node_modules/vuepress/node_modules/.cache/vuepress/197dd8850b9789fc60b5ac8cbed95327.json new file mode 100644 index 00000000..36da7a31 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/197dd8850b9789fc60b5ac8cbed95327.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/zh/guide/introduction.md?vue&type=template&id=6ecdfb78&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/zh/guide/introduction.md","mtime":1541489249205},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"简介\"><a class=\"header-anchor\" href=\"#简介\" aria-hidden=\"true\">#</a> 简介</h1>\n<p>TBOX是一个用c语言实现的跨平台开发库。</p>\n<p>针对各个平台,封装了统一的接口,简化了各类开发过程中常用操作,使你在开发过程中,更加关注实际应用的开发,而不是把时间浪费在琐碎的接口兼容性上面,并且充分利用了各个平台独有的一些特性进行优化。</p>\n<p>这个项目的目的,是为了使C开发更加的简单高效。</p>\n<p>目前支持的平台有:</p>\n<ul>\n<li>Windows</li>\n<li>Macosx</li>\n<li>Linux</li>\n<li>Android</li>\n<li>iOS</li>\n</ul>\n<p>通过<a href=\"http://www.xmake.io/cn\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a>支持各种编译模式:</p>\n<ul>\n<li>Release: 正式版编译,禁用调试信息、断言,各种检测机制,启用编译器优化</li>\n<li>Debug: 调试模式,默认启用详细调试信息、断言、内存越界检测、内存泄漏、锁竞争分析等检测机制</li>\n<li>Small: 最小化编译,默认禁用所有扩展模块,启用编译器最小化优化</li>\n<li>Micro: 针对嵌入式平台,仅仅编译tbox微内核,仅提供最基础的跨平台接口,生成库仅64K左右(内置轻量libc接口实现)</li>\n</ul>\n<p>如果你想了解更多,请参考:</p>\n<ul>\n<li><a href=\"http://www.tboox.org/cn\" target=\"_blank\" rel=\"noopener noreferrer\">项目主页<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/%E7%9B%AE%E5%BD%95\" target=\"_blank\" rel=\"noopener noreferrer\">在线文档<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Github<OutboundLink/></a></li>\n<li><a href=\"https://gitee.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Gitee<OutboundLink/></a></li>\n</ul>\n<h2 id=\"特性\"><a class=\"header-anchor\" href=\"#特性\" aria-hidden=\"true\">#</a> 特性</h2>\n<h4 id=\"流库\"><a class=\"header-anchor\" href=\"#流库\" aria-hidden=\"true\">#</a> 流库</h4>\n<p>针对http、file、socket、data等流数据,实现统一接口进行读写,并且支持: 阻塞、非阻塞、异步 三种读写模式。\n支持中间增加多层filter流进行流过滤,实现边读取,内部边进行解压、编码转换、加密等操作,极大的减少了内存使用。</p>\n<p>主要提供以下模块:</p>\n<ul>\n<li><code>stream</code>:通用非阻塞流,用于一般的单独io处理,同时支持协程以实现异步传输。</li>\n<li><code>transfer</code>:流传输器,维护两路流的传输。</li>\n<li><code>static_stream</code>:针对静态数据buffer优化的静态流,用于轻量快速的数据解析。</li>\n</ul>\n<h4 id=\"协程库\"><a class=\"header-anchor\" href=\"#协程库\" aria-hidden=\"true\">#</a> 协程库</h4>\n<ul>\n<li>快速高效的协程切换支持(具体性能参考:<a href=\"http://tboox.org/cn/2016/10/28/benchbox-coroutine/\" target=\"_blank\" rel=\"noopener noreferrer\">基准测试报告<OutboundLink/></a>)</li>\n<li>提供跨平台支持,核心切换算法参考boost,并且对其进行重写和优化,目前支持架构:x86, x86_64, arm, arm64, mips32</li>\n<li>提供channel协程间数据通信支持,基于生产、消费者模型</li>\n<li>提供信号量、协程锁支持</li>\n<li>socket、stream都模块原生支持协程,并且可在线程和协程间进行无缝切换</li>\n<li>提供http、file等基于协程的简单服务器实例,只需几百行代码,就可以从socket开始写个高性能io服务器,代码逻辑比异步回调模式更加清晰</li>\n<li>同时提供stackfull, stackless两种协程模式支持,stackless协程更加的轻量(每个协程只占用几十个bytes),切换更快(会牺牲部分易用性)</li>\n<li>支持epoll, kqueue, poll, select 和 IOCP</li>\n</ul>\n<h4 id=\"数据库\"><a class=\"header-anchor\" href=\"#数据库\" aria-hidden=\"true\">#</a> 数据库</h4>\n<ul>\n<li>统一并简化数据库操作接口,适配各种数据源,通过统一的url来自动连接打开支持的数据库,数据的枚举采用迭代器模型。</li>\n<li>目前支持sqlite3以及mysql两种关系型数据库,也可自定义扩展使用其他关系型数据库。</li>\n</ul>\n<h4 id=\"xml库\"><a class=\"header-anchor\" href=\"#xml库\" aria-hidden=\"true\">#</a> xml库</h4>\n<ul>\n<li>针对xml提供DOM和SAX两种解析模式,SAX方式采用外部迭代模式,灵活性和性能更高,并且可以选择指定路径,进行解析。</li>\n<li>解析过程完全基于stream,所以是高度流化的,可以实现边下载、边解压、边转码、边解析一条龙服务,使用较低的内存也可以解析大规模数据。</li>\n<li>提供xml writer以支持对xml生成</li>\n</ul>\n<h4 id=\"内存库\"><a class=\"header-anchor\" href=\"#内存库\" aria-hidden=\"true\">#</a> 内存库</h4>\n<ul>\n<li>参考linux内核内存管理机制的实现,并对其进行各种改造和优化,所实现的TBOX独有的一整套内存池管理架构。</li>\n<li>调试模式下,可以轻松检测并定位内存泄露、内存越界溢出、内存重叠覆盖等常见内存问题,并对整体内存的使用进行了统计和简要分析。</li>\n<li>针对大块数据、小块数据、字符串数据进行了充分的利用,避免了大量外部碎片和内部碎片的产生。分配操作进行了各种优化,96%的情况下,效率都是在O(1)。</li>\n</ul>\n<h4 id=\"容器库\"><a class=\"header-anchor\" href=\"#容器库\" aria-hidden=\"true\">#</a> 容器库</h4>\n<ul>\n<li>提供哈希、链表、数组、队列、堆栈、最小最大堆等常用容器。</li>\n<li>支持各种常用成员类型,在原有的容器期初上,其成员类型还可以完全自定义扩展。</li>\n<li>所有容器都支持迭代器操作。</li>\n<li>大部分容器都可以支持基于stream的序列化和反序列化操作。</li>\n</ul>\n<h4 id=\"算法库\"><a class=\"header-anchor\" href=\"#算法库\" aria-hidden=\"true\">#</a> 算法库</h4>\n<ul>\n<li>提供各种排序算法:冒泡排序、堆排序、快速排序、插入排序。</li>\n<li>提供各种查找算法:线性遍历、二分法搜索。</li>\n<li>提供各种遍历、删除、统计算法。</li>\n<li>以迭代器为接口,实现算法和容器的分离,类似stl,但是c实现的,更加轻量。</li>\n</ul>\n<h4 id=\"网络库\"><a class=\"header-anchor\" href=\"#网络库\" aria-hidden=\"true\">#</a> 网络库</h4>\n<ul>\n<li>实现http客户端模块</li>\n<li>实现cookies</li>\n<li>实现dns解析与缓存</li>\n<li>实现ssl(支持openssl, polarssl, mbedtls)</li>\n<li>支持ipv4、ipv6</li>\n<li>支持通过协程实现异步模式</li>\n</ul>\n<h4 id=\"数学运算库\"><a class=\"header-anchor\" href=\"#数学运算库\" aria-hidden=\"true\">#</a> 数学运算库</h4>\n<ul>\n<li>提供各种精度的定点运算支持</li>\n<li>提供随机数生成器</li>\n</ul>\n<h4 id=\"libc库\"><a class=\"header-anchor\" href=\"#libc库\" aria-hidden=\"true\">#</a> libc库</h4>\n<ul>\n<li>libc的一个轻量级实现,完全跨平台,并且针对不同架构进行了优化。</li>\n<li>支持大部分字符串、宽字符串操作。</li>\n<li>扩展字符串、宽字符串的各种大小写不敏感操作接口</li>\n<li>扩展<code>memset_u16</code>、<code>memset_u32</code>等接口,并对其进行高度优化,尤其适合图形渲染程序</li>\n</ul>\n<h4 id=\"libm库\"><a class=\"header-anchor\" href=\"#libm库\" aria-hidden=\"true\">#</a> libm库</h4>\n<ul>\n<li>libm部分接口的一个轻量级实现,以及对常用系统接口的封装。(目前只实现了部分,之后有时间会完全实现掉)</li>\n<li>扩展部分常用接口,增加对sqrt、log2等常用函数的整数版本计算,进行高度优化,不涉及浮点运算,适合嵌入式环境使用。</li>\n</ul>\n<h4 id=\"object库\"><a class=\"header-anchor\" href=\"#object库\" aria-hidden=\"true\">#</a> object库</h4>\n<ul>\n<li>轻量级类apple的CoreFoundation库,支持object、dictionary、array、string、number、date、data等常用对象,并且可以方便扩展自定义对象的序列化。</li>\n<li>支持对xml、json、binary以及apple的plist(xplist/bplist)格式序列化和反序列化。\n并且实现自有的binary序列化格式, 针对明文进行了简单的加密,在不影响性能的前提下,序列化后的大小比bplist节省30%。</li>\n</ul>\n<h4 id=\"平台库\"><a class=\"header-anchor\" href=\"#平台库\" aria-hidden=\"true\">#</a> 平台库</h4>\n<ul>\n<li>提供file、directory、socket、thread、time等常用系统接口</li>\n<li>提供atomic、atomic64接口</li>\n<li>提供高精度、低精度定时器</li>\n<li>提供高性能的线程池操作</li>\n<li>提供event、mutex、semaphore、spinlock等事件、互斥、信号量、自旋锁操作</li>\n<li>提供获取函数堆栈信息的接口,方便调试和错误定位</li>\n<li>提供跨平台动态库加载接口(如果系统支持的话)</li>\n<li>提供io轮询器,针对epoll, poll, select, kqueue进行跨平台封装</li>\n<li>提供跨平台上下文切换接口,主要用于协程实现,切换效率非常高</li>\n</ul>\n<h4 id=\"压缩库\"><a class=\"header-anchor\" href=\"#压缩库\" aria-hidden=\"true\">#</a> 压缩库</h4>\n<ul>\n<li>支持zlib/zlibraw/gzip的压缩与解压(需要第三方zlib库支持)。</li>\n</ul>\n<h4 id=\"字符编码库\"><a class=\"header-anchor\" href=\"#字符编码库\" aria-hidden=\"true\">#</a> 字符编码库</h4>\n<ul>\n<li>支持utf8、utf16、gbk、gb2312、uc2、uc4 之间的互相转码,并且支持大小端格式。</li>\n</ul>\n<h4 id=\"实用工具库\"><a class=\"header-anchor\" href=\"#实用工具库\" aria-hidden=\"true\">#</a> 实用工具库</h4>\n<ul>\n<li>实现base64/32编解码</li>\n<li>实现crc32、adler32、md5、sha1等常用hash算法</li>\n<li>实现日志输出、断言等辅助调试工具</li>\n<li>实现url编解码</li>\n<li>实现位操作相关接口,支持各种数据格式的解析,可以对8bits、16bits、32bits、64bits、float、double以及任意bits的字段进行解析操作,并且同时支持大端、小端和本地端模式,并针对部分操作进行了优化,像static_stream、stream都有相关接口对其进行了封装,方便在流上进行快速数据解析。</li>\n<li>实现swap16、swap32、swap64等位交换操作,并针对各个平台进行了优化。</li>\n<li>实现一些高级的位处理接口,例如:位0的快速统计、前导0和前导1的快速位计数、后导01的快速位计数</li>\n<li>实现单例模块,可以对静态对象、实例对象进行快速的单例封装,实现全局线程安全</li>\n<li>实现option模块,对命令行参数进行解析,提供快速方便的命令行选项建立和解析操作,对于写终端程序还是很有帮助的</li>\n</ul>\n<h4 id=\"正则表达式库\"><a class=\"header-anchor\" href=\"#正则表达式库\" aria-hidden=\"true\">#</a> 正则表达式库</h4>\n<ul>\n<li>支持匹配和替换操作</li>\n<li>支持全局、多行、大小写不敏感等模式</li>\n<li>使用pcre, pcre2和posix正则库</li>\n</ul>\n<h2 id=\"项目例子\"><a class=\"header-anchor\" href=\"#项目例子\" aria-hidden=\"true\">#</a> 项目例子</h2>\n<p>一些使用tbox的项目</p>\n<ul>\n<li><a href=\"https://github.com/tboox/gbox\" target=\"_blank\" rel=\"noopener noreferrer\">gbox<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/vm86\" target=\"_blank\" rel=\"noopener noreferrer\">vm86<OutboundLink/></a></li>\n<li><a href=\"http://www.xmake.io/cn\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/itrace\" target=\"_blank\" rel=\"noopener noreferrer\">itrace<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/%E4%BD%BF%E7%94%A8tbox%E7%9A%84%E5%BC%80%E6%BA%90%E5%BA%93\" target=\"_blank\" rel=\"noopener noreferrer\">更多项目<OutboundLink/></a></li>\n</ul>\n<h2 id=\"联系方式\"><a class=\"header-anchor\" href=\"#联系方式\" aria-hidden=\"true\">#</a> 联系方式</h2>\n<ul>\n<li>邮箱:<a href=\"mailto:waruqi@gmail.com\">waruqi@gmail.com</a></li>\n<li>主页:<a href=\"http://www.tboox.org/cn\" target=\"_blank\" rel=\"noopener noreferrer\">TBOOX开源工程<OutboundLink/></a></li>\n<li>社区:<a href=\"https://www.reddit.com/r/tboox/\" target=\"_blank\" rel=\"noopener noreferrer\">Reddit论坛<OutboundLink/></a></li>\n<li>QQ群:343118190</li>\n<li>微信公众号:tboox-os</li>\n</ul>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/199bae8c7055f9d74b9e0c908df59a54.json b/node_modules/vuepress/node_modules/.cache/vuepress/199bae8c7055f9d74b9e0c908df59a54.json new file mode 100644 index 00000000..f0f70a63 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/199bae8c7055f9d74b9e0c908df59a54.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/root-mixins/index.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/root-mixins/index.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import updateMeta from './updateMeta';\nimport activeHeaderLinks from '@activeHeaderLinks';\nexport default [updateMeta, // required\nactiveHeaderLinks // optional\n];",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/19d208362ec149a1428c0613d64f1ad4.json b/node_modules/vuepress/node_modules/.cache/vuepress/19d208362ec149a1428c0613d64f1ad4.json new file mode 100644 index 00000000..d01152e7 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/19d208362ec149a1428c0613d64f1ad4.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue?vue&type=template&id=0cd5c87c&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"search-box\" }, [\n _c(\"input\", {\n class: { focused: _vm.focused },\n attrs: {\n \"aria-label\": \"Search\",\n autocomplete: \"off\",\n spellcheck: \"false\"\n },\n domProps: { value: _vm.query },\n on: {\n input: function($event) {\n _vm.query = $event.target.value\n },\n focus: function($event) {\n _vm.focused = true\n },\n blur: function($event) {\n _vm.focused = false\n },\n keyup: [\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n _vm.go(_vm.focusIndex)\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"up\", 38, $event.key, [\"Up\", \"ArrowUp\"])\n ) {\n return null\n }\n return _vm.onUp($event)\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"down\", 40, $event.key, [\n \"Down\",\n \"ArrowDown\"\n ])\n ) {\n return null\n }\n return _vm.onDown($event)\n }\n ]\n }\n }),\n _vm._v(\" \"),\n _vm.showSuggestions\n ? _c(\n \"ul\",\n {\n staticClass: \"suggestions\",\n class: { \"align-right\": _vm.alignRight },\n on: { mouseleave: _vm.unfocus }\n },\n _vm._l(_vm.suggestions, function(s, i) {\n return _c(\n \"li\",\n {\n staticClass: \"suggestion\",\n class: { focused: i === _vm.focusIndex },\n on: {\n mousedown: function($event) {\n _vm.go(i)\n },\n mouseenter: function($event) {\n _vm.focus(i)\n }\n }\n },\n [\n _c(\n \"a\",\n {\n attrs: { href: s.path },\n on: {\n click: function($event) {\n $event.preventDefault()\n }\n }\n },\n [\n _c(\"span\", { staticClass: \"page-title\" }, [\n _vm._v(_vm._s(s.title || s.path))\n ]),\n _vm._v(\" \"),\n s.header\n ? _c(\"span\", { staticClass: \"header\" }, [\n _vm._v(\"> \" + _vm._s(s.header.title))\n ])\n : _vm._e()\n ]\n )\n ]\n )\n })\n )\n : _vm._e()\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/19e7891f643ab0d96e8cdb58bca0d6d7.json b/node_modules/vuepress/node_modules/.cache/vuepress/19e7891f643ab0d96e8cdb58bca0d6d7.json new file mode 100644 index 00000000..922cfc5e --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/19e7891f643ab0d96e8cdb58bca0d6d7.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/README.md?vue&type=template&id=0a27dc62&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/README.md","mtime":1541513030109},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._ssrNode(\"<div class=\\\"language-c extra-class\\\"><pre class=\\\"language-c\\\"><code><span class=\\\"token macro property\\\">#<span class=\\\"token directive keyword\\\">include</span> <span class=\\\"token string\\\">"tbox/tbox.h"</span></span>\\n\\n<span class=\\\"token keyword\\\">int</span> <span class=\\\"token function\\\">main</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token keyword\\\">int</span> argc<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token keyword\\\">char</span><span class=\\\"token operator\\\">*</span><span class=\\\"token operator\\\">*</span> argv<span class=\\\"token punctuation\\\">)</span>\\n<span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// init tbox</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span><span class=\\\"token operator\\\">!</span><span class=\\\"token function\\\">tb_init</span><span class=\\\"token punctuation\\\">(</span>tb_null<span class=\\\"token punctuation\\\">,</span> tb_null<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span> <span class=\\\"token keyword\\\">return</span> <span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// init vector</span>\\n tb_vector_ref_t vector <span class=\\\"token operator\\\">=</span> <span class=\\\"token function\\\">tb_vector_init</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">,</span> <span class=\\\"token function\\\">tb_element_cstr</span><span class=\\\"token punctuation\\\">(</span>tb_true<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// insert item</span>\\n <span class=\\\"token function\\\">tb_vector_insert_tail</span><span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token string\\\">"hello"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token function\\\">tb_vector_insert_tail</span><span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token string\\\">"tbox"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// dump all items</span>\\n tb_for_all <span class=\\\"token punctuation\\\">(</span>tb_char_t <span class=\\\"token keyword\\\">const</span><span class=\\\"token operator\\\">*</span><span class=\\\"token punctuation\\\">,</span> cstr<span class=\\\"token punctuation\\\">,</span> vector<span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// trace</span>\\n <span class=\\\"token function\\\">tb_trace_i</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token string\\\">"%s"</span><span class=\\\"token punctuation\\\">,</span> cstr<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n\\n <span class=\\\"token comment\\\">// exit vector</span>\\n <span class=\\\"token function\\\">tb_vector_exit</span><span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n\\n <span class=\\\"token comment\\\">// exit tbox</span>\\n <span class=\\\"token function\\\">tb_exit</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n<span class=\\\"token punctuation\\\">}</span>\\n</code></pre></div>\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/1a081c5e80dc703597fee916dfb49933.json b/node_modules/vuepress/node_modules/.cache/vuepress/1a081c5e80dc703597fee916dfb49933.json new file mode 100644 index 00000000..b730a333 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/1a081c5e80dc703597fee916dfb49933.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/guide/introduction.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/introduction.md","mtime":1541489249205},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./introduction.md?vue&type=template&id=6ecdfb78&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('6ecdfb78', component.options)\n } else {\n api.reload('6ecdfb78', component.options)\n }\n module.hot.accept(\"./introduction.md?vue&type=template&id=6ecdfb78&\", function () {\n api.rerender('6ecdfb78', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/zh/guide/introduction.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/1a26049435053eaa2fa63f4e58e6172f.json b/node_modules/vuepress/node_modules/.cache/vuepress/1a26049435053eaa2fa63f4e58e6172f.json new file mode 100644 index 00000000..3393847f --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/1a26049435053eaa2fa63f4e58e6172f.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue?vue&type=template&id=1e9bb6d3&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<header class=\"navbar\">\n <SidebarButton @toggle-sidebar=\"$emit('toggle-sidebar')\"/>\n\n <router-link\n :to=\"$localePath\"\n class=\"home-link\"\n >\n <img\n class=\"logo\"\n v-if=\"$site.themeConfig.logo\"\n :src=\"$withBase($site.themeConfig.logo)\"\n :alt=\"$siteTitle\"\n >\n <span\n ref=\"siteName\"\n class=\"site-name\"\n v-if=\"$siteTitle\"\n :class=\"{ 'can-hide': $site.themeConfig.logo }\"\n >{{ $siteTitle }}</span>\n </router-link>\n\n <div\n class=\"links\"\n :style=\"{\n 'max-width': linksWrapMaxWidth + 'px'\n }\"\n >\n <AlgoliaSearchBox\n v-if=\"isAlgoliaSearch\"\n :options=\"algolia\"\n />\n <SearchBox v-else-if=\"$site.themeConfig.search !== false\"/>\n <NavLinks class=\"can-hide\"/>\n </div>\n</header>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/1aabbe694fbce14653490d9a57190ad4.json b/node_modules/vuepress/node_modules/.cache/vuepress/1aabbe694fbce14653490d9a57190ad4.json new file mode 100644 index 00000000..510616cb --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/1aabbe694fbce14653490d9a57190ad4.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue?vue&type=template&id=02a4f89d&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<transition\n name=\"dropdown\"\n @enter=\"setHeight\"\n @after-enter=\"unsetHeight\"\n @before-leave=\"setHeight\"\n>\n <slot/>\n</transition>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/1b656380fd3c06885977573c1cf6b559.json b/node_modules/vuepress/node_modules/.cache/vuepress/1b656380fd3c06885977573c1cf6b559.json new file mode 100644 index 00000000..439dcc3b --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/1b656380fd3c06885977573c1cf6b559.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/README.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/README.md","mtime":1541488927605},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./README.md?vue&type=template&id=8a4bbf68&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n \"328f9756\"\n \n)\n\ncomponent.options.__file = \"README.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/1b6c660414d0db1a6cab922afd52f5f9.json b/node_modules/vuepress/node_modules/.cache/vuepress/1b6c660414d0db1a6cab922afd52f5f9.json new file mode 100644 index 00000000..c71d6bd8 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/1b6c660414d0db1a6cab922afd52f5f9.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue?vue&type=template&id=e27c5110&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<transition name=\"sw-update-popup\">\n <div\n v-if=\"enabled\"\n class=\"sw-update-popup\"\n >\n {{message}}<br>\n <button @click=\"reload\">{{buttonText}}</button>\n </div>\n</transition>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/1ba3e888cfb0bf8e34f18841250bdc95.json b/node_modules/vuepress/node_modules/.cache/vuepress/1ba3e888cfb0bf8e34f18841250bdc95.json new file mode 100644 index 00000000..03f8d65a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/1ba3e888cfb0bf8e34f18841250bdc95.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/guide/getting-started.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/guide/getting-started.md","mtime":1541554688137},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./getting-started.md?vue&type=template&id=527ea621&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n \"c3d4e682\"\n \n)\n\ncomponent.options.__file = \"getting-started.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/1bb2bf4323bbc3d9db0d46dc4a919420.json b/node_modules/vuepress/node_modules/.cache/vuepress/1bb2bf4323bbc3d9db0d46dc4a919420.json new file mode 100644 index 00000000..689abd40 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/1bb2bf4323bbc3d9db0d46dc4a919420.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport SidebarLink from './SidebarLink.vue';\nimport DropdownTransition from './DropdownTransition.vue';\nexport default {\n name: 'SidebarGroup',\n props: ['item', 'first', 'open', 'collapsable'],\n components: {\n SidebarLink: SidebarLink,\n DropdownTransition: DropdownTransition\n }\n};",{"version":3,"sources":["SidebarGroup.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,OAAA,WAAA,MAAA,mBAAA;AACA,OAAA,kBAAA,MAAA,0BAAA;AAEA,eAAA;AACA,QAAA,cADA;AAEA,SAAA,CAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,aAAA,CAFA;AAGA,cAAA;AAAA,4BAAA;AAAA;AAAA;AAHA,CAAA","sourcesContent":["<template>\n <div\n class=\"sidebar-group\"\n :class=\"{ first, collapsable }\"\n >\n <p\n class=\"sidebar-heading\"\n :class=\"{ open }\"\n @click=\"$emit('toggle')\"\n >\n <span>{{ item.title }}</span>\n <span\n class=\"arrow\"\n v-if=\"collapsable\"\n :class=\"open ? 'down' : 'right'\">\n </span>\n </p>\n\n <DropdownTransition>\n <ul\n ref=\"items\"\n class=\"sidebar-group-items\"\n v-if=\"open || !collapsable\"\n >\n <li v-for=\"child in item.children\">\n <SidebarLink :item=\"child\"/>\n </li>\n </ul>\n </DropdownTransition>\n </div>\n</template>\n\n<script>\nimport SidebarLink from './SidebarLink.vue'\nimport DropdownTransition from './DropdownTransition.vue'\n\nexport default {\n name: 'SidebarGroup',\n props: ['item', 'first', 'open', 'collapsable'],\n components: { SidebarLink, DropdownTransition }\n}\n</script>\n\n<style lang=\"stylus\">\n.sidebar-group\n &:not(.first)\n margin-top 1em\n .sidebar-group\n padding-left 0.5em\n &:not(.collapsable)\n .sidebar-heading\n cursor auto\n color inherit\n\n.sidebar-heading\n color #999\n transition color .15s ease\n cursor pointer\n font-size 1.1em\n font-weight bold\n // text-transform uppercase\n padding 0 1.5rem\n margin-top 0\n margin-bottom 0.5rem\n &.open, &:hover\n color inherit\n .arrow\n position relative\n top -0.12em\n left 0.5em\n &:.open .arrow\n top -0.18em\n\n.sidebar-group-items\n transition height .1s ease-out\n overflow hidden\n</style>\n"],"sourceRoot":"node_modules/vuepress/lib/default-theme"}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/1bb420812648ebb5503e44e2b06bb7f4.json b/node_modules/vuepress/node_modules/.cache/vuepress/1bb420812648ebb5503e44e2b06bb7f4.json new file mode 100644 index 00000000..c8714730 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/1bb420812648ebb5503e44e2b06bb7f4.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.nav-links\n display inline-block\n a\n line-height 1.4rem\n color inherit\n &:hover, &.router-link-active\n color $accentColor\n .nav-item\n position relative\n display inline-block\n margin-left 1.5rem\n line-height 2rem\n &:first-child\n margin-left 0\n .repo-link\n margin-left 1.5rem\n\n@media (max-width: $MQMobile)\n .nav-links\n .nav-item, .repo-link\n margin-left 0\n\n@media (min-width: $MQMobile)\n .nav-links a\n &:hover, &.router-link-active\n color $textColor\n .nav-item > a:not(.external)\n &:hover, &.router-link-active\n margin-bottom -2px\n border-bottom 2px solid lighten($accentColor, 8%)\n",{"version":3,"sources":["NavLinks.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsHA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"NavLinks.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <nav\n class=\"nav-links\"\n v-if=\"userLinks.length || repoLink\"\n >\n <!-- user links -->\n <div\n class=\"nav-item\"\n v-for=\"item in userLinks\"\n :key=\"item.link\"\n >\n <DropdownLink\n v-if=\"item.type === 'links'\"\n :item=\"item\"\n />\n <NavLink\n v-else\n :item=\"item\"\n />\n </div>\n\n <!-- repo link -->\n <a\n v-if=\"repoLink\"\n :href=\"repoLink\"\n class=\"repo-link\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {{ repoLabel }}\n <OutboundLink/>\n </a>\n </nav>\n</template>\n\n<script>\nimport DropdownLink from './DropdownLink.vue'\nimport { resolveNavLinkItem } from './util'\nimport NavLink from './NavLink.vue'\n\nexport default {\n components: { NavLink, DropdownLink },\n\n computed: {\n userNav () {\n return this.$themeLocaleConfig.nav || this.$site.themeConfig.nav || []\n },\n\n nav () {\n const { locales } = this.$site\n if (locales && Object.keys(locales).length > 1) {\n const currentLink = this.$page.path\n const routes = this.$router.options.routes\n const themeLocales = this.$site.themeConfig.locales || {}\n const languageDropdown = {\n text: this.$themeLocaleConfig.selectText || 'Languages',\n items: Object.keys(locales).map(path => {\n const locale = locales[path]\n const text = themeLocales[path] && themeLocales[path].label || locale.lang\n let link\n // Stay on the current page\n if (locale.lang === this.$lang) {\n link = currentLink\n } else {\n // Try to stay on the same page\n link = currentLink.replace(this.$localeConfig.path, path)\n // fallback to homepage\n if (!routes.some(route => route.path === link)) {\n link = path\n }\n }\n return { text, link }\n })\n }\n return [...this.userNav, languageDropdown]\n }\n return this.userNav\n },\n\n userLinks () {\n return (this.nav || []).map(link => {\n return Object.assign(resolveNavLinkItem(link), {\n items: (link.items || []).map(resolveNavLinkItem)\n })\n })\n },\n\n repoLink () {\n const { repo } = this.$site.themeConfig\n if (repo) {\n return /^https?:/.test(repo)\n ? repo\n : `https://github.com/${repo}`\n }\n },\n\n repoLabel () {\n if (!this.repoLink) return\n if (this.$site.themeConfig.repoLabel) {\n return this.$site.themeConfig.repoLabel\n }\n\n const repoHost = this.repoLink.match(/^https?:\\/\\/[^/]+/)[0]\n const platforms = ['GitHub', 'GitLab', 'Bitbucket']\n for (let i = 0; i < platforms.length; i++) {\n const platform = platforms[i]\n if (new RegExp(platform, 'i').test(repoHost)) {\n return platform\n }\n }\n\n return 'Source'\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.nav-links\n display inline-block\n a\n line-height 1.4rem\n color inherit\n &:hover, &.router-link-active\n color $accentColor\n .nav-item\n position relative\n display inline-block\n margin-left 1.5rem\n line-height 2rem\n &:first-child\n margin-left 0\n .repo-link\n margin-left 1.5rem\n\n@media (max-width: $MQMobile)\n .nav-links\n .nav-item, .repo-link\n margin-left 0\n\n@media (min-width: $MQMobile)\n .nav-links a\n &:hover, &.router-link-active\n color $textColor\n .nav-item > a:not(.external)\n &:hover, &.router-link-active\n margin-bottom -2px\n border-bottom 2px solid lighten($accentColor, 8%)\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/1bdc5cccd3aa2d6a3eb545391493cdf7.json b/node_modules/vuepress/node_modules/.cache/vuepress/1bdc5cccd3aa2d6a3eb545391493cdf7.json new file mode 100644 index 00000000..39dbc6e3 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/1bdc5cccd3aa2d6a3eb545391493cdf7.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/zh/guide/getting-started.md","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/zh/guide/getting-started.md","mtime":1541554744255},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./getting-started.md?vue&type=template&id=01e6c1a0&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('01e6c1a0', component.options)\n } else {\n api.reload('01e6c1a0', component.options)\n }\n module.hot.accept(\"./getting-started.md?vue&type=template&id=01e6c1a0&\", function () {\n api.rerender('01e6c1a0', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/zh/guide/getting-started.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/1be47fd45f51bd23443e39432c9dc819.json b/node_modules/vuepress/node_modules/.cache/vuepress/1be47fd45f51bd23443e39432c9dc819.json new file mode 100644 index 00000000..bd447f8a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/1be47fd45f51bd23443e39432c9dc819.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/guide/getting-started.md?vue&type=template&id=bbea027a&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/guide/getting-started.md","mtime":1541488106036},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._m(0),_vm._v(\" \"),_c('p',[_vm._v(\"Please install xmake first: \"),_c('a',{attrs:{\"href\":\"https://github.com/tboox/xmake\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"xmake\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_vm._m(1),_vm._m(2),_vm._v(\" \"),_vm._m(3)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h1',{attrs:{\"id\":\"getting-started\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#getting-started\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Getting Started\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"language-console extra-class\"},[_c('pre',{pre:true,attrs:{\"class\":\"language-text\"}},[_c('code',[_vm._v(\"# build for the host platform\\n$ cd ./tbox\\n$ xmake\\n\\n# build for the mingw platform\\n$ cd ./tbox\\n$ xmake f -p mingw --sdk=/home/mingwsdk \\n$ xmake\\n\\n# build for the iphoneos platform\\n$ cd ./tbox\\n$ xmake f -p iphoneos \\n$ xmake\\n\\n# build for the android platform\\n$ cd ./tbox\\n$ xmake f -p android --ndk=xxxxx\\n$ xmake\\n\\n# build for the linux cross-platform\\n$ cd ./tbox\\n$ xmake f -p linux --sdk=/home/sdk # --bin=/home/sdk/bin\\n$ xmake\\n\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',{attrs:{\"id\":\"example\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#example\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Example\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"language-c extra-class\"},[_c('pre',{pre:true,attrs:{\"class\":\"language-c\"}},[_c('code',[_c('span',{attrs:{\"class\":\"token macro property\"}},[_vm._v(\"#\"),_c('span',{attrs:{\"class\":\"token directive keyword\"}},[_vm._v(\"include\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"tbox/tbox.h\\\"\")])]),_vm._v(\"\\n\\n\"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"int\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"main\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"int\")]),_vm._v(\" argc\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"char\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"*\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"*\")]),_vm._v(\" argv\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// init tbox\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"!\")]),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_init\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"tb_null\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" tb_null\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"return\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// trace\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_trace_i\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"hello tbox\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// init vector\")]),_vm._v(\"\\n tb_vector_ref_t vector \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_init\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_element_cstr\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"tb_true\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// insert item\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_insert_tail\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"hello\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_insert_tail\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"tbox\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// dump all items\")]),_vm._v(\"\\n tb_for_all \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"tb_char_t \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"const\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"*\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" cstr\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// trace\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_trace_i\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"%s\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" cstr\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// exit vector\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_exit\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// init stream\")]),_vm._v(\"\\n tb_stream_ref_t stream \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_stream_init_from_url\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"http://www.xxx.com/file.txt\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"stream\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// open stream\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_stream_open\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"stream\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// read line\")]),_vm._v(\"\\n tb_long_t size \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n tb_char_t line\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"[\")]),_vm._v(\"TB_STREAM_BLOCK_MAXN\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"]\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"while\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"size \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_stream_bread_line\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"stream\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" line\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"sizeof\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"line\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\">=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// trace\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_trace_i\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"line: %s\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" line\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// exit stream\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_stream_exit\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"stream\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// wait \")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"getchar\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// exit tbox\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_exit\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"return\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\")])])])}]\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/1c5c652ad5d308e31e8dc76bde61510f.json b/node_modules/vuepress/node_modules/.cache/vuepress/1c5c652ad5d308e31e8dc76bde61510f.json new file mode 100644 index 00000000..e5a42618 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/1c5c652ad5d308e31e8dc76bde61510f.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLink.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport { isExternal, isMailto, isTel, ensureExt } from './util'\n\nexport default {\n props: {\n item: {\n required: true\n }\n },\n\n computed: {\n link () {\n return ensureExt(this.item.link)\n },\n\n exact () {\n if (this.$site.locales) {\n return Object.keys(this.$site.locales).some(rootLink => rootLink === this.link)\n }\n return this.link === '/'\n }\n },\n\n methods: {\n isExternal,\n isMailto,\n isTel\n }\n}\n",{"version":3,"sources":["NavLink.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAoBA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA","file":"NavLink.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <router-link\n class=\"nav-link\"\n :to=\"link\"\n v-if=\"!isExternal(link)\"\n :exact=\"exact\"\n >{{ item.text }}</router-link>\n <a\n v-else\n :href=\"link\"\n class=\"nav-link external\"\n :target=\"isMailto(link) || isTel(link) ? null : '_blank'\"\n :rel=\"isMailto(link) || isTel(link) ? null : 'noopener noreferrer'\"\n >\n {{ item.text }}\n <OutboundLink/>\n </a>\n</template>\n\n<script>\nimport { isExternal, isMailto, isTel, ensureExt } from './util'\n\nexport default {\n props: {\n item: {\n required: true\n }\n },\n\n computed: {\n link () {\n return ensureExt(this.item.link)\n },\n\n exact () {\n if (this.$site.locales) {\n return Object.keys(this.$site.locales).some(rootLink => rootLink === this.link)\n }\n return this.link === '/'\n }\n },\n\n methods: {\n isExternal,\n isMailto,\n isTel\n }\n}\n</script>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/1cfd2111b1ddb135ffa972d081fa6c7a.json b/node_modules/vuepress/node_modules/.cache/vuepress/1cfd2111b1ddb135ffa972d081fa6c7a.json new file mode 100644 index 00000000..bad53210 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/1cfd2111b1ddb135ffa972d081fa6c7a.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport NavLink from './NavLink.vue'\n\nexport default {\n components: { NavLink },\n\n computed: {\n data () {\n return this.$page.frontmatter\n },\n\n actionLink () {\n return {\n link: this.data.actionLink,\n text: this.data.actionText\n }\n }\n }\n}\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/1d1d12f32198a5f154e9799dab2cc63c.json b/node_modules/vuepress/node_modules/.cache/vuepress/1d1d12f32198a5f154e9799dab2cc63c.json new file mode 100644 index 00000000..7aac1317 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/1d1d12f32198a5f154e9799dab2cc63c.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/Badge.vue?vue&type=style&index=0&id=23988dc6&lang=stylus&scoped=true&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/Badge.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import '../../default-theme/styles/config.styl'\n\n.badge\n display inline-block\n font-size 14px\n height 18px\n line-height 18px\n border-radius 3px\n padding 0 6px\n color white\n margin-right 5px\n background-color #42b983\n &.middle\n vertical-align middle\n &.top\n vertical-align top\n &.tip, &.green\n background-color #42b983\n &.error\n background-color #DA5961 //#f66\n &.warning, &.warn, &.yellow\n background-color darken(#ffe564, 35%)\n",{"version":3,"sources":["Badge.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAuBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"Badge.vue","sourceRoot":"node_modules/vuepress/lib/app/components","sourcesContent":["<script>\nexport default {\n functional: true,\n props: {\n type: {\n type: String,\n default: 'tip'\n },\n text: String,\n vertical: {\n type: String,\n default: 'top'\n }\n },\n render (h, { props, slots }) {\n return h('span', {\n class: ['badge', props.type, props.vertical]\n }, props.text || slots().default)\n }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n@import '../../default-theme/styles/config.styl'\n\n.badge\n display inline-block\n font-size 14px\n height 18px\n line-height 18px\n border-radius 3px\n padding 0 6px\n color white\n margin-right 5px\n background-color #42b983\n &.middle\n vertical-align middle\n &.top\n vertical-align top\n &.tip, &.green\n background-color #42b983\n &.error\n background-color #DA5961 //#f66\n &.warning, &.warn, &.yellow\n background-color darken(#ffe564, 35%)\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/1d8d5ccc47b20568f1dcd766abd64e7f.json b/node_modules/vuepress/node_modules/.cache/vuepress/1d8d5ccc47b20568f1dcd766abd64e7f.json new file mode 100644 index 00000000..8e91be26 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/1d8d5ccc47b20568f1dcd766abd64e7f.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/manual/index.md?vue&type=template&id=6a456338&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/manual/index.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_c('h1',{attrs:{\"id\":\"manual\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#manual\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Manual\")]),_vm._v(\" \"),_c('p',[_vm._v(\"[TODO]\")])])}]\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/1d91bce0031049067bf3460b5d45a081.json b/node_modules/vuepress/node_modules/.cache/vuepress/1d91bce0031049067bf3460b5d45a081.json new file mode 100644 index 00000000..01f8df19 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/1d91bce0031049067bf3460b5d45a081.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport DropdownLink from './DropdownLink.vue'\nimport { resolveNavLinkItem } from './util'\nimport NavLink from './NavLink.vue'\n\nexport default {\n components: { NavLink, DropdownLink },\n\n computed: {\n userNav () {\n return this.$themeLocaleConfig.nav || this.$site.themeConfig.nav || []\n },\n\n nav () {\n const { locales } = this.$site\n if (locales && Object.keys(locales).length > 1) {\n const currentLink = this.$page.path\n const routes = this.$router.options.routes\n const themeLocales = this.$site.themeConfig.locales || {}\n const languageDropdown = {\n text: this.$themeLocaleConfig.selectText || 'Languages',\n items: Object.keys(locales).map(path => {\n const locale = locales[path]\n const text = themeLocales[path] && themeLocales[path].label || locale.lang\n let link\n // Stay on the current page\n if (locale.lang === this.$lang) {\n link = currentLink\n } else {\n // Try to stay on the same page\n link = currentLink.replace(this.$localeConfig.path, path)\n // fallback to homepage\n if (!routes.some(route => route.path === link)) {\n link = path\n }\n }\n return { text, link }\n })\n }\n return [...this.userNav, languageDropdown]\n }\n return this.userNav\n },\n\n userLinks () {\n return (this.nav || []).map(link => {\n return Object.assign(resolveNavLinkItem(link), {\n items: (link.items || []).map(resolveNavLinkItem)\n })\n })\n },\n\n repoLink () {\n const { repo } = this.$site.themeConfig\n if (repo) {\n return /^https?:/.test(repo)\n ? repo\n : `https://github.com/${repo}`\n }\n },\n\n repoLabel () {\n if (!this.repoLink) return\n if (this.$site.themeConfig.repoLabel) {\n return this.$site.themeConfig.repoLabel\n }\n\n const repoHost = this.repoLink.match(/^https?:\\/\\/[^/]+/)[0]\n const platforms = ['GitHub', 'GitLab', 'Bitbucket']\n for (let i = 0; i < platforms.length; i++) {\n const platform = platforms[i]\n if (new RegExp(platform, 'i').test(repoHost)) {\n return platform\n }\n }\n\n return 'Source'\n }\n }\n}\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/1dcafec64cdec528815ed11342259f5b.json b/node_modules/vuepress/node_modules/.cache/vuepress/1dcafec64cdec528815ed11342259f5b.json new file mode 100644 index 00000000..898680a2 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/1dcafec64cdec528815ed11342259f5b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/README.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/README.md","mtime":1534123204890},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./README.md?vue&type=template&id=1a7dd7a6&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('1a7dd7a6', component.options)\n } else {\n api.reload('1a7dd7a6', component.options)\n }\n module.hot.accept(\"./README.md?vue&type=template&id=1a7dd7a6&\", function () {\n api.rerender('1a7dd7a6', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"docs/guide/README.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/1e56c675ca48f72c52a719d6072592ee.json b/node_modules/vuepress/node_modules/.cache/vuepress/1e56c675ca48f72c52a719d6072592ee.json new file mode 100644 index 00000000..a2645be2 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/1e56c675ca48f72c52a719d6072592ee.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport SidebarButton from './SidebarButton.vue';\nimport AlgoliaSearchBox from '@AlgoliaSearchBox';\nimport SearchBox from './SearchBox.vue';\nimport NavLinks from './NavLinks.vue';\nexport default {\n components: {\n SidebarButton: SidebarButton,\n NavLinks: NavLinks,\n SearchBox: SearchBox,\n AlgoliaSearchBox: AlgoliaSearchBox\n },\n data: function data() {\n return {\n linksWrapMaxWidth: null\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n var MOBILE_DESKTOP_BREAKPOINT = 719; // refer to config.styl\n\n var NAVBAR_VERTICAL_PADDING = parseInt(css(this.$el, 'paddingLeft')) + parseInt(css(this.$el, 'paddingRight'));\n\n var handleLinksWrapWidth = function handleLinksWrapWidth() {\n if (document.documentElement.clientWidth < MOBILE_DESKTOP_BREAKPOINT) {\n _this.linksWrapMaxWidth = null;\n } else {\n _this.linksWrapMaxWidth = _this.$el.offsetWidth - NAVBAR_VERTICAL_PADDING - (_this.$refs.siteName && _this.$refs.siteName.offsetWidth || 0);\n }\n };\n\n handleLinksWrapWidth();\n window.addEventListener('resize', handleLinksWrapWidth, false);\n },\n computed: {\n algolia: function algolia() {\n return this.$themeLocaleConfig.algolia || this.$site.themeConfig.algolia || {};\n },\n isAlgoliaSearch: function isAlgoliaSearch() {\n return this.algolia && this.algolia.apiKey && this.algolia.indexName;\n }\n }\n};\n\nfunction css(el, property) {\n // NOTE: Known bug, will return 'auto' if style value is 'auto'\n var win = el.ownerDocument.defaultView; // null means not to return pseudo styles\n\n return win.getComputedStyle(el, null)[property];\n}",{"version":3,"sources":["Navbar.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA,OAAA,aAAA,MAAA,qBAAA;AACA,OAAA,gBAAA,MAAA,mBAAA;AACA,OAAA,SAAA,MAAA,iBAAA;AACA,OAAA,QAAA,MAAA,gBAAA;AAEA,eAAA;AACA,cAAA;AAAA,gCAAA;AAAA,sBAAA;AAAA,wBAAA;AAAA;AAAA,GADA;AAGA,MAHA,kBAGA;AACA,WAAA;AACA,yBAAA;AADA,KAAA;AAGA,GAPA;AASA,SATA,qBASA;AAAA;;AACA,QAAA,4BAAA,GAAA,CADA,CACA;;AACA,QAAA,0BAAA,SAAA,IAAA,KAAA,GAAA,EAAA,aAAA,CAAA,IAAA,SAAA,IAAA,KAAA,GAAA,EAAA,cAAA,CAAA,CAAA;;AACA,QAAA,uBAAA,SAAA,oBAAA,GAAA;AACA,UAAA,SAAA,eAAA,CAAA,WAAA,GAAA,yBAAA,EAAA;AACA,cAAA,iBAAA,GAAA,IAAA;AACA,OAFA,MAEA;AACA,cAAA,iBAAA,GAAA,MAAA,GAAA,CAAA,WAAA,GAAA,uBAAA,IACA,MAAA,KAAA,CAAA,QAAA,IAAA,MAAA,KAAA,CAAA,QAAA,CAAA,WAAA,IAAA,CADA,CAAA;AAEA;AACA,KAPA;;AAQA;AACA,WAAA,gBAAA,CAAA,QAAA,EAAA,oBAAA,EAAA,KAAA;AACA,GAtBA;AAwBA,YAAA;AACA,WADA,qBACA;AACA,aAAA,KAAA,kBAAA,CAAA,OAAA,IAAA,KAAA,KAAA,CAAA,WAAA,CAAA,OAAA,IAAA,EAAA;AACA,KAHA;AAKA,mBALA,6BAKA;AACA,aAAA,KAAA,OAAA,IAAA,KAAA,OAAA,CAAA,MAAA,IAAA,KAAA,OAAA,CAAA,SAAA;AACA;AAPA;AAxBA,CAAA;;AAmCA,SAAA,GAAA,CAAA,EAAA,EAAA,QAAA,EAAA;AACA;AACA,MAAA,MAAA,GAAA,aAAA,CAAA,WAAA,CAFA,CAGA;;AACA,SAAA,IAAA,gBAAA,CAAA,EAAA,EAAA,IAAA,EAAA,QAAA,CAAA;AACA","sourcesContent":["<template>\n <header class=\"navbar\">\n <SidebarButton @toggle-sidebar=\"$emit('toggle-sidebar')\"/>\n\n <router-link\n :to=\"$localePath\"\n class=\"home-link\"\n >\n <img\n class=\"logo\"\n v-if=\"$site.themeConfig.logo\"\n :src=\"$withBase($site.themeConfig.logo)\"\n :alt=\"$siteTitle\"\n >\n <span\n ref=\"siteName\"\n class=\"site-name\"\n v-if=\"$siteTitle\"\n :class=\"{ 'can-hide': $site.themeConfig.logo }\"\n >{{ $siteTitle }}</span>\n </router-link>\n\n <div\n class=\"links\"\n :style=\"{\n 'max-width': linksWrapMaxWidth + 'px'\n }\"\n >\n <AlgoliaSearchBox\n v-if=\"isAlgoliaSearch\"\n :options=\"algolia\"\n />\n <SearchBox v-else-if=\"$site.themeConfig.search !== false\"/>\n <NavLinks class=\"can-hide\"/>\n </div>\n </header>\n</template>\n\n<script>\nimport SidebarButton from './SidebarButton.vue'\nimport AlgoliaSearchBox from '@AlgoliaSearchBox'\nimport SearchBox from './SearchBox.vue'\nimport NavLinks from './NavLinks.vue'\n\nexport default {\n components: { SidebarButton, NavLinks, SearchBox, AlgoliaSearchBox },\n\n data () {\n return {\n linksWrapMaxWidth: null\n }\n },\n\n mounted () {\n const MOBILE_DESKTOP_BREAKPOINT = 719 // refer to config.styl\n const NAVBAR_VERTICAL_PADDING = parseInt(css(this.$el, 'paddingLeft')) + parseInt(css(this.$el, 'paddingRight'))\n const handleLinksWrapWidth = () => {\n if (document.documentElement.clientWidth < MOBILE_DESKTOP_BREAKPOINT) {\n this.linksWrapMaxWidth = null\n } else {\n this.linksWrapMaxWidth = this.$el.offsetWidth - NAVBAR_VERTICAL_PADDING -\n (this.$refs.siteName && this.$refs.siteName.offsetWidth || 0)\n }\n }\n handleLinksWrapWidth()\n window.addEventListener('resize', handleLinksWrapWidth, false)\n },\n\n computed: {\n algolia () {\n return this.$themeLocaleConfig.algolia || this.$site.themeConfig.algolia || {}\n },\n\n isAlgoliaSearch () {\n return this.algolia && this.algolia.apiKey && this.algolia.indexName\n }\n }\n}\n\nfunction css (el, property) {\n // NOTE: Known bug, will return 'auto' if style value is 'auto'\n const win = el.ownerDocument.defaultView\n // null means not to return pseudo styles\n return win.getComputedStyle(el, null)[property]\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n$navbar-vertical-padding = 0.7rem\n$navbar-horizontal-padding = 1.5rem\n\n.navbar\n padding $navbar-vertical-padding $navbar-horizontal-padding\n line-height $navbarHeight - 1.4rem\n position relative\n a, span, img\n display inline-block\n .logo\n height $navbarHeight - 1.4rem\n min-width $navbarHeight - 1.4rem\n margin-right 0.8rem\n vertical-align top\n .site-name\n font-size 1.3rem\n font-weight 600\n color $textColor\n position relative\n .links\n padding-left 1.5rem\n box-sizing border-box\n background-color white\n white-space nowrap\n font-size 0.9rem\n position absolute\n right $navbar-horizontal-padding\n top $navbar-vertical-padding\n display flex\n .search-box\n flex: 0 0 auto\n vertical-align top\n .nav-links\n flex 1\n\n@media (max-width: $MQMobile)\n .navbar\n padding-left 4rem\n .can-hide\n display none\n .links\n padding-left 1.5rem\n</style>\n"],"sourceRoot":"node_modules/vuepress/lib/default-theme"}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/1e74c86b76638fd020d87a9afb381c44.json b/node_modules/vuepress/node_modules/.cache/vuepress/1e74c86b76638fd020d87a9afb381c44.json new file mode 100644 index 00000000..0b6d4e71 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/1e74c86b76638fd020d87a9afb381c44.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/introduction.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/introduction.md","mtime":1541488030814},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./introduction.md?vue&type=template&id=6b40630c&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('6b40630c', component.options)\n } else {\n api.reload('6b40630c', component.options)\n }\n module.hot.accept(\"./introduction.md?vue&type=template&id=6b40630c&\", function () {\n api.rerender('6b40630c', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"docs/guide/introduction.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/1e885311b510306c13d4e2dbbabdcad7.json b/node_modules/vuepress/node_modules/.cache/vuepress/1e885311b510306c13d4e2dbbabdcad7.json new file mode 100644 index 00000000..0f3c9b7b --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/1e885311b510306c13d4e2dbbabdcad7.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport DropdownLink from './DropdownLink.vue'\nimport { resolveNavLinkItem } from './util'\nimport NavLink from './NavLink.vue'\n\nexport default {\n components: { NavLink, DropdownLink },\n\n computed: {\n userNav () {\n return this.$themeLocaleConfig.nav || this.$site.themeConfig.nav || []\n },\n\n nav () {\n const { locales } = this.$site\n if (locales && Object.keys(locales).length > 1) {\n const currentLink = this.$page.path\n const routes = this.$router.options.routes\n const themeLocales = this.$site.themeConfig.locales || {}\n const languageDropdown = {\n text: this.$themeLocaleConfig.selectText || 'Languages',\n items: Object.keys(locales).map(path => {\n const locale = locales[path]\n const text = themeLocales[path] && themeLocales[path].label || locale.lang\n let link\n // Stay on the current page\n if (locale.lang === this.$lang) {\n link = currentLink\n } else {\n // Try to stay on the same page\n link = currentLink.replace(this.$localeConfig.path, path)\n // fallback to homepage\n if (!routes.some(route => route.path === link)) {\n link = path\n }\n }\n return { text, link }\n })\n }\n return [...this.userNav, languageDropdown]\n }\n return this.userNav\n },\n\n userLinks () {\n return (this.nav || []).map(link => {\n return Object.assign(resolveNavLinkItem(link), {\n items: (link.items || []).map(resolveNavLinkItem)\n })\n })\n },\n\n repoLink () {\n const { repo } = this.$site.themeConfig\n if (repo) {\n return /^https?:/.test(repo)\n ? repo\n : `https://github.com/${repo}`\n }\n },\n\n repoLabel () {\n if (!this.repoLink) return\n if (this.$site.themeConfig.repoLabel) {\n return this.$site.themeConfig.repoLabel\n }\n\n const repoHost = this.repoLink.match(/^https?:\\/\\/[^/]+/)[0]\n const platforms = ['GitHub', 'GitLab', 'Bitbucket']\n for (let i = 0; i < platforms.length; i++) {\n const platform = platforms[i]\n if (new RegExp(platform, 'i').test(repoHost)) {\n return platform\n }\n }\n\n return 'Source'\n }\n }\n}\n",{"version":3,"sources":["NavLinks.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA","file":"NavLinks.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <nav\n class=\"nav-links\"\n v-if=\"userLinks.length || repoLink\"\n >\n <!-- user links -->\n <div\n class=\"nav-item\"\n v-for=\"item in userLinks\"\n :key=\"item.link\"\n >\n <DropdownLink\n v-if=\"item.type === 'links'\"\n :item=\"item\"\n />\n <NavLink\n v-else\n :item=\"item\"\n />\n </div>\n\n <!-- repo link -->\n <a\n v-if=\"repoLink\"\n :href=\"repoLink\"\n class=\"repo-link\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {{ repoLabel }}\n <OutboundLink/>\n </a>\n </nav>\n</template>\n\n<script>\nimport DropdownLink from './DropdownLink.vue'\nimport { resolveNavLinkItem } from './util'\nimport NavLink from './NavLink.vue'\n\nexport default {\n components: { NavLink, DropdownLink },\n\n computed: {\n userNav () {\n return this.$themeLocaleConfig.nav || this.$site.themeConfig.nav || []\n },\n\n nav () {\n const { locales } = this.$site\n if (locales && Object.keys(locales).length > 1) {\n const currentLink = this.$page.path\n const routes = this.$router.options.routes\n const themeLocales = this.$site.themeConfig.locales || {}\n const languageDropdown = {\n text: this.$themeLocaleConfig.selectText || 'Languages',\n items: Object.keys(locales).map(path => {\n const locale = locales[path]\n const text = themeLocales[path] && themeLocales[path].label || locale.lang\n let link\n // Stay on the current page\n if (locale.lang === this.$lang) {\n link = currentLink\n } else {\n // Try to stay on the same page\n link = currentLink.replace(this.$localeConfig.path, path)\n // fallback to homepage\n if (!routes.some(route => route.path === link)) {\n link = path\n }\n }\n return { text, link }\n })\n }\n return [...this.userNav, languageDropdown]\n }\n return this.userNav\n },\n\n userLinks () {\n return (this.nav || []).map(link => {\n return Object.assign(resolveNavLinkItem(link), {\n items: (link.items || []).map(resolveNavLinkItem)\n })\n })\n },\n\n repoLink () {\n const { repo } = this.$site.themeConfig\n if (repo) {\n return /^https?:/.test(repo)\n ? repo\n : `https://github.com/${repo}`\n }\n },\n\n repoLabel () {\n if (!this.repoLink) return\n if (this.$site.themeConfig.repoLabel) {\n return this.$site.themeConfig.repoLabel\n }\n\n const repoHost = this.repoLink.match(/^https?:\\/\\/[^/]+/)[0]\n const platforms = ['GitHub', 'GitLab', 'Bitbucket']\n for (let i = 0; i < platforms.length; i++) {\n const platform = platforms[i]\n if (new RegExp(platform, 'i').test(repoHost)) {\n return platform\n }\n }\n\n return 'Source'\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.nav-links\n display inline-block\n a\n line-height 1.4rem\n color inherit\n &:hover, &.router-link-active\n color $accentColor\n .nav-item\n position relative\n display inline-block\n margin-left 1.5rem\n line-height 2rem\n &:first-child\n margin-left 0\n .repo-link\n margin-left 1.5rem\n\n@media (max-width: $MQMobile)\n .nav-links\n .nav-item, .repo-link\n margin-left 0\n\n@media (min-width: $MQMobile)\n .nav-links a\n &:hover, &.router-link-active\n color $textColor\n .nav-item > a:not(.external)\n &:hover, &.router-link-active\n margin-bottom -2px\n border-bottom 2px solid lighten($accentColor, 8%)\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/1f5e0f957bd052075d049ad17be7b023.json b/node_modules/vuepress/node_modules/.cache/vuepress/1f5e0f957bd052075d049ad17be7b023.json new file mode 100644 index 00000000..4c7714c2 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/1f5e0f957bd052075d049ad17be7b023.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/getting-started.md?vue&type=template&id=09de92a0&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/getting-started.md","mtime":1541488106036},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._ssrNode(\"<h1 id=\\\"getting-started\\\"><a href=\\\"#getting-started\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Getting Started</h1> \"),_vm._ssrNode(\"<p>\",\"</p>\",[_vm._ssrNode(\"Please install xmake first: \"),_vm._ssrNode(\"<a href=\\\"https://github.com/tboox/xmake\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"xmake\"),_c('OutboundLink')],2)],2),_vm._ssrNode(\" <div class=\\\"language-console extra-class\\\"><pre class=\\\"language-text\\\"><code># build for the host platform\\n$ cd ./tbox\\n$ xmake\\n\\n# build for the mingw platform\\n$ cd ./tbox\\n$ xmake f -p mingw --sdk=/home/mingwsdk \\n$ xmake\\n\\n# build for the iphoneos platform\\n$ cd ./tbox\\n$ xmake f -p iphoneos \\n$ xmake\\n\\n# build for the android platform\\n$ cd ./tbox\\n$ xmake f -p android --ndk=xxxxx\\n$ xmake\\n\\n# build for the linux cross-platform\\n$ cd ./tbox\\n$ xmake f -p linux --sdk=/home/sdk # --bin=/home/sdk/bin\\n$ xmake\\n</code></pre></div><h2 id=\\\"example\\\"><a href=\\\"#example\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Example</h2> <div class=\\\"language-c extra-class\\\"><pre class=\\\"language-c\\\"><code><span class=\\\"token macro property\\\">#<span class=\\\"token directive keyword\\\">include</span> <span class=\\\"token string\\\">"tbox/tbox.h"</span></span>\\n\\n<span class=\\\"token keyword\\\">int</span> <span class=\\\"token function\\\">main</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token keyword\\\">int</span> argc<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token keyword\\\">char</span><span class=\\\"token operator\\\">*</span><span class=\\\"token operator\\\">*</span> argv<span class=\\\"token punctuation\\\">)</span>\\n<span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// init tbox</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span><span class=\\\"token operator\\\">!</span><span class=\\\"token function\\\">tb_init</span><span class=\\\"token punctuation\\\">(</span>tb_null<span class=\\\"token punctuation\\\">,</span> tb_null<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span> <span class=\\\"token keyword\\\">return</span> <span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// trace</span>\\n <span class=\\\"token function\\\">tb_trace_i</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token string\\\">"hello tbox"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// init vector</span>\\n tb_vector_ref_t vector <span class=\\\"token operator\\\">=</span> <span class=\\\"token function\\\">tb_vector_init</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">,</span> <span class=\\\"token function\\\">tb_element_cstr</span><span class=\\\"token punctuation\\\">(</span>tb_true<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// insert item</span>\\n <span class=\\\"token function\\\">tb_vector_insert_tail</span><span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token string\\\">"hello"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token function\\\">tb_vector_insert_tail</span><span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token string\\\">"tbox"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// dump all items</span>\\n tb_for_all <span class=\\\"token punctuation\\\">(</span>tb_char_t <span class=\\\"token keyword\\\">const</span><span class=\\\"token operator\\\">*</span><span class=\\\"token punctuation\\\">,</span> cstr<span class=\\\"token punctuation\\\">,</span> vector<span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// trace</span>\\n <span class=\\\"token function\\\">tb_trace_i</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token string\\\">"%s"</span><span class=\\\"token punctuation\\\">,</span> cstr<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n\\n <span class=\\\"token comment\\\">// exit vector</span>\\n <span class=\\\"token function\\\">tb_vector_exit</span><span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n\\n <span class=\\\"token comment\\\">// init stream</span>\\n tb_stream_ref_t stream <span class=\\\"token operator\\\">=</span> <span class=\\\"token function\\\">tb_stream_init_from_url</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token string\\\">"http://www.xxx.com/file.txt"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span>stream<span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// open stream</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span><span class=\\\"token function\\\">tb_stream_open</span><span class=\\\"token punctuation\\\">(</span>stream<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// read line</span>\\n tb_long_t size <span class=\\\"token operator\\\">=</span> <span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">;</span>\\n tb_char_t line<span class=\\\"token punctuation\\\">[</span>TB_STREAM_BLOCK_MAXN<span class=\\\"token punctuation\\\">]</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token keyword\\\">while</span> <span class=\\\"token punctuation\\\">(</span><span class=\\\"token punctuation\\\">(</span>size <span class=\\\"token operator\\\">=</span> <span class=\\\"token function\\\">tb_stream_bread_line</span><span class=\\\"token punctuation\\\">(</span>stream<span class=\\\"token punctuation\\\">,</span> line<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token keyword\\\">sizeof</span><span class=\\\"token punctuation\\\">(</span>line<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span> <span class=\\\"token operator\\\">>=</span> <span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// trace</span>\\n <span class=\\\"token function\\\">tb_trace_i</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token string\\\">"line: %s"</span><span class=\\\"token punctuation\\\">,</span> line<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n\\n <span class=\\\"token comment\\\">// exit stream</span>\\n <span class=\\\"token function\\\">tb_stream_exit</span><span class=\\\"token punctuation\\\">(</span>stream<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n\\n <span class=\\\"token comment\\\">// wait </span>\\n <span class=\\\"token function\\\">getchar</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// exit tbox</span>\\n <span class=\\\"token function\\\">tb_exit</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token keyword\\\">return</span> <span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">;</span>\\n<span class=\\\"token punctuation\\\">}</span>\\n</code></pre></div>\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/1fdbd582720bdd333b66373abde6d438.json b/node_modules/vuepress/node_modules/.cache/vuepress/1fdbd582720bdd333b66373abde6d438.json new file mode 100644 index 00000000..f41dccdb --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/1fdbd582720bdd333b66373abde6d438.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/README.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/README.md","mtime":1541513030109},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./README.md?vue&type=template&id=0a27dc62&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n \"1e625d35\"\n \n)\n\ncomponent.options.__file = \"README.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/1ff7651dc0350a561be180085b8f7acb.json b/node_modules/vuepress/node_modules/.cache/vuepress/1ff7651dc0350a561be180085b8f7acb.json new file mode 100644 index 00000000..ea87e741 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/1ff7651dc0350a561be180085b8f7acb.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/dataMixin.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/dataMixin.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import \"core-js/modules/es6.object.freeze\";\nimport \"core-js/modules/es6.array.iterator\";\nimport \"core-js/modules/es6.object.keys\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.function.name\";\nimport \"core-js/modules/es6.array.filter\";\nimport \"core-js/modules/es6.array.index-of\";\nimport Vue from 'vue';\nimport { findPageForPath } from './util';\nexport default function dataMixin(siteData) {\n prepare(siteData);\n var store = new Vue({\n data: {\n siteData: siteData\n }\n });\n\n if (module.hot) {\n module.hot.accept('./.temp/siteData', function () {\n prepare(siteData);\n store.siteData = siteData;\n });\n }\n\n return {\n computed: {\n $site: function $site() {\n return store.siteData;\n },\n $localeConfig: function $localeConfig() {\n var _this$$site$locales = this.$site.locales,\n locales = _this$$site$locales === void 0 ? {} : _this$$site$locales;\n var targetLang;\n var defaultLang;\n\n for (var path in locales) {\n if (path === '/') {\n defaultLang = locales[path];\n } else if (this.$page.path.indexOf(path) === 0) {\n targetLang = locales[path];\n }\n }\n\n return targetLang || defaultLang || {};\n },\n $siteTitle: function $siteTitle() {\n return this.$localeConfig.title || this.$site.title || '';\n },\n $title: function $title() {\n var page = this.$page;\n var siteTitle = this.$siteTitle;\n var selfTitle = page.frontmatter.home ? null : page.frontmatter.title || // explicit title\n page.title // inferred title\n ;\n return siteTitle ? selfTitle ? selfTitle + ' | ' + siteTitle : siteTitle : selfTitle || 'VuePress';\n },\n $description: function $description() {\n // #565 hoist description from meta\n if (this.$page.frontmatter.meta) {\n var descriptionMeta = this.$page.frontmatter.meta.filter(function (item) {\n return item.name === 'description';\n })[0];\n if (descriptionMeta) return descriptionMeta.content;\n }\n\n return this.$page.frontmatter.description || this.$localeConfig.description || this.$site.description || '';\n },\n $lang: function $lang() {\n return this.$page.frontmatter.lang || this.$localeConfig.lang || 'en-US';\n },\n $localePath: function $localePath() {\n return this.$localeConfig.path || '/';\n },\n $themeLocaleConfig: function $themeLocaleConfig() {\n return (this.$site.themeConfig.locales || {})[this.$localePath] || {};\n },\n $page: function $page() {\n return findPageForPath(this.$site.pages, this.$route.path);\n }\n }\n };\n}\n\nfunction prepare(siteData) {\n siteData.pages.forEach(function (page) {\n if (!page.frontmatter) {\n page.frontmatter = {};\n }\n });\n\n if (siteData.locales) {\n Object.keys(siteData.locales).forEach(function (path) {\n siteData.locales[path].path = path;\n });\n }\n\n Object.freeze(siteData);\n}",{"version":3,"sources":["node_modules/vuepress/lib/app/dataMixin.js"],"names":["Vue","findPageForPath","dataMixin","siteData","prepare","store","data","module","hot","accept","computed","$site","$localeConfig","locales","targetLang","defaultLang","path","$page","indexOf","$siteTitle","title","$title","page","siteTitle","selfTitle","frontmatter","home","$description","meta","descriptionMeta","filter","item","name","content","description","$lang","lang","$localePath","$themeLocaleConfig","themeConfig","pages","$route","forEach","Object","keys","freeze"],"mappings":";;;;;;;;AAAA,OAAOA,GAAP,MAAgB,KAAhB;AACA,SAASC,eAAT,QAAgC,QAAhC;AAEA,eAAe,SAASC,SAAT,CAAoBC,QAApB,EAA8B;AAC3CC,UAAQD,QAAR;AACA,MAAME,QAAQ,IAAIL,GAAJ,CAAQ;AACpBM,UAAM;AAAEH;AAAF;AADc,GAAR,CAAd;;AAIA,MAAII,OAAOC,GAAX,EAAgB;AACdD,WAAOC,GAAP,CAAWC,MAAX,CAAkB,kBAAlB,EAAsC,YAAM;AAC1CL,cAAQD,QAAR;AACAE,YAAMF,QAAN,GAAiBA,QAAjB;AACD,KAHD;AAID;;AAED,SAAO;AACLO,cAAU;AACRC,WADQ,mBACC;AACP,eAAON,MAAMF,QAAb;AACD,OAHO;AAIRS,mBAJQ,2BAIS;AAAA,kCACS,KAAKD,KADd,CACPE,OADO;AAAA,YACPA,OADO,oCACG,EADH;AAEf,YAAIC,UAAJ;AACA,YAAIC,WAAJ;;AACA,aAAK,IAAMC,IAAX,IAAmBH,OAAnB,EAA4B;AAC1B,cAAIG,SAAS,GAAb,EAAkB;AAChBD,0BAAcF,QAAQG,IAAR,CAAd;AACD,WAFD,MAEO,IAAI,KAAKC,KAAL,CAAWD,IAAX,CAAgBE,OAAhB,CAAwBF,IAAxB,MAAkC,CAAtC,EAAyC;AAC9CF,yBAAaD,QAAQG,IAAR,CAAb;AACD;AACF;;AACD,eAAOF,cAAcC,WAAd,IAA6B,EAApC;AACD,OAhBO;AAiBRI,gBAjBQ,wBAiBM;AACZ,eAAO,KAAKP,aAAL,CAAmBQ,KAAnB,IAA4B,KAAKT,KAAL,CAAWS,KAAvC,IAAgD,EAAvD;AACD,OAnBO;AAoBRC,YApBQ,oBAoBE;AACR,YAAMC,OAAO,KAAKL,KAAlB;AACA,YAAMM,YAAY,KAAKJ,UAAvB;AACA,YAAMK,YAAYF,KAAKG,WAAL,CAAiBC,IAAjB,GAAwB,IAAxB,GAChBJ,KAAKG,WAAL,CAAiBL,KAAjB,IAA0B;AAC1BE,aAAKF,KAFW,CAEL;AAFb;AAIA,eAAOG,YACHC,YACGA,YAAY,KAAZ,GAAoBD,SADvB,GAEEA,SAHC,GAIHC,aAAa,UAJjB;AAKD,OAhCO;AAiCRG,kBAjCQ,0BAiCQ;AACd;AACA,YAAI,KAAKV,KAAL,CAAWQ,WAAX,CAAuBG,IAA3B,EAAiC;AAC/B,cAAMC,kBAAkB,KAAKZ,KAAL,CAAWQ,WAAX,CAAuBG,IAAvB,CAA4BE,MAA5B,CAAmC;AAAA,mBAAQC,KAAKC,IAAL,KAAc,aAAtB;AAAA,WAAnC,EAAwE,CAAxE,CAAxB;AACA,cAAIH,eAAJ,EAAqB,OAAOA,gBAAgBI,OAAvB;AACtB;;AACD,eAAO,KAAKhB,KAAL,CAAWQ,WAAX,CAAuBS,WAAvB,IAAsC,KAAKtB,aAAL,CAAmBsB,WAAzD,IAAwE,KAAKvB,KAAL,CAAWuB,WAAnF,IAAkG,EAAzG;AACD,OAxCO;AAyCRC,WAzCQ,mBAyCC;AACP,eAAO,KAAKlB,KAAL,CAAWQ,WAAX,CAAuBW,IAAvB,IAA+B,KAAKxB,aAAL,CAAmBwB,IAAlD,IAA0D,OAAjE;AACD,OA3CO;AA4CRC,iBA5CQ,yBA4CO;AACb,eAAO,KAAKzB,aAAL,CAAmBI,IAAnB,IAA2B,GAAlC;AACD,OA9CO;AA+CRsB,wBA/CQ,gCA+Cc;AACpB,eAAO,CAAC,KAAK3B,KAAL,CAAW4B,WAAX,CAAuB1B,OAAvB,IAAkC,EAAnC,EAAuC,KAAKwB,WAA5C,KAA4D,EAAnE;AACD,OAjDO;AAkDRpB,WAlDQ,mBAkDC;AACP,eAAOhB,gBACL,KAAKU,KAAL,CAAW6B,KADN,EAEL,KAAKC,MAAL,CAAYzB,IAFP,CAAP;AAID;AAvDO;AADL,GAAP;AA2DD;;AAED,SAASZ,OAAT,CAAkBD,QAAlB,EAA4B;AAC1BA,WAASqC,KAAT,CAAeE,OAAf,CAAuB,gBAAQ;AAC7B,QAAI,CAACpB,KAAKG,WAAV,EAAuB;AACrBH,WAAKG,WAAL,GAAmB,EAAnB;AACD;AACF,GAJD;;AAKA,MAAItB,SAASU,OAAb,EAAsB;AACpB8B,WAAOC,IAAP,CAAYzC,SAASU,OAArB,EAA8B6B,OAA9B,CAAsC,gBAAQ;AAC5CvC,eAASU,OAAT,CAAiBG,IAAjB,EAAuBA,IAAvB,GAA8BA,IAA9B;AACD,KAFD;AAGD;;AACD2B,SAAOE,MAAP,CAAc1C,QAAd;AACD","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["import Vue from 'vue'\nimport { findPageForPath } from './util'\n\nexport default function dataMixin (siteData) {\n prepare(siteData)\n const store = new Vue({\n data: { siteData }\n })\n\n if (module.hot) {\n module.hot.accept('./.temp/siteData', () => {\n prepare(siteData)\n store.siteData = siteData\n })\n }\n\n return {\n computed: {\n $site () {\n return store.siteData\n },\n $localeConfig () {\n const { locales = {}} = this.$site\n let targetLang\n let defaultLang\n for (const path in locales) {\n if (path === '/') {\n defaultLang = locales[path]\n } else if (this.$page.path.indexOf(path) === 0) {\n targetLang = locales[path]\n }\n }\n return targetLang || defaultLang || {}\n },\n $siteTitle () {\n return this.$localeConfig.title || this.$site.title || ''\n },\n $title () {\n const page = this.$page\n const siteTitle = this.$siteTitle\n const selfTitle = page.frontmatter.home ? null : (\n page.frontmatter.title || // explicit title\n page.title // inferred title\n )\n return siteTitle\n ? selfTitle\n ? (selfTitle + ' | ' + siteTitle)\n : siteTitle\n : selfTitle || 'VuePress'\n },\n $description () {\n // #565 hoist description from meta\n if (this.$page.frontmatter.meta) {\n const descriptionMeta = this.$page.frontmatter.meta.filter(item => item.name === 'description')[0]\n if (descriptionMeta) return descriptionMeta.content\n }\n return this.$page.frontmatter.description || this.$localeConfig.description || this.$site.description || ''\n },\n $lang () {\n return this.$page.frontmatter.lang || this.$localeConfig.lang || 'en-US'\n },\n $localePath () {\n return this.$localeConfig.path || '/'\n },\n $themeLocaleConfig () {\n return (this.$site.themeConfig.locales || {})[this.$localePath] || {}\n },\n $page () {\n return findPageForPath(\n this.$site.pages,\n this.$route.path\n )\n }\n }\n }\n}\n\nfunction prepare (siteData) {\n siteData.pages.forEach(page => {\n if (!page.frontmatter) {\n page.frontmatter = {}\n }\n })\n if (siteData.locales) {\n Object.keys(siteData.locales).forEach(path => {\n siteData.locales[path].path = path\n })\n }\n Object.freeze(siteData)\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/201d184fae499410f5da698c5f87442a.json b/node_modules/vuepress/node_modules/.cache/vuepress/201d184fae499410f5da698c5f87442a.json new file mode 100644 index 00000000..03588b9d --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/201d184fae499410f5da698c5f87442a.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue?vue&type=template&id=247476d6&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"sidebar\" },\n [\n _c(\"NavLinks\"),\n _vm._v(\" \"),\n _vm._t(\"top\"),\n _vm._v(\" \"),\n _vm.items.length\n ? _c(\n \"ul\",\n { staticClass: \"sidebar-links\" },\n _vm._l(_vm.items, function(item, i) {\n return _c(\n \"li\",\n { key: i },\n [\n item.type === \"group\"\n ? _c(\"SidebarGroup\", {\n attrs: {\n item: item,\n first: i === 0,\n open: i === _vm.openGroupIndex,\n collapsable: item.collapsable || item.collapsible\n },\n on: {\n toggle: function($event) {\n _vm.toggleGroup(i)\n }\n }\n })\n : _c(\"SidebarLink\", { attrs: { item: item } })\n ],\n 1\n )\n })\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm._t(\"bottom\")\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/204aded8bc00edd7f44e70f79c634d17.json b/node_modules/vuepress/node_modules/.cache/vuepress/204aded8bc00edd7f44e70f79c634d17.json new file mode 100644 index 00000000..9e12c937 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/204aded8bc00edd7f44e70f79c634d17.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/manual/introduction.md?vue&type=template&id=3bcc74a3&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/manual/introduction.md","mtime":1541555949495},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"title1\"><a class=\"header-anchor\" href=\"#title1\" aria-hidden=\"true\">#</a> Title1</h1>\n<p><div class=\"table-of-contents\"><ul><li><a href=\"#title2\">Title2</a><ul><li><a href=\"#title3\">Title3</a></li><li><a href=\"#title3\">Title3</a></li></ul></li><li><a href=\"#title2\">Title2</a><ul><li><a href=\"#title3\">Title3</a></li></ul></li></ul></div></p>\n<h2 id=\"title2\"><a class=\"header-anchor\" href=\"#title2\" aria-hidden=\"true\">#</a> Title2</h2>\n<h3 id=\"title3\"><a class=\"header-anchor\" href=\"#title3\" aria-hidden=\"true\">#</a> Title3</h3>\n<h4 id=\"title4\"><a class=\"header-anchor\" href=\"#title4\" aria-hidden=\"true\">#</a> Title4</h4>\n<h5 id=\"title5\"><a class=\"header-anchor\" href=\"#title5\" aria-hidden=\"true\">#</a> Title5</h5>\n<p>...</p>\n<h5 id=\"title5-2\"><a class=\"header-anchor\" href=\"#title5-2\" aria-hidden=\"true\">#</a> Title5</h5>\n<p>...</p>\n<h4 id=\"title4-2\"><a class=\"header-anchor\" href=\"#title4-2\" aria-hidden=\"true\">#</a> Title4</h4>\n<p>...</p>\n<h3 id=\"title3-2\"><a class=\"header-anchor\" href=\"#title3-2\" aria-hidden=\"true\">#</a> Title3</h3>\n<p>...</p>\n<h2 id=\"title2-2\"><a class=\"header-anchor\" href=\"#title2-2\" aria-hidden=\"true\">#</a> Title2</h2>\n<p>...</p>\n<h3 id=\"title3-3\"><a class=\"header-anchor\" href=\"#title3-3\" aria-hidden=\"true\">#</a> Title3</h3>\n<p>...</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/210f838a2e9a84a571f542404106da7f.json b/node_modules/vuepress/node_modules/.cache/vuepress/210f838a2e9a84a571f542404106da7f.json new file mode 100644 index 00000000..79c06251 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/210f838a2e9a84a571f542404106da7f.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/manual/index.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/manual/index.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./index.md?vue&type=template&id=6a456338&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"index.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/2183819fc479e4564caa5503c055c5a5.json b/node_modules/vuepress/node_modules/.cache/vuepress/2183819fc479e4564caa5503c055c5a5.json new file mode 100644 index 00000000..bbe76e67 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/2183819fc479e4564caa5503c055c5a5.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/api/introduction.md?vue&type=template&id=c004d6d6&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/api/introduction.md","mtime":1541569456015},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm._m(0)\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _c(\"h1\", { attrs: { id: \"title1\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title1\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title1\")\n ]),\n _vm._v(\" \"),\n _c(\"p\"),\n _c(\"div\", { staticClass: \"table-of-contents\" }, [\n _c(\"ul\", [\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title2\" } }, [_vm._v(\"Title2\")]),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title3\" } }, [_vm._v(\"Title3\")])\n ]),\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title3\" } }, [_vm._v(\"Title3\")])\n ])\n ])\n ]),\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title2\" } }, [_vm._v(\"Title2\")]),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title3\" } }, [_vm._v(\"Title3\")])\n ])\n ])\n ])\n ])\n ]),\n _c(\"p\"),\n _vm._v(\" \"),\n _c(\"h2\", { attrs: { id: \"title2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title2\")\n ]),\n _vm._v(\" \"),\n _c(\"h3\", { attrs: { id: \"title3\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title3\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title3\")\n ]),\n _vm._v(\" \"),\n _c(\"h4\", { attrs: { id: \"title4\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title4\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title4\")\n ]),\n _vm._v(\" \"),\n _c(\"h5\", { attrs: { id: \"title5\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title5\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title5\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h5\", { attrs: { id: \"title5-2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title5-2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title5\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h4\", { attrs: { id: \"title4-2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title4-2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title4\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h3\", { attrs: { id: \"title3-2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title3-2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title3\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h2\", { attrs: { id: \"title2-2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title2-2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title2\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h3\", { attrs: { id: \"title3-3\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title3-3\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title3\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/2293d719a80731d17922a157e4292927.json b/node_modules/vuepress/node_modules/.cache/vuepress/2293d719a80731d17922a157e4292927.json new file mode 100644 index 00000000..d41fcd91 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/2293d719a80731d17922a157e4292927.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./DropdownTransition.vue?vue&type=template&id=61431e6a&\"\nimport script from \"./DropdownTransition.vue?vue&type=script&lang=js&\"\nexport * from \"./DropdownTransition.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DropdownTransition.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"DropdownTransition.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/235aa952e582a4ac0119d5ec1de82a6b.json b/node_modules/vuepress/node_modules/.cache/vuepress/235aa952e582a4ac0119d5ec1de82a6b.json new file mode 100644 index 00000000..12d86379 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/235aa952e582a4ac0119d5ec1de82a6b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport SidebarGroup from './SidebarGroup.vue'\nimport SidebarLink from './SidebarLink.vue'\nimport NavLinks from './NavLinks.vue'\nimport { isActive } from './util'\n\nexport default {\n components: { SidebarGroup, SidebarLink, NavLinks },\n\n props: ['items'],\n\n data () {\n return {\n openGroupIndex: 0\n }\n },\n\n created () {\n this.refreshIndex()\n },\n\n watch: {\n '$route' () {\n this.refreshIndex()\n }\n },\n\n methods: {\n refreshIndex () {\n const index = resolveOpenGroupIndex(\n this.$route,\n this.items\n )\n if (index > -1) {\n this.openGroupIndex = index\n }\n },\n\n toggleGroup (index) {\n this.openGroupIndex = index === this.openGroupIndex ? -1 : index\n },\n\n isActive (page) {\n return isActive(this.$route, page.path)\n }\n }\n}\n\nfunction resolveOpenGroupIndex (route, items) {\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n if (item.type === 'group' && item.children.some(c => isActive(route, c.path))) {\n return i\n }\n }\n return -1\n}\n",{"version":3,"sources":["Sidebar.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAsBA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"Sidebar.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <div class=\"sidebar\">\n <NavLinks/>\n <slot name=\"top\"/>\n <ul class=\"sidebar-links\" v-if=\"items.length\">\n <li v-for=\"(item, i) in items\" :key=\"i\">\n <SidebarGroup\n v-if=\"item.type === 'group'\"\n :item=\"item\"\n :first=\"i === 0\"\n :open=\"i === openGroupIndex\"\n :collapsable=\"item.collapsable || item.collapsible\"\n @toggle=\"toggleGroup(i)\"\n />\n <SidebarLink v-else :item=\"item\"/>\n </li>\n </ul>\n <slot name=\"bottom\"/>\n </div>\n</template>\n\n<script>\nimport SidebarGroup from './SidebarGroup.vue'\nimport SidebarLink from './SidebarLink.vue'\nimport NavLinks from './NavLinks.vue'\nimport { isActive } from './util'\n\nexport default {\n components: { SidebarGroup, SidebarLink, NavLinks },\n\n props: ['items'],\n\n data () {\n return {\n openGroupIndex: 0\n }\n },\n\n created () {\n this.refreshIndex()\n },\n\n watch: {\n '$route' () {\n this.refreshIndex()\n }\n },\n\n methods: {\n refreshIndex () {\n const index = resolveOpenGroupIndex(\n this.$route,\n this.items\n )\n if (index > -1) {\n this.openGroupIndex = index\n }\n },\n\n toggleGroup (index) {\n this.openGroupIndex = index === this.openGroupIndex ? -1 : index\n },\n\n isActive (page) {\n return isActive(this.$route, page.path)\n }\n }\n}\n\nfunction resolveOpenGroupIndex (route, items) {\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n if (item.type === 'group' && item.children.some(c => isActive(route, c.path))) {\n return i\n }\n }\n return -1\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.sidebar\n ul\n padding 0\n margin 0\n list-style-type none\n a\n display inline-block\n .nav-links\n display none\n border-bottom 1px solid $borderColor\n padding 0.5rem 0 0.75rem 0\n a\n font-weight 600\n .nav-item, .repo-link\n display block\n line-height 1.25rem\n font-size 1.1em\n padding 0.5rem 0 0.5rem 1.5rem\n .sidebar-links\n padding 1.5rem 0\n\n@media (max-width: $MQMobile)\n .sidebar\n .nav-links\n display block\n .dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active::after\n top calc(1rem - 2px)\n .sidebar-links\n padding 1rem 0\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/239168842a543353f7967a23fb4ab54b.json b/node_modules/vuepress/node_modules/.cache/vuepress/239168842a543353f7967a23fb4ab54b.json new file mode 100644 index 00000000..7bd989ea --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/239168842a543353f7967a23fb4ab54b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Layout.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Layout.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import \"core-js/modules/es6.function.name\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport Vue from 'vue';\nimport nprogress from 'nprogress';\nimport Home from './Home.vue';\nimport Navbar from './Navbar.vue';\nimport Page from './Page.vue';\nimport Sidebar from './Sidebar.vue';\nimport SWUpdatePopup from './SWUpdatePopup.vue';\nimport { resolveSidebarItems } from './util';\nexport default {\n components: {\n Home: Home,\n Page: Page,\n Sidebar: Sidebar,\n Navbar: Navbar,\n SWUpdatePopup: SWUpdatePopup\n },\n data: function data() {\n return {\n isSidebarOpen: false,\n swUpdateEvent: null\n };\n },\n computed: {\n shouldShowNavbar: function shouldShowNavbar() {\n var themeConfig = this.$site.themeConfig;\n var frontmatter = this.$page.frontmatter;\n\n if (frontmatter.navbar === false || themeConfig.navbar === false) {\n return false;\n }\n\n return this.$title || themeConfig.logo || themeConfig.repo || themeConfig.nav || this.$themeLocaleConfig.nav;\n },\n shouldShowSidebar: function shouldShowSidebar() {\n var frontmatter = this.$page.frontmatter;\n return !frontmatter.layout && !frontmatter.home && frontmatter.sidebar !== false && this.sidebarItems.length;\n },\n sidebarItems: function sidebarItems() {\n return resolveSidebarItems(this.$page, this.$route, this.$site, this.$localePath);\n },\n pageClasses: function pageClasses() {\n var userPageClass = this.$page.frontmatter.pageClass;\n return [{\n 'no-navbar': !this.shouldShowNavbar,\n 'sidebar-open': this.isSidebarOpen,\n 'no-sidebar': !this.shouldShowSidebar\n }, userPageClass];\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n window.addEventListener('scroll', this.onScroll); // configure progress bar\n\n nprogress.configure({\n showSpinner: false\n });\n this.$router.beforeEach(function (to, from, next) {\n if (to.path !== from.path && !Vue.component(to.name)) {\n nprogress.start();\n }\n\n next();\n });\n this.$router.afterEach(function () {\n nprogress.done();\n _this.isSidebarOpen = false;\n });\n this.$on('sw-updated', this.onSWUpdated);\n },\n methods: {\n toggleSidebar: function toggleSidebar(to) {\n this.isSidebarOpen = typeof to === 'boolean' ? to : !this.isSidebarOpen;\n },\n // side swipe\n onTouchStart: function onTouchStart(e) {\n this.touchStart = {\n x: e.changedTouches[0].clientX,\n y: e.changedTouches[0].clientY\n };\n },\n onTouchEnd: function onTouchEnd(e) {\n var dx = e.changedTouches[0].clientX - this.touchStart.x;\n var dy = e.changedTouches[0].clientY - this.touchStart.y;\n\n if (Math.abs(dx) > Math.abs(dy) && Math.abs(dx) > 40) {\n if (dx > 0 && this.touchStart.x <= 80) {\n this.toggleSidebar(true);\n } else {\n this.toggleSidebar(false);\n }\n }\n },\n onSWUpdated: function onSWUpdated(e) {\n this.swUpdateEvent = e;\n }\n }\n};",{"version":3,"sources":["Layout.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DA,OAAA,GAAA,MAAA,KAAA;AACA,OAAA,SAAA,MAAA,WAAA;AACA,OAAA,IAAA,MAAA,YAAA;AACA,OAAA,MAAA,MAAA,cAAA;AACA,OAAA,IAAA,MAAA,YAAA;AACA,OAAA,OAAA,MAAA,eAAA;AACA,OAAA,aAAA,MAAA,qBAAA;AACA,SAAA,mBAAA,QAAA,QAAA;AAEA,eAAA;AACA,cAAA;AAAA,cAAA;AAAA,cAAA;AAAA,oBAAA;AAAA,kBAAA;AAAA;AAAA,GADA;AAGA,MAHA,kBAGA;AACA,WAAA;AACA,qBAAA,KADA;AAEA,qBAAA;AAFA,KAAA;AAIA,GARA;AAUA,YAAA;AACA,oBADA,8BACA;AAAA,UACA,WADA,GACA,KAAA,KADA,CACA,WADA;AAAA,UAEA,WAFA,GAEA,KAAA,KAFA,CAEA,WAFA;;AAGA,UACA,YAAA,MAAA,KAAA,KAAA,IACA,YAAA,MAAA,KAAA,KAFA,EAEA;AACA,eAAA,KAAA;AACA;;AACA,aACA,KAAA,MAAA,IACA,YAAA,IADA,IAEA,YAAA,IAFA,IAGA,YAAA,GAHA,IAIA,KAAA,kBAAA,CAAA,GALA;AAOA,KAhBA;AAkBA,qBAlBA,+BAkBA;AAAA,UACA,WADA,GACA,KAAA,KADA,CACA,WADA;AAEA,aACA,CAAA,YAAA,MAAA,IACA,CAAA,YAAA,IADA,IAEA,YAAA,OAAA,KAAA,KAFA,IAGA,KAAA,YAAA,CAAA,MAJA;AAMA,KA1BA;AA4BA,gBA5BA,0BA4BA;AACA,aAAA,oBACA,KAAA,KADA,EAEA,KAAA,MAFA,EAGA,KAAA,KAHA,EAIA,KAAA,WAJA,CAAA;AAMA,KAnCA;AAqCA,eArCA,yBAqCA;AACA,UAAA,gBAAA,KAAA,KAAA,CAAA,WAAA,CAAA,SAAA;AACA,aAAA,CACA;AACA,qBAAA,CAAA,KAAA,gBADA;AAEA,wBAAA,KAAA,aAFA;AAGA,sBAAA,CAAA,KAAA;AAHA,OADA,EAMA,aANA,CAAA;AAQA;AA/CA,GAVA;AA4DA,SA5DA,qBA4DA;AAAA;;AACA,WAAA,gBAAA,CAAA,QAAA,EAAA,KAAA,QAAA,EADA,CAGA;;AACA,cAAA,SAAA,CAAA;AAAA,mBAAA;AAAA,KAAA;AAEA,SAAA,OAAA,CAAA,UAAA,CAAA,UAAA,EAAA,EAAA,IAAA,EAAA,IAAA,EAAA;AACA,UAAA,GAAA,IAAA,KAAA,KAAA,IAAA,IAAA,CAAA,IAAA,SAAA,CAAA,GAAA,IAAA,CAAA,EAAA;AACA,kBAAA,KAAA;AACA;;AACA;AACA,KALA;AAOA,SAAA,OAAA,CAAA,SAAA,CAAA,YAAA;AACA,gBAAA,IAAA;AACA,YAAA,aAAA,GAAA,KAAA;AACA,KAHA;AAKA,SAAA,GAAA,CAAA,YAAA,EAAA,KAAA,WAAA;AACA,GA/EA;AAiFA,WAAA;AACA,iBADA,yBACA,EADA,EACA;AACA,WAAA,aAAA,GAAA,OAAA,EAAA,KAAA,SAAA,GAAA,EAAA,GAAA,CAAA,KAAA,aAAA;AACA,KAHA;AAKA;AACA,gBANA,wBAMA,CANA,EAMA;AACA,WAAA,UAAA,GAAA;AACA,WAAA,EAAA,cAAA,CAAA,CAAA,EAAA,OADA;AAEA,WAAA,EAAA,cAAA,CAAA,CAAA,EAAA;AAFA,OAAA;AAIA,KAXA;AAaA,cAbA,sBAaA,CAbA,EAaA;AACA,UAAA,KAAA,EAAA,cAAA,CAAA,CAAA,EAAA,OAAA,GAAA,KAAA,UAAA,CAAA,CAAA;AACA,UAAA,KAAA,EAAA,cAAA,CAAA,CAAA,EAAA,OAAA,GAAA,KAAA,UAAA,CAAA,CAAA;;AACA,UAAA,KAAA,GAAA,CAAA,EAAA,IAAA,KAAA,GAAA,CAAA,EAAA,CAAA,IAAA,KAAA,GAAA,CAAA,EAAA,IAAA,EAAA,EAAA;AACA,YAAA,KAAA,CAAA,IAAA,KAAA,UAAA,CAAA,CAAA,IAAA,EAAA,EAAA;AACA,eAAA,aAAA,CAAA,IAAA;AACA,SAFA,MAEA;AACA,eAAA,aAAA,CAAA,KAAA;AACA;AACA;AACA,KAvBA;AAyBA,eAzBA,uBAyBA,CAzBA,EAyBA;AACA,WAAA,aAAA,GAAA,CAAA;AACA;AA3BA;AAjFA,CAAA","sourcesContent":["<template>\n <div\n class=\"theme-container\"\n :class=\"pageClasses\"\n @touchstart=\"onTouchStart\"\n @touchend=\"onTouchEnd\"\n >\n <Navbar\n v-if=\"shouldShowNavbar\"\n @toggle-sidebar=\"toggleSidebar\"\n />\n\n <div\n class=\"sidebar-mask\"\n @click=\"toggleSidebar(false)\"\n ></div>\n\n <Sidebar\n :items=\"sidebarItems\"\n @toggle-sidebar=\"toggleSidebar\"\n >\n <slot\n name=\"sidebar-top\"\n slot=\"top\"\n />\n <slot\n name=\"sidebar-bottom\"\n slot=\"bottom\"\n />\n </Sidebar>\n\n <div\n class=\"custom-layout\"\n v-if=\"$page.frontmatter.layout\"\n >\n <component :is=\"$page.frontmatter.layout\"/>\n </div>\n\n <Home v-else-if=\"$page.frontmatter.home\"/>\n\n <Page\n v-else\n :sidebar-items=\"sidebarItems\"\n >\n <slot\n name=\"page-top\"\n slot=\"top\"\n />\n <slot\n name=\"page-bottom\"\n slot=\"bottom\"\n />\n </Page>\n\n <SWUpdatePopup :updateEvent=\"swUpdateEvent\"/>\n </div>\n</template>\n\n<script>\nimport Vue from 'vue'\nimport nprogress from 'nprogress'\nimport Home from './Home.vue'\nimport Navbar from './Navbar.vue'\nimport Page from './Page.vue'\nimport Sidebar from './Sidebar.vue'\nimport SWUpdatePopup from './SWUpdatePopup.vue'\nimport { resolveSidebarItems } from './util'\n\nexport default {\n components: { Home, Page, Sidebar, Navbar, SWUpdatePopup },\n\n data () {\n return {\n isSidebarOpen: false,\n swUpdateEvent: null\n }\n },\n\n computed: {\n shouldShowNavbar () {\n const { themeConfig } = this.$site\n const { frontmatter } = this.$page\n if (\n frontmatter.navbar === false ||\n themeConfig.navbar === false) {\n return false\n }\n return (\n this.$title ||\n themeConfig.logo ||\n themeConfig.repo ||\n themeConfig.nav ||\n this.$themeLocaleConfig.nav\n )\n },\n\n shouldShowSidebar () {\n const { frontmatter } = this.$page\n return (\n !frontmatter.layout &&\n !frontmatter.home &&\n frontmatter.sidebar !== false &&\n this.sidebarItems.length\n )\n },\n\n sidebarItems () {\n return resolveSidebarItems(\n this.$page,\n this.$route,\n this.$site,\n this.$localePath\n )\n },\n\n pageClasses () {\n const userPageClass = this.$page.frontmatter.pageClass\n return [\n {\n 'no-navbar': !this.shouldShowNavbar,\n 'sidebar-open': this.isSidebarOpen,\n 'no-sidebar': !this.shouldShowSidebar\n },\n userPageClass\n ]\n }\n },\n\n mounted () {\n window.addEventListener('scroll', this.onScroll)\n\n // configure progress bar\n nprogress.configure({ showSpinner: false })\n\n this.$router.beforeEach((to, from, next) => {\n if (to.path !== from.path && !Vue.component(to.name)) {\n nprogress.start()\n }\n next()\n })\n\n this.$router.afterEach(() => {\n nprogress.done()\n this.isSidebarOpen = false\n })\n\n this.$on('sw-updated', this.onSWUpdated)\n },\n\n methods: {\n toggleSidebar (to) {\n this.isSidebarOpen = typeof to === 'boolean' ? to : !this.isSidebarOpen\n },\n\n // side swipe\n onTouchStart (e) {\n this.touchStart = {\n x: e.changedTouches[0].clientX,\n y: e.changedTouches[0].clientY\n }\n },\n\n onTouchEnd (e) {\n const dx = e.changedTouches[0].clientX - this.touchStart.x\n const dy = e.changedTouches[0].clientY - this.touchStart.y\n if (Math.abs(dx) > Math.abs(dy) && Math.abs(dx) > 40) {\n if (dx > 0 && this.touchStart.x <= 80) {\n this.toggleSidebar(true)\n } else {\n this.toggleSidebar(false)\n }\n }\n },\n\n onSWUpdated (e) {\n this.swUpdateEvent = e\n }\n }\n}\n</script>\n\n<style src=\"prismjs/themes/prism-tomorrow.css\"></style>\n<style src=\"./styles/theme.styl\" lang=\"stylus\"></style>\n"],"sourceRoot":"node_modules/vuepress/lib/default-theme"}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/23d8c35f8f206edce395f5e33991c6e5.json b/node_modules/vuepress/node_modules/.cache/vuepress/23d8c35f8f206edce395f5e33991c6e5.json new file mode 100644 index 00000000..f32d1f74 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/23d8c35f8f206edce395f5e33991c6e5.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.sidebar-group\n &:not(.first)\n margin-top 1em\n .sidebar-group\n padding-left 0.5em\n &:not(.collapsable)\n .sidebar-heading\n cursor auto\n color inherit\n\n.sidebar-heading\n color #999\n transition color .15s ease\n cursor pointer\n font-size 1.1em\n font-weight bold\n // text-transform uppercase\n padding 0 1.5rem\n margin-top 0\n margin-bottom 0.5rem\n &.open, &:hover\n color inherit\n .arrow\n position relative\n top -0.12em\n left 0.5em\n &:.open .arrow\n top -0.18em\n\n.sidebar-group-items\n transition height .1s ease-out\n overflow hidden\n",{"version":3,"sources":["SidebarGroup.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA","file":"SidebarGroup.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <div\n class=\"sidebar-group\"\n :class=\"{ first, collapsable }\"\n >\n <p\n class=\"sidebar-heading\"\n :class=\"{ open }\"\n @click=\"$emit('toggle')\"\n >\n <span>{{ item.title }}</span>\n <span\n class=\"arrow\"\n v-if=\"collapsable\"\n :class=\"open ? 'down' : 'right'\">\n </span>\n </p>\n\n <DropdownTransition>\n <ul\n ref=\"items\"\n class=\"sidebar-group-items\"\n v-if=\"open || !collapsable\"\n >\n <li v-for=\"child in item.children\">\n <SidebarLink :item=\"child\"/>\n </li>\n </ul>\n </DropdownTransition>\n </div>\n</template>\n\n<script>\nimport SidebarLink from './SidebarLink.vue'\nimport DropdownTransition from './DropdownTransition.vue'\n\nexport default {\n name: 'SidebarGroup',\n props: ['item', 'first', 'open', 'collapsable'],\n components: { SidebarLink, DropdownTransition }\n}\n</script>\n\n<style lang=\"stylus\">\n.sidebar-group\n &:not(.first)\n margin-top 1em\n .sidebar-group\n padding-left 0.5em\n &:not(.collapsable)\n .sidebar-heading\n cursor auto\n color inherit\n\n.sidebar-heading\n color #999\n transition color .15s ease\n cursor pointer\n font-size 1.1em\n font-weight bold\n // text-transform uppercase\n padding 0 1.5rem\n margin-top 0\n margin-bottom 0.5rem\n &.open, &:hover\n color inherit\n .arrow\n position relative\n top -0.12em\n left 0.5em\n &:.open .arrow\n top -0.18em\n\n.sidebar-group-items\n transition height .1s ease-out\n overflow hidden\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/23fd0d61f211152d3c2a062e977ac3e3.json b/node_modules/vuepress/node_modules/.cache/vuepress/23fd0d61f211152d3c2a062e977ac3e3.json new file mode 100644 index 00000000..25510764 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/23fd0d61f211152d3c2a062e977ac3e3.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/README.md?vue&type=template&id=266af043&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/README.md","mtime":1541491987988},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._ssrNode(\"<div class=\\\"language-c extra-class\\\"><pre class=\\\"language-c\\\"><code><span class=\\\"token macro property\\\">#<span class=\\\"token directive keyword\\\">include</span> <span class=\\\"token string\\\">"tbox/tbox.h"</span></span>\\n\\n<span class=\\\"token keyword\\\">int</span> <span class=\\\"token function\\\">main</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token keyword\\\">int</span> argc<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token keyword\\\">char</span><span class=\\\"token operator\\\">*</span><span class=\\\"token operator\\\">*</span> argv<span class=\\\"token punctuation\\\">)</span>\\n<span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// init tbox</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span><span class=\\\"token operator\\\">!</span><span class=\\\"token function\\\">tb_init</span><span class=\\\"token punctuation\\\">(</span>tb_null<span class=\\\"token punctuation\\\">,</span> tb_null<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span> <span class=\\\"token keyword\\\">return</span> <span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// init vector</span>\\n tb_vector_ref_t vector <span class=\\\"token operator\\\">=</span> <span class=\\\"token function\\\">tb_vector_init</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">,</span> <span class=\\\"token function\\\">tb_element_cstr</span><span class=\\\"token punctuation\\\">(</span>tb_true<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// insert item</span>\\n <span class=\\\"token function\\\">tb_vector_insert_tail</span><span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token string\\\">"hello"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token function\\\">tb_vector_insert_tail</span><span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token string\\\">"tbox"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// dump all items</span>\\n tb_for_all <span class=\\\"token punctuation\\\">(</span>tb_char_t <span class=\\\"token keyword\\\">const</span><span class=\\\"token operator\\\">*</span><span class=\\\"token punctuation\\\">,</span> cstr<span class=\\\"token punctuation\\\">,</span> vector<span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// trace</span>\\n <span class=\\\"token function\\\">tb_trace_i</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token string\\\">"%s"</span><span class=\\\"token punctuation\\\">,</span> cstr<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n\\n <span class=\\\"token comment\\\">// exit vector</span>\\n <span class=\\\"token function\\\">tb_vector_exit</span><span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n</code></pre></div>\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/243f8f3dd5901f9b62dc9fb014e0a18c.json b/node_modules/vuepress/node_modules/.cache/vuepress/243f8f3dd5901f9b62dc9fb014e0a18c.json new file mode 100644 index 00000000..21f193ec --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/243f8f3dd5901f9b62dc9fb014e0a18c.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/zh/api/introduction.md","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/zh/api/introduction.md","mtime":1541569045944},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./introduction.md?vue&type=template&id=2d9e32d4&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('2d9e32d4', component.options)\n } else {\n api.reload('2d9e32d4', component.options)\n }\n module.hot.accept(\"./introduction.md?vue&type=template&id=2d9e32d4&\", function () {\n api.rerender('2d9e32d4', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/zh/api/introduction.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/248cd6ca39d89d0dcc19e9cc5ad5bff6.json b/node_modules/vuepress/node_modules/.cache/vuepress/248cd6ca39d89d0dcc19e9cc5ad5bff6.json new file mode 100644 index 00000000..8ce10e94 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/248cd6ca39d89d0dcc19e9cc5ad5bff6.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/manual/index.md?vue&type=template&id=6d0b4415&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/manual/index.md","mtime":1541492172602},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"手册\"><a class=\"header-anchor\" href=\"#手册\" aria-hidden=\"true\">#</a> 手册</h1>\n<p>[TODO]</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/24df4654d7961e09cb751d1ffd7b1130.json b/node_modules/vuepress/node_modules/.cache/vuepress/24df4654d7961e09cb751d1ffd7b1130.json new file mode 100644 index 00000000..31d3ea0d --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/24df4654d7961e09cb751d1ffd7b1130.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n.icon.outbound\n color #aaa\n display inline-block\n",{"version":3,"sources":["OutboundLink.vue"],"names":[],"mappings":";;;;;;;;AAQA;AACA;AACA","file":"OutboundLink.vue","sourceRoot":"node_modules/vuepress/lib/app/components","sourcesContent":["<template functional>\n <svg class=\"icon outbound\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" x=\"0px\" y=\"0px\" viewBox=\"0 0 100 100\" width=\"15\" height=\"15\">\n <path fill=\"currentColor\" d=\"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z\"></path>\n <polygon fill=\"currentColor\" points=\"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9\"></polygon>\n </svg>\n</template>\n\n<style lang=\"stylus\">\n.icon.outbound\n color #aaa\n display inline-block\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/25489280d0686630480e1b7041bd3b47.json b/node_modules/vuepress/node_modules/.cache/vuepress/25489280d0686630480e1b7041bd3b47.json new file mode 100644 index 00000000..67db1745 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/25489280d0686630480e1b7041bd3b47.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/guide/getting-started.md?vue&type=template&id=31f01bcd&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/getting-started.md","mtime":1541554744255},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"快速开始\"><a class=\"header-anchor\" href=\"#快速开始\" aria-hidden=\"true\">#</a> 快速开始</h1>\n<h2 id=\"编译\"><a class=\"header-anchor\" href=\"#编译\" aria-hidden=\"true\">#</a> 编译</h2>\n<p>请先安装: <a href=\"https://github.com/tboox/xmake\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code><span class=\"token comment\"># 默认直接编译当前主机平台</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake\n\n<span class=\"token comment\"># 编译mingw平台</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake f -p mingw --sdk<span class=\"token operator\">=</span>/home/mingwsdk \n$ xmake\n\n<span class=\"token comment\"># 编译iphoneos平台</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake f -p iphoneos \n$ xmake\n\n<span class=\"token comment\"># 编译android平台</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake f -p android --ndk<span class=\"token operator\">=</span>xxxxx\n$ xmake\n\n<span class=\"token comment\"># 交叉编译</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake f -p linux --sdk<span class=\"token operator\">=</span>/home/sdk <span class=\"token comment\">#--bin=/home/sdk/bin</span>\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"例子\"><a class=\"header-anchor\" href=\"#例子\" aria-hidden=\"true\">#</a> 例子</h2>\n<!--beforebegin--><div class=\"language-c extra-class\"><!--afterbegin--><pre v-pre class=\"language-c\"><code><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">\"tbox/tbox.h\"</span></span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> argc<span class=\"token punctuation\">,</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span> argv<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// init tbox</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">tb_init</span><span class=\"token punctuation\">(</span>tb_null<span class=\"token punctuation\">,</span> tb_null<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"hello tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// init vector</span>\n tb_vector_ref_t vector <span class=\"token operator\">=</span> <span class=\"token function\">tb_vector_init</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">tb_element_cstr</span><span class=\"token punctuation\">(</span>tb_true<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// insert item</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// dump all items</span>\n tb_for_all <span class=\"token punctuation\">(</span>tb_char_t <span class=\"token keyword\">const</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">,</span> vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%s\"</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit vector</span>\n <span class=\"token function\">tb_vector_exit</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// init stream</span>\n tb_stream_ref_t stream <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_init_from_url</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"http://www.xxx.com/file.txt\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// open stream</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token function\">tb_stream_open</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// read line</span>\n tb_long_t size <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n tb_char_t line<span class=\"token punctuation\">[</span>TB_STREAM_BLOCK_MAXN<span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">while</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>size <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_bread_line</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">,</span> <span class=\"token keyword\">sizeof</span><span class=\"token punctuation\">(</span>line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">>=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"line: %s\"</span><span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit stream</span>\n <span class=\"token function\">tb_stream_exit</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// wait </span>\n <span class=\"token function\">getchar</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// exit tbox</span>\n <span class=\"token function\">tb_exit</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/257e7e549c0a73450e54ab7c059b85d0.json b/node_modules/vuepress/node_modules/.cache/vuepress/257e7e549c0a73450e54ab7c059b85d0.json new file mode 100644 index 00000000..6a887d74 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/257e7e549c0a73450e54ab7c059b85d0.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue?vue&type=template&id=67f2a5b2&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div class=\"sidebar-button\" @click=\"$emit('toggle-sidebar')\">\n <svg class=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" role=\"img\" viewBox=\"0 0 448 512\">\n <path fill=\"currentColor\" d=\"M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z\" class=\"\"></path>\n </svg>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/25b749614d174607298798d851e463ea.json b/node_modules/vuepress/node_modules/.cache/vuepress/25b749614d174607298798d851e463ea.json new file mode 100644 index 00000000..00bf4f64 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/25b749614d174607298798d851e463ea.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport SidebarLink from './SidebarLink.vue';\nimport DropdownTransition from './DropdownTransition.vue';\nexport default {\n name: 'SidebarGroup',\n props: ['item', 'first', 'open', 'collapsable'],\n components: {\n SidebarLink: SidebarLink,\n DropdownTransition: DropdownTransition\n }\n};",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/267e34564eb4c14eb4d2fc743a67bed2.json b/node_modules/vuepress/node_modules/.cache/vuepress/267e34564eb4c14eb4d2fc743a67bed2.json new file mode 100644 index 00000000..622d4e3c --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/267e34564eb4c14eb4d2fc743a67bed2.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/components/Badge.vue","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/components/Badge.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render, staticRenderFns\nimport script from \"./Badge.vue?vue&type=script&lang=js&\"\nexport * from \"./Badge.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Badge.vue?vue&type=style&index=0&id=23988dc6&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"23988dc6\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('23988dc6', component.options)\n } else {\n api.reload('23988dc6', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/app/components/Badge.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/275c9bb28ffd1da2e44b44f3f34c25fc.json b/node_modules/vuepress/node_modules/.cache/vuepress/275c9bb28ffd1da2e44b44f3f34c25fc.json new file mode 100644 index 00000000..ffb870ec --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/275c9bb28ffd1da2e44b44f3f34c25fc.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Layout.vue?vue&type=template&id=25045c01&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Layout.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div\n class=\"theme-container\"\n :class=\"pageClasses\"\n @touchstart=\"onTouchStart\"\n @touchend=\"onTouchEnd\"\n>\n <Navbar\n v-if=\"shouldShowNavbar\"\n @toggle-sidebar=\"toggleSidebar\"\n />\n\n <div\n class=\"sidebar-mask\"\n @click=\"toggleSidebar(false)\"\n ></div>\n\n <Sidebar\n :items=\"sidebarItems\"\n @toggle-sidebar=\"toggleSidebar\"\n >\n <slot\n name=\"sidebar-top\"\n slot=\"top\"\n />\n <slot\n name=\"sidebar-bottom\"\n slot=\"bottom\"\n />\n </Sidebar>\n\n <div\n class=\"custom-layout\"\n v-if=\"$page.frontmatter.layout\"\n >\n <component :is=\"$page.frontmatter.layout\"/>\n </div>\n\n <Home v-else-if=\"$page.frontmatter.home\"/>\n\n <Page\n v-else\n :sidebar-items=\"sidebarItems\"\n >\n <slot\n name=\"page-top\"\n slot=\"top\"\n />\n <slot\n name=\"page-bottom\"\n slot=\"bottom\"\n />\n </Page>\n\n <SWUpdatePopup :updateEvent=\"swUpdateEvent\"/>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/27a78f270fdaf8ab6d751445c26be540.json b/node_modules/vuepress/node_modules/.cache/vuepress/27a78f270fdaf8ab6d751445c26be540.json new file mode 100644 index 00000000..0dbc6c6c --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/27a78f270fdaf8ab6d751445c26be540.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render, staticRenderFns\nimport script from \"./SidebarLink.vue?vue&type=script&lang=js&\"\nexport * from \"./SidebarLink.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SidebarLink.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('72b9f5a2', component.options)\n } else {\n api.reload('72b9f5a2', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/default-theme/SidebarLink.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/27e70d1dbcfba7bca8e6f17455199d61.json b/node_modules/vuepress/node_modules/.cache/vuepress/27e70d1dbcfba7bca8e6f17455199d61.json new file mode 100644 index 00000000..474403ff --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/27e70d1dbcfba7bca8e6f17455199d61.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/zh/plugin/introduction.md?vue&type=template&id=bdbb3722&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/zh/plugin/introduction.md","mtime":1541580936763},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm._m(0)\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _c(\"h1\", { attrs: { id: \"title1\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title1\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title1\")\n ]),\n _vm._v(\" \"),\n _c(\"p\"),\n _c(\"div\", { staticClass: \"table-of-contents\" }, [\n _c(\"ul\", [\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title2\" } }, [_vm._v(\"Title2\")]),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title3\" } }, [_vm._v(\"Title3\")])\n ]),\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title3\" } }, [_vm._v(\"Title3\")])\n ])\n ])\n ]),\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title2\" } }, [_vm._v(\"Title2\")]),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title3\" } }, [_vm._v(\"Title3\")])\n ])\n ])\n ])\n ])\n ]),\n _c(\"p\"),\n _vm._v(\" \"),\n _c(\"h2\", { attrs: { id: \"title2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title2\")\n ]),\n _vm._v(\" \"),\n _c(\"h3\", { attrs: { id: \"title3\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title3\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title3\")\n ]),\n _vm._v(\" \"),\n _c(\"h4\", { attrs: { id: \"title4\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title4\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title4\")\n ]),\n _vm._v(\" \"),\n _c(\"h5\", { attrs: { id: \"title5\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title5\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title5\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h5\", { attrs: { id: \"title5-2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title5-2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title5\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h4\", { attrs: { id: \"title4-2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title4-2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title4\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h3\", { attrs: { id: \"title3-2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title3-2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title3\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h2\", { attrs: { id: \"title2-2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title2-2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title2\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h3\", { attrs: { id: \"title3-3\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title3-3\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title3\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/285a8a37e8796f6f493be3040135e888.json b/node_modules/vuepress/node_modules/.cache/vuepress/285a8a37e8796f6f493be3040135e888.json new file mode 100644 index 00000000..3dd10c43 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/285a8a37e8796f6f493be3040135e888.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Layout.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Layout.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import \"core-js/modules/es6.function.name\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport Vue from 'vue';\nimport nprogress from 'nprogress';\nimport Home from './Home.vue';\nimport Navbar from './Navbar.vue';\nimport Page from './Page.vue';\nimport Sidebar from './Sidebar.vue';\nimport SWUpdatePopup from './SWUpdatePopup.vue';\nimport { resolveSidebarItems } from './util';\nexport default {\n components: {\n Home: Home,\n Page: Page,\n Sidebar: Sidebar,\n Navbar: Navbar,\n SWUpdatePopup: SWUpdatePopup\n },\n data: function data() {\n return {\n isSidebarOpen: false,\n swUpdateEvent: null\n };\n },\n computed: {\n shouldShowNavbar: function shouldShowNavbar() {\n var themeConfig = this.$site.themeConfig;\n var frontmatter = this.$page.frontmatter;\n\n if (frontmatter.navbar === false || themeConfig.navbar === false) {\n return false;\n }\n\n return this.$title || themeConfig.logo || themeConfig.repo || themeConfig.nav || this.$themeLocaleConfig.nav;\n },\n shouldShowSidebar: function shouldShowSidebar() {\n var frontmatter = this.$page.frontmatter;\n return !frontmatter.layout && !frontmatter.home && frontmatter.sidebar !== false && this.sidebarItems.length;\n },\n sidebarItems: function sidebarItems() {\n return resolveSidebarItems(this.$page, this.$route, this.$site, this.$localePath);\n },\n pageClasses: function pageClasses() {\n var userPageClass = this.$page.frontmatter.pageClass;\n return [{\n 'no-navbar': !this.shouldShowNavbar,\n 'sidebar-open': this.isSidebarOpen,\n 'no-sidebar': !this.shouldShowSidebar\n }, userPageClass];\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n window.addEventListener('scroll', this.onScroll); // configure progress bar\n\n nprogress.configure({\n showSpinner: false\n });\n this.$router.beforeEach(function (to, from, next) {\n if (to.path !== from.path && !Vue.component(to.name)) {\n nprogress.start();\n }\n\n next();\n });\n this.$router.afterEach(function () {\n nprogress.done();\n _this.isSidebarOpen = false;\n });\n this.$on('sw-updated', this.onSWUpdated);\n },\n methods: {\n toggleSidebar: function toggleSidebar(to) {\n this.isSidebarOpen = typeof to === 'boolean' ? to : !this.isSidebarOpen;\n },\n // side swipe\n onTouchStart: function onTouchStart(e) {\n this.touchStart = {\n x: e.changedTouches[0].clientX,\n y: e.changedTouches[0].clientY\n };\n },\n onTouchEnd: function onTouchEnd(e) {\n var dx = e.changedTouches[0].clientX - this.touchStart.x;\n var dy = e.changedTouches[0].clientY - this.touchStart.y;\n\n if (Math.abs(dx) > Math.abs(dy) && Math.abs(dx) > 40) {\n if (dx > 0 && this.touchStart.x <= 80) {\n this.toggleSidebar(true);\n } else {\n this.toggleSidebar(false);\n }\n }\n },\n onSWUpdated: function onSWUpdated(e) {\n this.swUpdateEvent = e;\n }\n }\n};",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/28983ed18db1ae639be4be0ed04e7567.json b/node_modules/vuepress/node_modules/.cache/vuepress/28983ed18db1ae639be4be0ed04e7567.json new file mode 100644 index 00000000..ab1c624f --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/28983ed18db1ae639be4be0ed04e7567.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Page.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Page.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport { resolvePage, normalize, outboundRE, endingSlashRE } from './util'\n\nexport default {\n props: ['sidebarItems'],\n\n computed: {\n lastUpdated () {\n if (this.$page.lastUpdated) {\n return new Date(this.$page.lastUpdated).toLocaleString(this.$lang)\n }\n },\n\n lastUpdatedText () {\n if (typeof this.$themeLocaleConfig.lastUpdated === 'string') {\n return this.$themeLocaleConfig.lastUpdated\n }\n if (typeof this.$site.themeConfig.lastUpdated === 'string') {\n return this.$site.themeConfig.lastUpdated\n }\n return 'Last Updated'\n },\n\n prev () {\n const prev = this.$page.frontmatter.prev\n if (prev === false) {\n return\n } else if (prev) {\n return resolvePage(this.$site.pages, prev, this.$route.path)\n } else {\n return resolvePrev(this.$page, this.sidebarItems)\n }\n },\n\n next () {\n const next = this.$page.frontmatter.next\n if (next === false) {\n return\n } else if (next) {\n return resolvePage(this.$site.pages, next, this.$route.path)\n } else {\n return resolveNext(this.$page, this.sidebarItems)\n }\n },\n\n editLink () {\n if (this.$page.frontmatter.editLink === false) {\n return\n }\n const {\n repo,\n editLinks,\n docsDir = '',\n docsBranch = 'master',\n docsRepo = repo\n } = this.$site.themeConfig\n\n let path = normalize(this.$page.path)\n if (endingSlashRE.test(path)) {\n path += 'README.md'\n } else {\n path += '.md'\n }\n if (docsRepo && editLinks) {\n return this.createEditLink(repo, docsRepo, docsDir, docsBranch, path)\n }\n },\n\n editLinkText () {\n return (\n this.$themeLocaleConfig.editLinkText ||\n this.$site.themeConfig.editLinkText ||\n `Edit this page`\n )\n }\n },\n\n methods: {\n createEditLink (repo, docsRepo, docsDir, docsBranch, path) {\n const bitbucket = /bitbucket.org/\n if (bitbucket.test(repo)) {\n const base = outboundRE.test(docsRepo)\n ? docsRepo\n : repo\n return (\n base.replace(endingSlashRE, '') +\n `/${docsBranch}` +\n (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') +\n path +\n `?mode=edit&spa=0&at=${docsBranch}&fileviewer=file-view-default`\n )\n }\n\n const base = outboundRE.test(docsRepo)\n ? docsRepo\n : `https://github.com/${docsRepo}`\n\n return (\n base.replace(endingSlashRE, '') +\n `/edit/${docsBranch}` +\n (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') +\n path\n )\n }\n }\n}\n\nfunction resolvePrev (page, items) {\n return find(page, items, -1)\n}\n\nfunction resolveNext (page, items) {\n return find(page, items, 1)\n}\n\nfunction find (page, items, offset) {\n const res = []\n items.forEach(item => {\n if (item.type === 'group') {\n res.push(...item.children || [])\n } else {\n res.push(item)\n }\n })\n for (let i = 0; i < res.length; i++) {\n const cur = res[i]\n if (cur.type === 'page' && cur.path === page.path) {\n return res[i + offset]\n }\n }\n}\n",{"version":3,"sources":["Page.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"Page.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <div class=\"page\">\n <slot name=\"top\"/>\n\n <Content :custom=\"false\"/>\n\n <div class=\"page-edit\">\n <div\n class=\"edit-link\"\n v-if=\"editLink\"\n >\n <a\n :href=\"editLink\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >{{ editLinkText }}</a>\n <OutboundLink/>\n </div>\n\n <div\n class=\"last-updated\"\n v-if=\"lastUpdated\"\n >\n <span class=\"prefix\">{{ lastUpdatedText }}: </span>\n <span class=\"time\">{{ lastUpdated }}</span>\n </div>\n </div>\n\n <div class=\"page-nav\" v-if=\"prev || next\">\n <p class=\"inner\">\n <span\n v-if=\"prev\"\n class=\"prev\"\n >\n ←\n <router-link\n v-if=\"prev\"\n class=\"prev\"\n :to=\"prev.path\"\n >\n {{ prev.title || prev.path }}\n </router-link>\n </span>\n\n <span\n v-if=\"next\"\n class=\"next\"\n >\n <router-link\n v-if=\"next\"\n :to=\"next.path\"\n >\n {{ next.title || next.path }}\n </router-link>\n →\n </span>\n </p>\n </div>\n\n <slot name=\"bottom\"/>\n </div>\n</template>\n\n<script>\nimport { resolvePage, normalize, outboundRE, endingSlashRE } from './util'\n\nexport default {\n props: ['sidebarItems'],\n\n computed: {\n lastUpdated () {\n if (this.$page.lastUpdated) {\n return new Date(this.$page.lastUpdated).toLocaleString(this.$lang)\n }\n },\n\n lastUpdatedText () {\n if (typeof this.$themeLocaleConfig.lastUpdated === 'string') {\n return this.$themeLocaleConfig.lastUpdated\n }\n if (typeof this.$site.themeConfig.lastUpdated === 'string') {\n return this.$site.themeConfig.lastUpdated\n }\n return 'Last Updated'\n },\n\n prev () {\n const prev = this.$page.frontmatter.prev\n if (prev === false) {\n return\n } else if (prev) {\n return resolvePage(this.$site.pages, prev, this.$route.path)\n } else {\n return resolvePrev(this.$page, this.sidebarItems)\n }\n },\n\n next () {\n const next = this.$page.frontmatter.next\n if (next === false) {\n return\n } else if (next) {\n return resolvePage(this.$site.pages, next, this.$route.path)\n } else {\n return resolveNext(this.$page, this.sidebarItems)\n }\n },\n\n editLink () {\n if (this.$page.frontmatter.editLink === false) {\n return\n }\n const {\n repo,\n editLinks,\n docsDir = '',\n docsBranch = 'master',\n docsRepo = repo\n } = this.$site.themeConfig\n\n let path = normalize(this.$page.path)\n if (endingSlashRE.test(path)) {\n path += 'README.md'\n } else {\n path += '.md'\n }\n if (docsRepo && editLinks) {\n return this.createEditLink(repo, docsRepo, docsDir, docsBranch, path)\n }\n },\n\n editLinkText () {\n return (\n this.$themeLocaleConfig.editLinkText ||\n this.$site.themeConfig.editLinkText ||\n `Edit this page`\n )\n }\n },\n\n methods: {\n createEditLink (repo, docsRepo, docsDir, docsBranch, path) {\n const bitbucket = /bitbucket.org/\n if (bitbucket.test(repo)) {\n const base = outboundRE.test(docsRepo)\n ? docsRepo\n : repo\n return (\n base.replace(endingSlashRE, '') +\n `/${docsBranch}` +\n (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') +\n path +\n `?mode=edit&spa=0&at=${docsBranch}&fileviewer=file-view-default`\n )\n }\n\n const base = outboundRE.test(docsRepo)\n ? docsRepo\n : `https://github.com/${docsRepo}`\n\n return (\n base.replace(endingSlashRE, '') +\n `/edit/${docsBranch}` +\n (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') +\n path\n )\n }\n }\n}\n\nfunction resolvePrev (page, items) {\n return find(page, items, -1)\n}\n\nfunction resolveNext (page, items) {\n return find(page, items, 1)\n}\n\nfunction find (page, items, offset) {\n const res = []\n items.forEach(item => {\n if (item.type === 'group') {\n res.push(...item.children || [])\n } else {\n res.push(item)\n }\n })\n for (let i = 0; i < res.length; i++) {\n const cur = res[i]\n if (cur.type === 'page' && cur.path === page.path) {\n return res[i + offset]\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n@require './styles/wrapper.styl'\n\n.page\n padding-bottom 2rem\n\n.page-edit\n @extend $wrapper\n padding-top 1rem\n padding-bottom 1rem\n overflow auto\n .edit-link\n display inline-block\n a\n color lighten($textColor, 25%)\n margin-right 0.25rem\n .last-updated\n float right\n font-size 0.9em\n .prefix\n font-weight 500\n color lighten($textColor, 25%)\n .time\n font-weight 400\n color #aaa\n\n.page-nav\n @extend $wrapper\n padding-top 1rem\n padding-bottom 0\n .inner\n min-height 2rem\n margin-top 0\n border-top 1px solid $borderColor\n padding-top 1rem\n overflow auto // clear float\n .next\n float right\n\n@media (max-width: $MQMobile)\n .page-edit\n .edit-link\n margin-bottom .5rem\n .last-updated\n font-size .8em\n float none\n text-align left\n\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/2900deb1271999f46077fddf4195e292.json b/node_modules/vuepress/node_modules/.cache/vuepress/2900deb1271999f46077fddf4195e292.json new file mode 100644 index 00000000..039ea846 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/2900deb1271999f46077fddf4195e292.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/locals.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.home\n padding $navbarHeight 2rem 0\n max-width 960px\n margin 0px auto\n .hero\n text-align center\n img\n max-height 280px\n display block\n margin 3rem auto 1.5rem\n h1\n font-size 3rem\n h1, .description, .action\n margin 1.8rem auto\n .description\n max-width 35rem\n font-size 1.6rem\n line-height 1.3\n color lighten($textColor, 40%)\n .action-button\n display inline-block\n font-size 1.2rem\n color #fff\n background-color $accentColor\n padding 0.8rem 1.6rem\n border-radius 4px\n transition background-color .1s ease\n box-sizing border-box\n border-bottom 1px solid darken($accentColor, 10%)\n &:hover\n background-color lighten($accentColor, 10%)\n .features\n border-top 1px solid $borderColor\n padding 1.2rem 0\n margin-top 2.5rem\n display flex\n flex-wrap wrap\n align-items flex-start\n align-content stretch\n justify-content space-between\n .feature\n flex-grow 1\n flex-basis 30%\n max-width 30%\n h2\n font-size 1.4rem\n font-weight 500\n border-bottom none\n padding-bottom 0\n color lighten($textColor, 10%)\n p\n color lighten($textColor, 25%)\n .footer\n padding 2.5rem\n border-top 1px solid $borderColor\n text-align center\n color lighten($textColor, 25%)\n\n@media (max-width: $MQMobile)\n .home\n .features\n flex-direction column\n .feature\n max-width 100%\n padding 0 2.5rem\n\n@media (max-width: $MQMobileNarrow)\n .home\n padding-left 1.5rem\n padding-right 1.5rem\n .hero\n img\n max-height 210px\n margin 2rem auto 1.2rem\n h1\n font-size 2rem\n h1, .description, .action\n margin 1.2rem auto\n .description\n font-size 1.2rem\n .action-button\n font-size 1rem\n padding 0.6rem 1.2rem\n .feature\n h2\n font-size 1.25rem\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/29a86aab6a51b2c275a88526b083d17c.json b/node_modules/vuepress/node_modules/.cache/vuepress/29a86aab6a51b2c275a88526b083d17c.json new file mode 100644 index 00000000..c7f4cbdc --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/29a86aab6a51b2c275a88526b083d17c.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/guide/getting-started.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/getting-started.md","mtime":1541554744255},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./getting-started.md?vue&type=template&id=31f01bcd&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n \"1153ef22\"\n \n)\n\ncomponent.options.__file = \"getting-started.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/2a42ffe99e7321f5bdb9d5f82aabe219.json b/node_modules/vuepress/node_modules/.cache/vuepress/2a42ffe99e7321f5bdb9d5f82aabe219.json new file mode 100644 index 00000000..ee1d250a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/2a42ffe99e7321f5bdb9d5f82aabe219.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./SearchBox.vue?vue&type=template&id=0cd5c87c&\"\nimport script from \"./SearchBox.vue?vue&type=script&lang=js&\"\nexport * from \"./SearchBox.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SearchBox.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('0cd5c87c', component.options)\n } else {\n api.reload('0cd5c87c', component.options)\n }\n module.hot.accept(\"./SearchBox.vue?vue&type=template&id=0cd5c87c&\", function () {\n api.rerender('0cd5c87c', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/default-theme/SearchBox.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/2a60e037e086f9983ef125ebb0812c40.json b/node_modules/vuepress/node_modules/.cache/vuepress/2a60e037e086f9983ef125ebb0812c40.json new file mode 100644 index 00000000..01d46f10 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/2a60e037e086f9983ef125ebb0812c40.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/noopModule.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/noopModule.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["export default {};",{"version":3,"sources":["node_modules/vuepress/lib/webpack/noopModule.js"],"names":[],"mappings":"AAAA,eAAe,EAAf","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["export default {}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/2a6de63d87c5652cfb85c58896e70899.json b/node_modules/vuepress/node_modules/.cache/vuepress/2a6de63d87c5652cfb85c58896e70899.json new file mode 100644 index 00000000..911f0d1c --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/2a6de63d87c5652cfb85c58896e70899.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/manual.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/manual.md","mtime":1489213929000},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./manual.md?vue&type=template&id=88d032e4&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('88d032e4', component.options)\n } else {\n api.reload('88d032e4', component.options)\n }\n module.hot.accept(\"./manual.md?vue&type=template&id=88d032e4&\", function () {\n api.rerender('88d032e4', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"docs/guide/manual.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/2ad06635fe5fe3df025dc4f73d26fa2b.json b/node_modules/vuepress/node_modules/.cache/vuepress/2ad06635fe5fe3df025dc4f73d26fa2b.json new file mode 100644 index 00000000..ed60ccf6 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/2ad06635fe5fe3df025dc4f73d26fa2b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport NavLink from './NavLink.vue'\nimport DropdownTransition from './DropdownTransition.vue'\n\nexport default {\n components: { NavLink, DropdownTransition },\n\n data () {\n return {\n open: false\n }\n },\n\n props: {\n item: {\n required: true\n }\n },\n\n methods: {\n toggle () {\n this.open = !this.open\n }\n }\n}\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/2bc74c6ab38a7ca30074d04227c20f1b.json b/node_modules/vuepress/node_modules/.cache/vuepress/2bc74c6ab38a7ca30074d04227c20f1b.json new file mode 100644 index 00000000..d932bc38 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/2bc74c6ab38a7ca30074d04227c20f1b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/zh/README.md?vue&type=template&id=4f009e77&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/zh/README.md","mtime":1541598623911},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"img\", {\n attrs: {\n src: \"https://xmake.io/assets/img/index/showcode1.png\",\n width: \"40%\"\n }\n }),\n _vm._v(\" \"),\n _vm._m(1),\n _vm._v(\" \"),\n _c(\"img\", {\n attrs: {\n src: \"https://xmake.io/assets/img/index/add_require.png\",\n width: \"70%\"\n }\n }),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"官方的xmake包管理仓库: \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake-repo\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake-repo\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _vm._m(2),\n _vm._v(\" \"),\n _vm._m(3),\n _vm._m(4),\n _vm._v(\" \"),\n _vm._m(5),\n _vm._m(6),\n _vm._v(\" \"),\n _vm._m(7),\n _vm._m(8),\n _vm._v(\" \"),\n _vm._m(9),\n _vm._m(10),\n _vm._v(\" \"),\n _vm._m(11),\n _c(\"img\", {\n attrs: {\n src: \"https://xmake.io/assets/img/index/menuconf.png\",\n width: \"80%\"\n }\n }),\n _vm._v(\" \"),\n _vm._m(12),\n _vm._v(\" \"),\n _c(\"img\", {\n attrs: {\n src: \"https://xmake.io/assets/img/index/package_manage.png\",\n width: \"80%\"\n }\n }),\n _vm._v(\" \"),\n _vm._m(13),\n _vm._v(\" \"),\n _vm._m(14),\n _vm._v(\" \"),\n _vm._m(15),\n _vm._v(\" \"),\n _vm._m(16),\n _vm._v(\" \"),\n _vm._m(17),\n _vm._v(\" \"),\n _vm._m(18),\n _vm._v(\" \"),\n _vm._m(19),\n _vm._v(\" \"),\n _vm._m(20),\n _vm._v(\" \"),\n _vm._m(21),\n _vm._m(22),\n _vm._v(\" \"),\n _vm._m(23),\n _vm._m(24),\n _vm._v(\" \"),\n _vm._m(25),\n _vm._m(26),\n _vm._v(\" \"),\n _vm._m(27),\n _vm._m(28),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"请到插件仓库进行下载安装: \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake-plugins\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake-plugins\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\".\")\n ]),\n _vm._v(\" \"),\n _vm._m(29),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake-vscode\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake-vscode\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"img\", {\n attrs: {\n src:\n \"https://raw.githubusercontent.com/tboox/xmake-vscode/master/res/problem.gif\",\n width: \"60%\"\n }\n }),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake-sublime\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake-sublime\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"img\", {\n attrs: {\n src:\n \"https://raw.githubusercontent.com/tboox/xmake-sublime/master/res/problem.gif\",\n width: \"60%\"\n }\n }),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake-idea\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake-idea\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"img\", {\n attrs: {\n src:\n \"https://raw.githubusercontent.com/tboox/xmake-idea/master/res/problem.gif\",\n width: \"60%\"\n }\n }),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/luzhlon/xmake.vim\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake.vim\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\" (third-party, thanks \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/luzhlon\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"@luzhlon\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\")\")\n ])\n ]),\n _vm._v(\" \"),\n _vm._m(30),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Debug和Release模式:\")]),\n _vm._v(\" \"),\n _vm._m(31),\n _c(\"p\", [_vm._v(\"自定义脚本:\")]),\n _vm._v(\" \"),\n _vm._m(32),\n _c(\"p\", [_vm._v(\"使用扩展模块:\")]),\n _vm._v(\" \"),\n _vm._m(33),\n _vm._m(34),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"一些使用xmake的项目:\")]),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/tbox\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"tbox\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/gbox\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"gbox\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/vm86\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"vm86\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/awesome-xmake\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"更多\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm._m(35),\n _vm._v(\" \"),\n _vm._m(36),\n _vm._v(\" \"),\n _vm._m(37),\n _vm._v(\" \"),\n _c(\"ul\", [\n _vm._m(38),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"主页:\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.tboox.org/cn\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"tboox.org\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"社区:\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://www.reddit.com/r/tboox/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Reddit论坛\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"聊天:\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://t.me/tbooxorg\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Telegram群组\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\", \"),\n _c(\n \"a\",\n {\n attrs: {\n href:\n \"https://gitter.im/tboox/tboox?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Gitter聊天室\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"源码:\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Github\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\", \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://gitee.com/tboox/xmake\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Gitee\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"QQ群:343118190\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"微信公众号:tboox-os\")])\n ])\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"简单的工程描述\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#简单的工程描述\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 简单的工程描述\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"包依赖描述\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#包依赖描述\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 包依赖描述\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"构建工程\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#构建工程\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 构建工程\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"运行目标\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#运行目标\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 运行目标\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake run console\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"调试程序\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#调试程序\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 调试程序\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake run -d console\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"配置平台\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#配置平台\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 配置平台\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake f -p \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"windows\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"linux\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"macosx\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"android\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"iphoneos \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"..\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _vm._v(\" -a \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"x86\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"arm64 \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"..\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _vm._v(\" -m \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"debug\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"release\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _vm._v(\"\\n$ xmake\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"图形化菜单配置\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#图形化菜单配置\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 图形化菜单配置\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake f --menu\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"包依赖管理\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#包依赖管理\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 包依赖管理\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"支持平台\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#支持平台\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 支持平台\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Windows (x86, x64)\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Macosx (i386, x86_64)\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Linux (i386, x86_64, cross-toolchains ...)\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Android (armv5te, armv6, armv7-a, armv8-a, arm64-v8a)\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"iPhoneOS (armv7, armv7s, arm64, i386, x86_64)\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"WatchOS (armv7k, i386)\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Mingw (i386, x86_64)\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"支持语言\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#支持语言\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 支持语言\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"C/C++\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Objc/Objc++\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Swift\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Assembly\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Golang\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Rust\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Dlang\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Cuda\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"工程类型\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#工程类型\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 工程类型\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"静态库程序\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"动态库类型\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"控制台程序\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Cuda程序\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Qt应用程序\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"WDK驱动程序\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"WinSDK应用程序\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"内置插件\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#内置插件\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 内置插件\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"宏记录脚本和回放插件\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#宏记录脚本和回放插件\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 宏记录脚本和回放插件\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake m -b \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"# 开始记录\")\n ]),\n _vm._v(\n \"\\n$ xmake f -p iphoneos -m debug\\n$ xmake \\n$ xmake f -p android --ndk\"\n ),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\n \"~/files/android-ndk-r16b\\n$ xmake\\n$ xmake m -e \"\n ),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"# 结束记录\")\n ]),\n _vm._v(\"\\n$ xmake m \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\".\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"# 回放命令\")\n ]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"加载自定义lua脚本插件\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#加载自定义lua脚本插件\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 加载自定义lua脚本插件\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake l ./test.lua\\n$ xmake l -c \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v(\"\\\"print('hello xmake!')\\\"\")\n ]),\n _vm._v(\"\\n$ xmake l lib.detect.find_tool gcc\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"h4\",\n { attrs: { id: \"生成ide工程文件插件(makefile-vs2002-vs2017-)\" } },\n [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: {\n href: \"#生成ide工程文件插件(makefile-vs2002-vs2017-)\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 生成IDE工程文件插件(makefile, vs2002 - vs2017, ...)\")\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake project -k vs2017 -m \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"debug,release\"')\n ]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"生成doxygen文档插件\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#生成doxygen文档插件\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 生成doxygen文档插件\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake doxygen \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"srcdir\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"更多插件\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#更多插件\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 更多插件\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"ide和编辑器插件\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#ide和编辑器插件\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" IDE和编辑器插件\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"更多例子\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#更多例子\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 更多例子\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_rules\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"mode.debug\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"mode.release\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"console\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_kind\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"binary\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"src/*.c\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"is_plat\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"windows\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"mingw\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"then\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_defines\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"XXX\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"end\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"test\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_kind\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"static\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"src/*.cpp\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"after_build\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [\n _vm._v(\"function\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"target\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"print\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"build %s ok!\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" target\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\":\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"targetfile\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"end\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"test\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_kind\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"shared\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"src/*.c\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"on_load\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [\n _vm._v(\"function\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"target\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"import\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"lib.detect.find_package\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n target\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\":\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"add\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"find_package\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"zlib\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"end\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"项目例子\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#项目例子\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 项目例子\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"演示视频\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#演示视频\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 演示视频\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"a\", { attrs: { href: \"https://asciinema.org/a/133693\" } }, [\n _c(\"img\", {\n attrs: { src: \"https://asciinema.org/a/133693.png\", width: \"60%\" }\n })\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"联系方式\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#联系方式\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 联系方式\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"li\", [\n _vm._v(\"邮箱:\"),\n _c(\"a\", { attrs: { href: \"mailto:waruqi@gmail.com\" } }, [\n _vm._v(\"waruqi@gmail.com\")\n ])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/2bdd0f0fff752ae98a5fe88529cba2c3.json b/node_modules/vuepress/node_modules/.cache/vuepress/2bdd0f0fff752ae98a5fe88529cba2c3.json new file mode 100644 index 00000000..9419a369 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/2bdd0f0fff752ae98a5fe88529cba2c3.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue?vue&type=template&id=0ec87fea&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div\n class=\"sidebar-group\"\n :class=\"{ first, collapsable }\"\n>\n <p\n class=\"sidebar-heading\"\n :class=\"{ open }\"\n @click=\"$emit('toggle')\"\n >\n <span>{{ item.title }}</span>\n <span\n class=\"arrow\"\n v-if=\"collapsable\"\n :class=\"open ? 'down' : 'right'\">\n </span>\n </p>\n\n <DropdownTransition>\n <ul\n ref=\"items\"\n class=\"sidebar-group-items\"\n v-if=\"open || !collapsable\"\n >\n <li v-for=\"child in item.children\">\n <SidebarLink :item=\"child\"/>\n </li>\n </ul>\n </DropdownTransition>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/2bf5a7fd26b7017d5003dc20c6c1369c.json b/node_modules/vuepress/node_modules/.cache/vuepress/2bf5a7fd26b7017d5003dc20c6c1369c.json new file mode 100644 index 00000000..f5aade54 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/2bf5a7fd26b7017d5003dc20c6c1369c.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/getting-started.md?vue&type=template&id=09de92a0&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/getting-started.md","mtime":1541488106036},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._m(0),_vm._v(\" \"),_c('p',[_vm._v(\"Please install xmake first: \"),_c('a',{attrs:{\"href\":\"https://github.com/tboox/xmake\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"xmake\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_vm._m(1),_vm._m(2),_vm._v(\" \"),_vm._m(3)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h1',{attrs:{\"id\":\"getting-started\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#getting-started\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Getting Started\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"language-console extra-class\"},[_c('pre',{pre:true,attrs:{\"class\":\"language-text\"}},[_c('code',[_vm._v(\"# build for the host platform\\n$ cd ./tbox\\n$ xmake\\n\\n# build for the mingw platform\\n$ cd ./tbox\\n$ xmake f -p mingw --sdk=/home/mingwsdk \\n$ xmake\\n\\n# build for the iphoneos platform\\n$ cd ./tbox\\n$ xmake f -p iphoneos \\n$ xmake\\n\\n# build for the android platform\\n$ cd ./tbox\\n$ xmake f -p android --ndk=xxxxx\\n$ xmake\\n\\n# build for the linux cross-platform\\n$ cd ./tbox\\n$ xmake f -p linux --sdk=/home/sdk # --bin=/home/sdk/bin\\n$ xmake\\n\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',{attrs:{\"id\":\"example\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#example\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Example\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"language-c extra-class\"},[_c('pre',{pre:true,attrs:{\"class\":\"language-c\"}},[_c('code',[_c('span',{attrs:{\"class\":\"token macro property\"}},[_vm._v(\"#\"),_c('span',{attrs:{\"class\":\"token directive keyword\"}},[_vm._v(\"include\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"tbox/tbox.h\\\"\")])]),_vm._v(\"\\n\\n\"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"int\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"main\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"int\")]),_vm._v(\" argc\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"char\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"*\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"*\")]),_vm._v(\" argv\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// init tbox\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"!\")]),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_init\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"tb_null\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" tb_null\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"return\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// trace\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_trace_i\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"hello tbox\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// init vector\")]),_vm._v(\"\\n tb_vector_ref_t vector \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_init\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_element_cstr\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"tb_true\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// insert item\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_insert_tail\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"hello\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_insert_tail\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"tbox\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// dump all items\")]),_vm._v(\"\\n tb_for_all \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"tb_char_t \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"const\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"*\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" cstr\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// trace\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_trace_i\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"%s\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" cstr\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// exit vector\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_exit\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// init stream\")]),_vm._v(\"\\n tb_stream_ref_t stream \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_stream_init_from_url\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"http://www.xxx.com/file.txt\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"stream\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// open stream\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_stream_open\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"stream\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// read line\")]),_vm._v(\"\\n tb_long_t size \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n tb_char_t line\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"[\")]),_vm._v(\"TB_STREAM_BLOCK_MAXN\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"]\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"while\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"size \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_stream_bread_line\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"stream\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" line\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"sizeof\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"line\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\">=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// trace\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_trace_i\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"line: %s\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" line\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// exit stream\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_stream_exit\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"stream\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// wait \")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"getchar\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// exit tbox\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_exit\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"return\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\")])])])}]\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/2c10448787a047bf6315534fb2404181.json b/node_modules/vuepress/node_modules/.cache/vuepress/2c10448787a047bf6315534fb2404181.json new file mode 100644 index 00000000..ff815c5c --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/2c10448787a047bf6315534fb2404181.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue?vue&type=template&id=17e966b4&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"page\" },\n [\n _vm._t(\"top\"),\n _vm._v(\" \"),\n _c(\"Content\", { attrs: { custom: false } }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"page-edit\" }, [\n _vm.editLink\n ? _c(\n \"div\",\n { staticClass: \"edit-link\" },\n [\n _c(\n \"a\",\n {\n attrs: {\n href: _vm.editLink,\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(_vm._s(_vm.editLinkText))]\n ),\n _vm._v(\" \"),\n _c(\"OutboundLink\")\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.lastUpdated\n ? _c(\"div\", { staticClass: \"last-updated\" }, [\n _c(\"span\", { staticClass: \"prefix\" }, [\n _vm._v(_vm._s(_vm.lastUpdatedText) + \": \")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"time\" }, [\n _vm._v(_vm._s(_vm.lastUpdated))\n ])\n ])\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _vm.prev || _vm.next\n ? _c(\"div\", { staticClass: \"page-nav\" }, [\n _c(\"p\", { staticClass: \"inner\" }, [\n _vm.prev\n ? _c(\n \"span\",\n { staticClass: \"prev\" },\n [\n _vm._v(\"\\n ←\\n \"),\n _vm.prev\n ? _c(\n \"router-link\",\n {\n staticClass: \"prev\",\n attrs: { to: _vm.prev.path }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.prev.title || _vm.prev.path) +\n \"\\n \"\n )\n ]\n )\n : _vm._e()\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.next\n ? _c(\n \"span\",\n { staticClass: \"next\" },\n [\n _vm.next\n ? _c(\"router-link\", { attrs: { to: _vm.next.path } }, [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.next.title || _vm.next.path) +\n \"\\n \"\n )\n ])\n : _vm._e(),\n _vm._v(\"\\n →\\n \")\n ],\n 1\n )\n : _vm._e()\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm._t(\"bottom\")\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/2c55cb10ca968de1a66d0c067f1829e1.json b/node_modules/vuepress/node_modules/.cache/vuepress/2c55cb10ca968de1a66d0c067f1829e1.json new file mode 100644 index 00000000..880e9819 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/2c55cb10ca968de1a66d0c067f1829e1.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/locals.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.sidebar-group\n &:not(.first)\n margin-top 1em\n .sidebar-group\n padding-left 0.5em\n &:not(.collapsable)\n .sidebar-heading\n cursor auto\n color inherit\n\n.sidebar-heading\n color #999\n transition color .15s ease\n cursor pointer\n font-size 1.1em\n font-weight bold\n // text-transform uppercase\n padding 0 1.5rem\n margin-top 0\n margin-bottom 0.5rem\n &.open, &:hover\n color inherit\n .arrow\n position relative\n top -0.12em\n left 0.5em\n &:.open .arrow\n top -0.18em\n\n.sidebar-group-items\n transition height .1s ease-out\n overflow hidden\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/2d3de05e521bd6a25e4072681febbda1.json b/node_modules/vuepress/node_modules/.cache/vuepress/2d3de05e521bd6a25e4072681febbda1.json new file mode 100644 index 00000000..e611aa91 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/2d3de05e521bd6a25e4072681febbda1.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.sidebar\n ul\n padding 0\n margin 0\n list-style-type none\n a\n display inline-block\n .nav-links\n display none\n border-bottom 1px solid $borderColor\n padding 0.5rem 0 0.75rem 0\n a\n font-weight 600\n .nav-item, .repo-link\n display block\n line-height 1.25rem\n font-size 1.1em\n padding 0.5rem 0 0.5rem 1.5rem\n .sidebar-links\n padding 1.5rem 0\n\n@media (max-width: $MQMobile)\n .sidebar\n .nav-links\n display block\n .dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active::after\n top calc(1rem - 2px)\n .sidebar-links\n padding 1rem 0\n",{"version":3,"sources":["Sidebar.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiFA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"Sidebar.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <div class=\"sidebar\">\n <NavLinks/>\n <slot name=\"top\"/>\n <ul class=\"sidebar-links\" v-if=\"items.length\">\n <li v-for=\"(item, i) in items\" :key=\"i\">\n <SidebarGroup\n v-if=\"item.type === 'group'\"\n :item=\"item\"\n :first=\"i === 0\"\n :open=\"i === openGroupIndex\"\n :collapsable=\"item.collapsable || item.collapsible\"\n @toggle=\"toggleGroup(i)\"\n />\n <SidebarLink v-else :item=\"item\"/>\n </li>\n </ul>\n <slot name=\"bottom\"/>\n </div>\n</template>\n\n<script>\nimport SidebarGroup from './SidebarGroup.vue'\nimport SidebarLink from './SidebarLink.vue'\nimport NavLinks from './NavLinks.vue'\nimport { isActive } from './util'\n\nexport default {\n components: { SidebarGroup, SidebarLink, NavLinks },\n\n props: ['items'],\n\n data () {\n return {\n openGroupIndex: 0\n }\n },\n\n created () {\n this.refreshIndex()\n },\n\n watch: {\n '$route' () {\n this.refreshIndex()\n }\n },\n\n methods: {\n refreshIndex () {\n const index = resolveOpenGroupIndex(\n this.$route,\n this.items\n )\n if (index > -1) {\n this.openGroupIndex = index\n }\n },\n\n toggleGroup (index) {\n this.openGroupIndex = index === this.openGroupIndex ? -1 : index\n },\n\n isActive (page) {\n return isActive(this.$route, page.path)\n }\n }\n}\n\nfunction resolveOpenGroupIndex (route, items) {\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n if (item.type === 'group' && item.children.some(c => isActive(route, c.path))) {\n return i\n }\n }\n return -1\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.sidebar\n ul\n padding 0\n margin 0\n list-style-type none\n a\n display inline-block\n .nav-links\n display none\n border-bottom 1px solid $borderColor\n padding 0.5rem 0 0.75rem 0\n a\n font-weight 600\n .nav-item, .repo-link\n display block\n line-height 1.25rem\n font-size 1.1em\n padding 0.5rem 0 0.5rem 1.5rem\n .sidebar-links\n padding 1.5rem 0\n\n@media (max-width: $MQMobile)\n .sidebar\n .nav-links\n display block\n .dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active::after\n top calc(1rem - 2px)\n .sidebar-links\n padding 1rem 0\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/2df56345c8b1a29ca9a7c9d38a65c215.json b/node_modules/vuepress/node_modules/.cache/vuepress/2df56345c8b1a29ca9a7c9d38a65c215.json new file mode 100644 index 00000000..cf645436 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/2df56345c8b1a29ca9a7c9d38a65c215.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/manual/index.md?vue&type=template&id=c064eaca&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/manual/index.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"manual\"><a class=\"header-anchor\" href=\"#manual\" aria-hidden=\"true\">#</a> Manual</h1>\n<p>[TODO]</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/2e88c9550e34274d77ca18d479fc6900.json b/node_modules/vuepress/node_modules/.cache/vuepress/2e88c9550e34274d77ca18d479fc6900.json new file mode 100644 index 00000000..ef1e48f6 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/2e88c9550e34274d77ca18d479fc6900.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import _typeof from \"/Users/ruki/projects/personal/tbox-docs/node_modules/@babel/runtime/helpers/builtin/es6/typeof\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nexport default {\n props: {\n updateEvent: {\n type: Object,\n default: null\n }\n },\n computed: {\n popupConfig: function popupConfig() {\n var _arr = [this.$themeLocaleConfig, this.$site.themeConfig];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var config = _arr[_i];\n var sw = config.serviceWorker;\n\n if (sw && sw.updatePopup) {\n return _typeof(sw.updatePopup) === 'object' ? sw.updatePopup : {};\n }\n }\n\n return null;\n },\n enabled: function enabled() {\n return Boolean(this.popupConfig && this.updateEvent);\n },\n message: function message() {\n var c = this.popupConfig;\n return c && c.message || 'New content is available.';\n },\n buttonText: function buttonText() {\n var c = this.popupConfig;\n return c && c.buttonText || 'Refresh';\n }\n },\n methods: {\n reload: function reload() {\n if (this.updateEvent) {\n this.updateEvent.skipWaiting().then(function () {\n location.reload(true);\n });\n this.updateEvent = null;\n }\n }\n }\n};",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/2ecb628acc8d5f426afaf44a209f8c71.json b/node_modules/vuepress/node_modules/.cache/vuepress/2ecb628acc8d5f426afaf44a209f8c71.json new file mode 100644 index 00000000..ba0dca8a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/2ecb628acc8d5f426afaf44a209f8c71.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/introduction.md?vue&type=template&id=60806558&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/introduction.md","mtime":1541489249205},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"简介\"><a class=\"header-anchor\" href=\"#简介\" aria-hidden=\"true\">#</a> 简介</h1>\n<p>TBOX是一个用c语言实现的跨平台开发库。</p>\n<p>针对各个平台,封装了统一的接口,简化了各类开发过程中常用操作,使你在开发过程中,更加关注实际应用的开发,而不是把时间浪费在琐碎的接口兼容性上面,并且充分利用了各个平台独有的一些特性进行优化。</p>\n<p>这个项目的目的,是为了使C开发更加的简单高效。</p>\n<p>目前支持的平台有:</p>\n<ul>\n<li>Windows</li>\n<li>Macosx</li>\n<li>Linux</li>\n<li>Android</li>\n<li>iOS</li>\n</ul>\n<p>通过<a href=\"http://www.xmake.io/cn\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a>支持各种编译模式:</p>\n<ul>\n<li>Release: 正式版编译,禁用调试信息、断言,各种检测机制,启用编译器优化</li>\n<li>Debug: 调试模式,默认启用详细调试信息、断言、内存越界检测、内存泄漏、锁竞争分析等检测机制</li>\n<li>Small: 最小化编译,默认禁用所有扩展模块,启用编译器最小化优化</li>\n<li>Micro: 针对嵌入式平台,仅仅编译tbox微内核,仅提供最基础的跨平台接口,生成库仅64K左右(内置轻量libc接口实现)</li>\n</ul>\n<p>如果你想了解更多,请参考:</p>\n<ul>\n<li><a href=\"http://www.tboox.org/cn\" target=\"_blank\" rel=\"noopener noreferrer\">项目主页<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/%E7%9B%AE%E5%BD%95\" target=\"_blank\" rel=\"noopener noreferrer\">在线文档<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Github<OutboundLink/></a></li>\n<li><a href=\"https://gitee.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Gitee<OutboundLink/></a></li>\n</ul>\n<h2 id=\"特性\"><a class=\"header-anchor\" href=\"#特性\" aria-hidden=\"true\">#</a> 特性</h2>\n<h4 id=\"流库\"><a class=\"header-anchor\" href=\"#流库\" aria-hidden=\"true\">#</a> 流库</h4>\n<p>针对http、file、socket、data等流数据,实现统一接口进行读写,并且支持: 阻塞、非阻塞、异步 三种读写模式。\n支持中间增加多层filter流进行流过滤,实现边读取,内部边进行解压、编码转换、加密等操作,极大的减少了内存使用。</p>\n<p>主要提供以下模块:</p>\n<ul>\n<li><code>stream</code>:通用非阻塞流,用于一般的单独io处理,同时支持协程以实现异步传输。</li>\n<li><code>transfer</code>:流传输器,维护两路流的传输。</li>\n<li><code>static_stream</code>:针对静态数据buffer优化的静态流,用于轻量快速的数据解析。</li>\n</ul>\n<h4 id=\"协程库\"><a class=\"header-anchor\" href=\"#协程库\" aria-hidden=\"true\">#</a> 协程库</h4>\n<ul>\n<li>快速高效的协程切换支持(具体性能参考:<a href=\"http://tboox.org/cn/2016/10/28/benchbox-coroutine/\" target=\"_blank\" rel=\"noopener noreferrer\">基准测试报告<OutboundLink/></a>)</li>\n<li>提供跨平台支持,核心切换算法参考boost,并且对其进行重写和优化,目前支持架构:x86, x86_64, arm, arm64, mips32</li>\n<li>提供channel协程间数据通信支持,基于生产、消费者模型</li>\n<li>提供信号量、协程锁支持</li>\n<li>socket、stream都模块原生支持协程,并且可在线程和协程间进行无缝切换</li>\n<li>提供http、file等基于协程的简单服务器实例,只需几百行代码,就可以从socket开始写个高性能io服务器,代码逻辑比异步回调模式更加清晰</li>\n<li>同时提供stackfull, stackless两种协程模式支持,stackless协程更加的轻量(每个协程只占用几十个bytes),切换更快(会牺牲部分易用性)</li>\n<li>支持epoll, kqueue, poll, select 和 IOCP</li>\n</ul>\n<h4 id=\"数据库\"><a class=\"header-anchor\" href=\"#数据库\" aria-hidden=\"true\">#</a> 数据库</h4>\n<ul>\n<li>统一并简化数据库操作接口,适配各种数据源,通过统一的url来自动连接打开支持的数据库,数据的枚举采用迭代器模型。</li>\n<li>目前支持sqlite3以及mysql两种关系型数据库,也可自定义扩展使用其他关系型数据库。</li>\n</ul>\n<h4 id=\"xml库\"><a class=\"header-anchor\" href=\"#xml库\" aria-hidden=\"true\">#</a> xml库</h4>\n<ul>\n<li>针对xml提供DOM和SAX两种解析模式,SAX方式采用外部迭代模式,灵活性和性能更高,并且可以选择指定路径,进行解析。</li>\n<li>解析过程完全基于stream,所以是高度流化的,可以实现边下载、边解压、边转码、边解析一条龙服务,使用较低的内存也可以解析大规模数据。</li>\n<li>提供xml writer以支持对xml生成</li>\n</ul>\n<h4 id=\"内存库\"><a class=\"header-anchor\" href=\"#内存库\" aria-hidden=\"true\">#</a> 内存库</h4>\n<ul>\n<li>参考linux内核内存管理机制的实现,并对其进行各种改造和优化,所实现的TBOX独有的一整套内存池管理架构。</li>\n<li>调试模式下,可以轻松检测并定位内存泄露、内存越界溢出、内存重叠覆盖等常见内存问题,并对整体内存的使用进行了统计和简要分析。</li>\n<li>针对大块数据、小块数据、字符串数据进行了充分的利用,避免了大量外部碎片和内部碎片的产生。分配操作进行了各种优化,96%的情况下,效率都是在O(1)。</li>\n</ul>\n<h4 id=\"容器库\"><a class=\"header-anchor\" href=\"#容器库\" aria-hidden=\"true\">#</a> 容器库</h4>\n<ul>\n<li>提供哈希、链表、数组、队列、堆栈、最小最大堆等常用容器。</li>\n<li>支持各种常用成员类型,在原有的容器期初上,其成员类型还可以完全自定义扩展。</li>\n<li>所有容器都支持迭代器操作。</li>\n<li>大部分容器都可以支持基于stream的序列化和反序列化操作。</li>\n</ul>\n<h4 id=\"算法库\"><a class=\"header-anchor\" href=\"#算法库\" aria-hidden=\"true\">#</a> 算法库</h4>\n<ul>\n<li>提供各种排序算法:冒泡排序、堆排序、快速排序、插入排序。</li>\n<li>提供各种查找算法:线性遍历、二分法搜索。</li>\n<li>提供各种遍历、删除、统计算法。</li>\n<li>以迭代器为接口,实现算法和容器的分离,类似stl,但是c实现的,更加轻量。</li>\n</ul>\n<h4 id=\"网络库\"><a class=\"header-anchor\" href=\"#网络库\" aria-hidden=\"true\">#</a> 网络库</h4>\n<ul>\n<li>实现http客户端模块</li>\n<li>实现cookies</li>\n<li>实现dns解析与缓存</li>\n<li>实现ssl(支持openssl, polarssl, mbedtls)</li>\n<li>支持ipv4、ipv6</li>\n<li>支持通过协程实现异步模式</li>\n</ul>\n<h4 id=\"数学运算库\"><a class=\"header-anchor\" href=\"#数学运算库\" aria-hidden=\"true\">#</a> 数学运算库</h4>\n<ul>\n<li>提供各种精度的定点运算支持</li>\n<li>提供随机数生成器</li>\n</ul>\n<h4 id=\"libc库\"><a class=\"header-anchor\" href=\"#libc库\" aria-hidden=\"true\">#</a> libc库</h4>\n<ul>\n<li>libc的一个轻量级实现,完全跨平台,并且针对不同架构进行了优化。</li>\n<li>支持大部分字符串、宽字符串操作。</li>\n<li>扩展字符串、宽字符串的各种大小写不敏感操作接口</li>\n<li>扩展<code>memset_u16</code>、<code>memset_u32</code>等接口,并对其进行高度优化,尤其适合图形渲染程序</li>\n</ul>\n<h4 id=\"libm库\"><a class=\"header-anchor\" href=\"#libm库\" aria-hidden=\"true\">#</a> libm库</h4>\n<ul>\n<li>libm部分接口的一个轻量级实现,以及对常用系统接口的封装。(目前只实现了部分,之后有时间会完全实现掉)</li>\n<li>扩展部分常用接口,增加对sqrt、log2等常用函数的整数版本计算,进行高度优化,不涉及浮点运算,适合嵌入式环境使用。</li>\n</ul>\n<h4 id=\"object库\"><a class=\"header-anchor\" href=\"#object库\" aria-hidden=\"true\">#</a> object库</h4>\n<ul>\n<li>轻量级类apple的CoreFoundation库,支持object、dictionary、array、string、number、date、data等常用对象,并且可以方便扩展自定义对象的序列化。</li>\n<li>支持对xml、json、binary以及apple的plist(xplist/bplist)格式序列化和反序列化。\n并且实现自有的binary序列化格式, 针对明文进行了简单的加密,在不影响性能的前提下,序列化后的大小比bplist节省30%。</li>\n</ul>\n<h4 id=\"平台库\"><a class=\"header-anchor\" href=\"#平台库\" aria-hidden=\"true\">#</a> 平台库</h4>\n<ul>\n<li>提供file、directory、socket、thread、time等常用系统接口</li>\n<li>提供atomic、atomic64接口</li>\n<li>提供高精度、低精度定时器</li>\n<li>提供高性能的线程池操作</li>\n<li>提供event、mutex、semaphore、spinlock等事件、互斥、信号量、自旋锁操作</li>\n<li>提供获取函数堆栈信息的接口,方便调试和错误定位</li>\n<li>提供跨平台动态库加载接口(如果系统支持的话)</li>\n<li>提供io轮询器,针对epoll, poll, select, kqueue进行跨平台封装</li>\n<li>提供跨平台上下文切换接口,主要用于协程实现,切换效率非常高</li>\n</ul>\n<h4 id=\"压缩库\"><a class=\"header-anchor\" href=\"#压缩库\" aria-hidden=\"true\">#</a> 压缩库</h4>\n<ul>\n<li>支持zlib/zlibraw/gzip的压缩与解压(需要第三方zlib库支持)。</li>\n</ul>\n<h4 id=\"字符编码库\"><a class=\"header-anchor\" href=\"#字符编码库\" aria-hidden=\"true\">#</a> 字符编码库</h4>\n<ul>\n<li>支持utf8、utf16、gbk、gb2312、uc2、uc4 之间的互相转码,并且支持大小端格式。</li>\n</ul>\n<h4 id=\"实用工具库\"><a class=\"header-anchor\" href=\"#实用工具库\" aria-hidden=\"true\">#</a> 实用工具库</h4>\n<ul>\n<li>实现base64/32编解码</li>\n<li>实现crc32、adler32、md5、sha1等常用hash算法</li>\n<li>实现日志输出、断言等辅助调试工具</li>\n<li>实现url编解码</li>\n<li>实现位操作相关接口,支持各种数据格式的解析,可以对8bits、16bits、32bits、64bits、float、double以及任意bits的字段进行解析操作,并且同时支持大端、小端和本地端模式,并针对部分操作进行了优化,像static_stream、stream都有相关接口对其进行了封装,方便在流上进行快速数据解析。</li>\n<li>实现swap16、swap32、swap64等位交换操作,并针对各个平台进行了优化。</li>\n<li>实现一些高级的位处理接口,例如:位0的快速统计、前导0和前导1的快速位计数、后导01的快速位计数</li>\n<li>实现单例模块,可以对静态对象、实例对象进行快速的单例封装,实现全局线程安全</li>\n<li>实现option模块,对命令行参数进行解析,提供快速方便的命令行选项建立和解析操作,对于写终端程序还是很有帮助的</li>\n</ul>\n<h4 id=\"正则表达式库\"><a class=\"header-anchor\" href=\"#正则表达式库\" aria-hidden=\"true\">#</a> 正则表达式库</h4>\n<ul>\n<li>支持匹配和替换操作</li>\n<li>支持全局、多行、大小写不敏感等模式</li>\n<li>使用pcre, pcre2和posix正则库</li>\n</ul>\n<h2 id=\"项目例子\"><a class=\"header-anchor\" href=\"#项目例子\" aria-hidden=\"true\">#</a> 项目例子</h2>\n<p>一些使用tbox的项目</p>\n<ul>\n<li><a href=\"https://github.com/tboox/gbox\" target=\"_blank\" rel=\"noopener noreferrer\">gbox<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/vm86\" target=\"_blank\" rel=\"noopener noreferrer\">vm86<OutboundLink/></a></li>\n<li><a href=\"http://www.xmake.io/cn\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/itrace\" target=\"_blank\" rel=\"noopener noreferrer\">itrace<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/%E4%BD%BF%E7%94%A8tbox%E7%9A%84%E5%BC%80%E6%BA%90%E5%BA%93\" target=\"_blank\" rel=\"noopener noreferrer\">更多项目<OutboundLink/></a></li>\n</ul>\n<h2 id=\"联系方式\"><a class=\"header-anchor\" href=\"#联系方式\" aria-hidden=\"true\">#</a> 联系方式</h2>\n<ul>\n<li>邮箱:<a href=\"mailto:waruqi@gmail.com\">waruqi@gmail.com</a></li>\n<li>主页:<a href=\"http://www.tboox.org/cn\" target=\"_blank\" rel=\"noopener noreferrer\">TBOOX开源工程<OutboundLink/></a></li>\n<li>社区:<a href=\"https://www.reddit.com/r/tboox/\" target=\"_blank\" rel=\"noopener noreferrer\">Reddit论坛<OutboundLink/></a></li>\n<li>QQ群:343118190</li>\n<li>微信公众号:tboox-os</li>\n</ul>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/2f40f10d2433d90f9326d0a8bdcb89fd.json b/node_modules/vuepress/node_modules/.cache/vuepress/2f40f10d2433d90f9326d0a8bdcb89fd.json new file mode 100644 index 00000000..b7a51e3a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/2f40f10d2433d90f9326d0a8bdcb89fd.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/introduction.md?vue&type=template&id=29661056&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/introduction.md","mtime":1541489249205},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"简介\"><a class=\"header-anchor\" href=\"#简介\" aria-hidden=\"true\">#</a> 简介</h1>\n<p>TBOX是一个用c语言实现的跨平台开发库。</p>\n<p>针对各个平台,封装了统一的接口,简化了各类开发过程中常用操作,使你在开发过程中,更加关注实际应用的开发,而不是把时间浪费在琐碎的接口兼容性上面,并且充分利用了各个平台独有的一些特性进行优化。</p>\n<p>这个项目的目的,是为了使C开发更加的简单高效。</p>\n<p>目前支持的平台有:</p>\n<ul>\n<li>Windows</li>\n<li>Macosx</li>\n<li>Linux</li>\n<li>Android</li>\n<li>iOS</li>\n</ul>\n<p>通过<a href=\"http://www.xmake.io/cn\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a>支持各种编译模式:</p>\n<ul>\n<li>Release: 正式版编译,禁用调试信息、断言,各种检测机制,启用编译器优化</li>\n<li>Debug: 调试模式,默认启用详细调试信息、断言、内存越界检测、内存泄漏、锁竞争分析等检测机制</li>\n<li>Small: 最小化编译,默认禁用所有扩展模块,启用编译器最小化优化</li>\n<li>Micro: 针对嵌入式平台,仅仅编译tbox微内核,仅提供最基础的跨平台接口,生成库仅64K左右(内置轻量libc接口实现)</li>\n</ul>\n<p>如果你想了解更多,请参考:</p>\n<ul>\n<li><a href=\"http://www.tboox.org/cn\" target=\"_blank\" rel=\"noopener noreferrer\">项目主页<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/%E7%9B%AE%E5%BD%95\" target=\"_blank\" rel=\"noopener noreferrer\">在线文档<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Github<OutboundLink/></a></li>\n<li><a href=\"https://gitee.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Gitee<OutboundLink/></a></li>\n</ul>\n<h2 id=\"特性\"><a class=\"header-anchor\" href=\"#特性\" aria-hidden=\"true\">#</a> 特性</h2>\n<h4 id=\"流库\"><a class=\"header-anchor\" href=\"#流库\" aria-hidden=\"true\">#</a> 流库</h4>\n<p>针对http、file、socket、data等流数据,实现统一接口进行读写,并且支持: 阻塞、非阻塞、异步 三种读写模式。\n支持中间增加多层filter流进行流过滤,实现边读取,内部边进行解压、编码转换、加密等操作,极大的减少了内存使用。</p>\n<p>主要提供以下模块:</p>\n<ul>\n<li><code>stream</code>:通用非阻塞流,用于一般的单独io处理,同时支持协程以实现异步传输。</li>\n<li><code>transfer</code>:流传输器,维护两路流的传输。</li>\n<li><code>static_stream</code>:针对静态数据buffer优化的静态流,用于轻量快速的数据解析。</li>\n</ul>\n<h4 id=\"协程库\"><a class=\"header-anchor\" href=\"#协程库\" aria-hidden=\"true\">#</a> 协程库</h4>\n<ul>\n<li>快速高效的协程切换支持(具体性能参考:<a href=\"http://tboox.org/cn/2016/10/28/benchbox-coroutine/\" target=\"_blank\" rel=\"noopener noreferrer\">基准测试报告<OutboundLink/></a>)</li>\n<li>提供跨平台支持,核心切换算法参考boost,并且对其进行重写和优化,目前支持架构:x86, x86_64, arm, arm64, mips32</li>\n<li>提供channel协程间数据通信支持,基于生产、消费者模型</li>\n<li>提供信号量、协程锁支持</li>\n<li>socket、stream都模块原生支持协程,并且可在线程和协程间进行无缝切换</li>\n<li>提供http、file等基于协程的简单服务器实例,只需几百行代码,就可以从socket开始写个高性能io服务器,代码逻辑比异步回调模式更加清晰</li>\n<li>同时提供stackfull, stackless两种协程模式支持,stackless协程更加的轻量(每个协程只占用几十个bytes),切换更快(会牺牲部分易用性)</li>\n<li>支持epoll, kqueue, poll, select 和 IOCP</li>\n</ul>\n<h4 id=\"数据库\"><a class=\"header-anchor\" href=\"#数据库\" aria-hidden=\"true\">#</a> 数据库</h4>\n<ul>\n<li>统一并简化数据库操作接口,适配各种数据源,通过统一的url来自动连接打开支持的数据库,数据的枚举采用迭代器模型。</li>\n<li>目前支持sqlite3以及mysql两种关系型数据库,也可自定义扩展使用其他关系型数据库。</li>\n</ul>\n<h4 id=\"xml库\"><a class=\"header-anchor\" href=\"#xml库\" aria-hidden=\"true\">#</a> xml库</h4>\n<ul>\n<li>针对xml提供DOM和SAX两种解析模式,SAX方式采用外部迭代模式,灵活性和性能更高,并且可以选择指定路径,进行解析。</li>\n<li>解析过程完全基于stream,所以是高度流化的,可以实现边下载、边解压、边转码、边解析一条龙服务,使用较低的内存也可以解析大规模数据。</li>\n<li>提供xml writer以支持对xml生成</li>\n</ul>\n<h4 id=\"内存库\"><a class=\"header-anchor\" href=\"#内存库\" aria-hidden=\"true\">#</a> 内存库</h4>\n<ul>\n<li>参考linux内核内存管理机制的实现,并对其进行各种改造和优化,所实现的TBOX独有的一整套内存池管理架构。</li>\n<li>调试模式下,可以轻松检测并定位内存泄露、内存越界溢出、内存重叠覆盖等常见内存问题,并对整体内存的使用进行了统计和简要分析。</li>\n<li>针对大块数据、小块数据、字符串数据进行了充分的利用,避免了大量外部碎片和内部碎片的产生。分配操作进行了各种优化,96%的情况下,效率都是在O(1)。</li>\n</ul>\n<h4 id=\"容器库\"><a class=\"header-anchor\" href=\"#容器库\" aria-hidden=\"true\">#</a> 容器库</h4>\n<ul>\n<li>提供哈希、链表、数组、队列、堆栈、最小最大堆等常用容器。</li>\n<li>支持各种常用成员类型,在原有的容器期初上,其成员类型还可以完全自定义扩展。</li>\n<li>所有容器都支持迭代器操作。</li>\n<li>大部分容器都可以支持基于stream的序列化和反序列化操作。</li>\n</ul>\n<h4 id=\"算法库\"><a class=\"header-anchor\" href=\"#算法库\" aria-hidden=\"true\">#</a> 算法库</h4>\n<ul>\n<li>提供各种排序算法:冒泡排序、堆排序、快速排序、插入排序。</li>\n<li>提供各种查找算法:线性遍历、二分法搜索。</li>\n<li>提供各种遍历、删除、统计算法。</li>\n<li>以迭代器为接口,实现算法和容器的分离,类似stl,但是c实现的,更加轻量。</li>\n</ul>\n<h4 id=\"网络库\"><a class=\"header-anchor\" href=\"#网络库\" aria-hidden=\"true\">#</a> 网络库</h4>\n<ul>\n<li>实现http客户端模块</li>\n<li>实现cookies</li>\n<li>实现dns解析与缓存</li>\n<li>实现ssl(支持openssl, polarssl, mbedtls)</li>\n<li>支持ipv4、ipv6</li>\n<li>支持通过协程实现异步模式</li>\n</ul>\n<h4 id=\"数学运算库\"><a class=\"header-anchor\" href=\"#数学运算库\" aria-hidden=\"true\">#</a> 数学运算库</h4>\n<ul>\n<li>提供各种精度的定点运算支持</li>\n<li>提供随机数生成器</li>\n</ul>\n<h4 id=\"libc库\"><a class=\"header-anchor\" href=\"#libc库\" aria-hidden=\"true\">#</a> libc库</h4>\n<ul>\n<li>libc的一个轻量级实现,完全跨平台,并且针对不同架构进行了优化。</li>\n<li>支持大部分字符串、宽字符串操作。</li>\n<li>扩展字符串、宽字符串的各种大小写不敏感操作接口</li>\n<li>扩展<code>memset_u16</code>、<code>memset_u32</code>等接口,并对其进行高度优化,尤其适合图形渲染程序</li>\n</ul>\n<h4 id=\"libm库\"><a class=\"header-anchor\" href=\"#libm库\" aria-hidden=\"true\">#</a> libm库</h4>\n<ul>\n<li>libm部分接口的一个轻量级实现,以及对常用系统接口的封装。(目前只实现了部分,之后有时间会完全实现掉)</li>\n<li>扩展部分常用接口,增加对sqrt、log2等常用函数的整数版本计算,进行高度优化,不涉及浮点运算,适合嵌入式环境使用。</li>\n</ul>\n<h4 id=\"object库\"><a class=\"header-anchor\" href=\"#object库\" aria-hidden=\"true\">#</a> object库</h4>\n<ul>\n<li>轻量级类apple的CoreFoundation库,支持object、dictionary、array、string、number、date、data等常用对象,并且可以方便扩展自定义对象的序列化。</li>\n<li>支持对xml、json、binary以及apple的plist(xplist/bplist)格式序列化和反序列化。\n并且实现自有的binary序列化格式, 针对明文进行了简单的加密,在不影响性能的前提下,序列化后的大小比bplist节省30%。</li>\n</ul>\n<h4 id=\"平台库\"><a class=\"header-anchor\" href=\"#平台库\" aria-hidden=\"true\">#</a> 平台库</h4>\n<ul>\n<li>提供file、directory、socket、thread、time等常用系统接口</li>\n<li>提供atomic、atomic64接口</li>\n<li>提供高精度、低精度定时器</li>\n<li>提供高性能的线程池操作</li>\n<li>提供event、mutex、semaphore、spinlock等事件、互斥、信号量、自旋锁操作</li>\n<li>提供获取函数堆栈信息的接口,方便调试和错误定位</li>\n<li>提供跨平台动态库加载接口(如果系统支持的话)</li>\n<li>提供io轮询器,针对epoll, poll, select, kqueue进行跨平台封装</li>\n<li>提供跨平台上下文切换接口,主要用于协程实现,切换效率非常高</li>\n</ul>\n<h4 id=\"压缩库\"><a class=\"header-anchor\" href=\"#压缩库\" aria-hidden=\"true\">#</a> 压缩库</h4>\n<ul>\n<li>支持zlib/zlibraw/gzip的压缩与解压(需要第三方zlib库支持)。</li>\n</ul>\n<h4 id=\"字符编码库\"><a class=\"header-anchor\" href=\"#字符编码库\" aria-hidden=\"true\">#</a> 字符编码库</h4>\n<ul>\n<li>支持utf8、utf16、gbk、gb2312、uc2、uc4 之间的互相转码,并且支持大小端格式。</li>\n</ul>\n<h4 id=\"实用工具库\"><a class=\"header-anchor\" href=\"#实用工具库\" aria-hidden=\"true\">#</a> 实用工具库</h4>\n<ul>\n<li>实现base64/32编解码</li>\n<li>实现crc32、adler32、md5、sha1等常用hash算法</li>\n<li>实现日志输出、断言等辅助调试工具</li>\n<li>实现url编解码</li>\n<li>实现位操作相关接口,支持各种数据格式的解析,可以对8bits、16bits、32bits、64bits、float、double以及任意bits的字段进行解析操作,并且同时支持大端、小端和本地端模式,并针对部分操作进行了优化,像static_stream、stream都有相关接口对其进行了封装,方便在流上进行快速数据解析。</li>\n<li>实现swap16、swap32、swap64等位交换操作,并针对各个平台进行了优化。</li>\n<li>实现一些高级的位处理接口,例如:位0的快速统计、前导0和前导1的快速位计数、后导01的快速位计数</li>\n<li>实现单例模块,可以对静态对象、实例对象进行快速的单例封装,实现全局线程安全</li>\n<li>实现option模块,对命令行参数进行解析,提供快速方便的命令行选项建立和解析操作,对于写终端程序还是很有帮助的</li>\n</ul>\n<h4 id=\"正则表达式库\"><a class=\"header-anchor\" href=\"#正则表达式库\" aria-hidden=\"true\">#</a> 正则表达式库</h4>\n<ul>\n<li>支持匹配和替换操作</li>\n<li>支持全局、多行、大小写不敏感等模式</li>\n<li>使用pcre, pcre2和posix正则库</li>\n</ul>\n<h2 id=\"项目例子\"><a class=\"header-anchor\" href=\"#项目例子\" aria-hidden=\"true\">#</a> 项目例子</h2>\n<p>一些使用tbox的项目</p>\n<ul>\n<li><a href=\"https://github.com/tboox/gbox\" target=\"_blank\" rel=\"noopener noreferrer\">gbox<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/vm86\" target=\"_blank\" rel=\"noopener noreferrer\">vm86<OutboundLink/></a></li>\n<li><a href=\"http://www.xmake.io/cn\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/itrace\" target=\"_blank\" rel=\"noopener noreferrer\">itrace<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/%E4%BD%BF%E7%94%A8tbox%E7%9A%84%E5%BC%80%E6%BA%90%E5%BA%93\" target=\"_blank\" rel=\"noopener noreferrer\">更多项目<OutboundLink/></a></li>\n</ul>\n<h2 id=\"联系方式\"><a class=\"header-anchor\" href=\"#联系方式\" aria-hidden=\"true\">#</a> 联系方式</h2>\n<ul>\n<li>邮箱:<a href=\"mailto:waruqi@gmail.com\">waruqi@gmail.com</a></li>\n<li>主页:<a href=\"http://www.tboox.org/cn\" target=\"_blank\" rel=\"noopener noreferrer\">TBOOX开源工程<OutboundLink/></a></li>\n<li>社区:<a href=\"https://www.reddit.com/r/tboox/\" target=\"_blank\" rel=\"noopener noreferrer\">Reddit论坛<OutboundLink/></a></li>\n<li>QQ群:343118190</li>\n<li>微信公众号:tboox-os</li>\n</ul>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/2f9faf677ce0b4f7fa5b9720ce36c7a6.json b/node_modules/vuepress/node_modules/.cache/vuepress/2f9faf677ce0b4f7fa5b9720ce36c7a6.json new file mode 100644 index 00000000..21ec6f6f --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/2f9faf677ce0b4f7fa5b9720ce36c7a6.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue?vue&type=template&id=2a2a1355&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div class=\"search-box\">\n <input\n @input=\"query = $event.target.value\"\n aria-label=\"Search\"\n :value=\"query\"\n :class=\"{ 'focused': focused }\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n @focus=\"focused = true\"\n @blur=\"focused = false\"\n @keyup.enter=\"go(focusIndex)\"\n @keyup.up=\"onUp\"\n @keyup.down=\"onDown\"\n >\n <ul\n class=\"suggestions\"\n v-if=\"showSuggestions\"\n :class=\"{ 'align-right': alignRight }\"\n @mouseleave=\"unfocus\"\n >\n <li\n class=\"suggestion\"\n v-for=\"(s, i) in suggestions\"\n :class=\"{ focused: i === focusIndex }\"\n @mousedown=\"go(i)\"\n @mouseenter=\"focus(i)\"\n >\n <a :href=\"s.path\" @click.prevent>\n <span class=\"page-title\">{{ s.title || s.path }}</span>\n <span v-if=\"s.header\" class=\"header\">> {{ s.header.title }}</span>\n </a>\n </li>\n </ul>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/2fab952bf59478e2183568df24de9ed9.json b/node_modules/vuepress/node_modules/.cache/vuepress/2fab952bf59478e2183568df24de9ed9.json new file mode 100644 index 00000000..403c9abc --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/2fab952bf59478e2183568df24de9ed9.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.nav-links\n display inline-block\n a\n line-height 1.4rem\n color inherit\n &:hover, &.router-link-active\n color $accentColor\n .nav-item\n position relative\n display inline-block\n margin-left 1.5rem\n line-height 2rem\n &:first-child\n margin-left 0\n .repo-link\n margin-left 1.5rem\n\n@media (max-width: $MQMobile)\n .nav-links\n .nav-item, .repo-link\n margin-left 0\n\n@media (min-width: $MQMobile)\n .nav-links a\n &:hover, &.router-link-active\n color $textColor\n .nav-item > a:not(.external)\n &:hover, &.router-link-active\n margin-bottom -2px\n border-bottom 2px solid lighten($accentColor, 8%)\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/2faf518f056f614b67fe585f97ef3bc9.json b/node_modules/vuepress/node_modules/.cache/vuepress/2faf518f056f614b67fe585f97ef3bc9.json new file mode 100644 index 00000000..cd45bd6c --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/2faf518f056f614b67fe585f97ef3bc9.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/getting-started.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/getting-started.md","mtime":1541489096650},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./getting-started.md?vue&type=template&id=b833ee74&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"getting-started.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/3082db06e4ae1df42e2199f60b8870e5.json b/node_modules/vuepress/node_modules/.cache/vuepress/3082db06e4ae1df42e2199f60b8870e5.json new file mode 100644 index 00000000..5a1f3633 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/3082db06e4ae1df42e2199f60b8870e5.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/zh/guide/getting-started.md?vue&type=template&id=01e6c1a0&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/zh/guide/getting-started.md","mtime":1541554744255},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _vm._m(1),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"请先安装: \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _vm._m(2),\n _vm._m(3),\n _vm._v(\" \"),\n _vm._m(4)\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h1\", { attrs: { id: \"快速开始\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#快速开始\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 快速开始\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"编译\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#编译\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 编译\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"# 默认直接编译当前主机平台\")\n ]),\n _vm._v(\"\\n$ \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"cd\")]),\n _vm._v(\" ./tbox\\n$ xmake\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"# 编译mingw平台\")\n ]),\n _vm._v(\"\\n$ \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"cd\")]),\n _vm._v(\" ./tbox\\n$ xmake f -p mingw --sdk\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"/home/mingwsdk \\n$ xmake\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"# 编译iphoneos平台\")\n ]),\n _vm._v(\"\\n$ \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"cd\")]),\n _vm._v(\" ./tbox\\n$ xmake f -p iphoneos \\n$ xmake\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"# 编译android平台\")\n ]),\n _vm._v(\"\\n$ \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"cd\")]),\n _vm._v(\" ./tbox\\n$ xmake f -p android --ndk\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"xxxxx\\n$ xmake\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"# 交叉编译\")\n ]),\n _vm._v(\"\\n$ \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"cd\")]),\n _vm._v(\" ./tbox\\n$ xmake f -p linux --sdk\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"/home/sdk \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"#--bin=/home/sdk/bin\")\n ]),\n _vm._v(\"\\n$ xmake\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"例子\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#例子\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 例子\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-c extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-c\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token macro property\" } }, [\n _vm._v(\"#\"),\n _c(\"span\", { attrs: { class: \"token directive keyword\" } }, [\n _vm._v(\"include\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"tbox/tbox.h\"')\n ])\n ]),\n _vm._v(\"\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"int\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"main\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"int\")]),\n _vm._v(\" argc\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"char\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _vm._v(\" argv\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// init tbox\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"!\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_init\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"tb_null\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" tb_null\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"return\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// trace\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_trace_i\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"hello tbox\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// init vector\")\n ]),\n _vm._v(\"\\n tb_vector_ref_t vector \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_init\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_element_cstr\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"tb_true\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// insert item\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_insert_tail\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"hello\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_insert_tail\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"tbox\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// dump all items\")\n ]),\n _vm._v(\"\\n tb_for_all \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"tb_char_t \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"const\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" cstr\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// trace\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_trace_i\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"%s\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" cstr\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// exit vector\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_exit\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// init stream\")\n ]),\n _vm._v(\"\\n tb_stream_ref_t stream \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_init_from_url\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"http://www.xxx.com/file.txt\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// open stream\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_open\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// read line\")\n ]),\n _vm._v(\"\\n tb_long_t size \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n tb_char_t line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"TB_STREAM_BLOCK_MAXN\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"while\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"size \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_bread_line\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"sizeof\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\">=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// trace\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_trace_i\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"line: %s\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// exit stream\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_exit\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// wait \")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"getchar\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// exit tbox\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_exit\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"return\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/309f9eefe7016cff4857865f141ec272.json b/node_modules/vuepress/node_modules/.cache/vuepress/309f9eefe7016cff4857865f141ec272.json new file mode 100644 index 00000000..56a5dd45 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/309f9eefe7016cff4857865f141ec272.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/Badge.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/Badge.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\nexport default {\n functional: true,\n props: {\n type: {\n type: String,\n default: 'tip'\n },\n text: String,\n vertical: {\n type: String,\n default: 'top'\n }\n },\n render (h, { props, slots }) {\n return h('span', {\n class: ['badge', props.type, props.vertical]\n }, props.text || slots().default)\n }\n}\n",{"version":3,"sources":["Badge.vue"],"names":[],"mappings":";AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"Badge.vue","sourceRoot":"node_modules/vuepress/lib/app/components","sourcesContent":["<script>\nexport default {\n functional: true,\n props: {\n type: {\n type: String,\n default: 'tip'\n },\n text: String,\n vertical: {\n type: String,\n default: 'top'\n }\n },\n render (h, { props, slots }) {\n return h('span', {\n class: ['badge', props.type, props.vertical]\n }, props.text || slots().default)\n }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n@import '../../default-theme/styles/config.styl'\n\n.badge\n display inline-block\n font-size 14px\n height 18px\n line-height 18px\n border-radius 3px\n padding 0 6px\n color white\n margin-right 5px\n background-color #42b983\n &.middle\n vertical-align middle\n &.top\n vertical-align top\n &.tip, &.green\n background-color #42b983\n &.error\n background-color #DA5961 //#f66\n &.warning, &.warn, &.yellow\n background-color darken(#ffe564, 35%)\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/310f56cb3f4f17a3dbae1bc0e4d2d5c2.json b/node_modules/vuepress/node_modules/.cache/vuepress/310f56cb3f4f17a3dbae1bc0e4d2d5c2.json new file mode 100644 index 00000000..dffdf70b --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/310f56cb3f4f17a3dbae1bc0e4d2d5c2.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/ClientOnly.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/ClientOnly.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["export default {\n functional: true,\n render: function render(h, _ref) {\n var parent = _ref.parent,\n children = _ref.children;\n\n if (parent._isMounted) {\n return children;\n } else {\n parent.$once('hook:mounted', function () {\n parent.$forceUpdate();\n });\n }\n }\n};",{"version":3,"sources":["node_modules/vuepress/lib/app/components/ClientOnly.js"],"names":["functional","render","h","parent","children","_isMounted","$once","$forceUpdate"],"mappings":"AAAA,eAAe;AACbA,cAAY,IADC;AAEbC,QAFa,kBAELC,CAFK,QAEoB;AAAA,QAApBC,MAAoB,QAApBA,MAAoB;AAAA,QAAZC,QAAY,QAAZA,QAAY;;AAC/B,QAAID,OAAOE,UAAX,EAAuB;AACrB,aAAOD,QAAP;AACD,KAFD,MAEO;AACLD,aAAOG,KAAP,CAAa,cAAb,EAA6B,YAAM;AACjCH,eAAOI,YAAP;AACD,OAFD;AAGD;AACF;AAVY,CAAf","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["export default {\n functional: true,\n render (h, { parent, children }) {\n if (parent._isMounted) {\n return children\n } else {\n parent.$once('hook:mounted', () => {\n parent.$forceUpdate()\n })\n }\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/31401cf4da7a154aac880d55f9e1619d.json b/node_modules/vuepress/node_modules/.cache/vuepress/31401cf4da7a154aac880d55f9e1619d.json new file mode 100644 index 00000000..f5e8dfd7 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/31401cf4da7a154aac880d55f9e1619d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/guide/introduction.md?vue&type=template&id=b5b1b492&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/guide/introduction.md","mtime":1541581901760},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm._m(0)\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _c(\"p\"),\n _c(\"div\", { attrs: { align: \"center\" } }, [\n _c(\"a\", { attrs: { href: \"http://xmake.io\" } }, [\n _c(\"img\", {\n attrs: {\n width: \"200\",\n heigth: \"200\",\n src: \"http://tboox.org/static/img/xmake/logo256c.png\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"h1\", [_vm._v(\"xmake\")]),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\"a\", { attrs: { href: \"https://travis-ci.org/tboox/xmake\" } }, [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/travis/tboox/xmake/master.svg?style=flat-square\",\n alt: \"travis-ci\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\n \"a\",\n {\n attrs: {\n href:\n \"https://ci.appveyor.com/project/waruqi/xmake/branch/master\"\n }\n },\n [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/appveyor/ci/waruqi/xmake/master.svg?style=flat-square\",\n alt: \"appveyor-ci\"\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\"a\", { attrs: { href: \"https://codecov.io/gh/tboox/xmake\" } }, [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/codecov/c/github/tboox/xmake/master.svg?style=flat-square\",\n alt: \"Coverage\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\n \"a\",\n { attrs: { href: \"https://aur.archlinux.org/packages/xmake\" } },\n [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/aur/votes/xmake.svg?style=flat-square\",\n alt: \"AUR votes\"\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"a\",\n { attrs: { href: \"https://github.com/tboox/xmake/releases\" } },\n [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/github/release/tboox/xmake.svg?style=flat-square\",\n alt: \"Github All Releases\"\n }\n })\n ]\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake/blob/master/LICENSE.md\"\n }\n },\n [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/github/license/tboox/xmake.svg?colorB=f48041&style=flat-square\",\n alt: \"license\"\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\"a\", { attrs: { href: \"https://www.reddit.com/r/tboox/\" } }, [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/badge/chat-on%20reddit-ff3f34.svg?style=flat-square\",\n alt: \"Reddit\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\n \"a\",\n {\n attrs: {\n href:\n \"https://gitter.im/tboox/tboox?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\"\n }\n },\n [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/gitter/room/tboox/tboox.svg?style=flat-square&colorB=96c312\",\n alt: \"Gitter\"\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\"a\", { attrs: { href: \"https://t.me/tbooxorg\" } }, [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/badge/chat-on%20telegram-blue.svg?style=flat-square\",\n alt: \"Telegram\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\n \"a\",\n { attrs: { href: \"https://jq.qq.com/?_wv=1027&k=5hpwWFv\" } },\n [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/badge/chat-on%20QQ-ff69b4.svg?style=flat-square\",\n alt: \"QQ\"\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"a\",\n { attrs: { href: \"http://xmake.io/pages/donation.html#donate\" } },\n [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/badge/donate-us-orange.svg?style=flat-square\",\n alt: \"Donate\"\n }\n })\n ]\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"A cross-platform build utility based on Lua\")])\n ]),\n _vm._v(\" \"),\n _c(\"p\"),\n _vm._v(\" \"),\n _c(\"h2\", { attrs: { id: \"introduction\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#introduction\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Introduction\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"xmake is a cross-platform build utility based on lua.\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"The project focuses on making development and building easier and provides many features (.e.g package, install, plugin, macro, action, option, task ...),\\nso that any developer can quickly pick it up and enjoy the productivity boost when developing and building project.\"\n )\n ])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/314e96ba870b36175a22223aa16c800a.json b/node_modules/vuepress/node_modules/.cache/vuepress/314e96ba870b36175a22223aa16c800a.json new file mode 100644 index 00000000..a751ba55 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/314e96ba870b36175a22223aa16c800a.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLink.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.iterator\";\nimport \"core-js/modules/es6.object.keys\";\nimport \"core-js/modules/es6.array.some\";\nimport \"core-js/modules/es6.string.link\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport { isExternal, isMailto, isTel, ensureExt } from './util';\nexport default {\n props: {\n item: {\n required: true\n }\n },\n computed: {\n link: function link() {\n return ensureExt(this.item.link);\n },\n exact: function exact() {\n var _this = this;\n\n if (this.$site.locales) {\n return Object.keys(this.$site.locales).some(function (rootLink) {\n return rootLink === _this.link;\n });\n }\n\n return this.link === '/';\n }\n },\n methods: {\n isExternal: isExternal,\n isMailto: isMailto,\n isTel: isTel\n }\n};",{"version":3,"sources":["NavLink.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAoBA,SAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,SAAA,QAAA,QAAA;AAEA,eAAA;AACA,SAAA;AACA,UAAA;AACA,gBAAA;AADA;AADA,GADA;AAOA,YAAA;AACA,QADA,kBACA;AACA,aAAA,UAAA,KAAA,IAAA,CAAA,IAAA,CAAA;AACA,KAHA;AAKA,SALA,mBAKA;AAAA;;AACA,UAAA,KAAA,KAAA,CAAA,OAAA,EAAA;AACA,eAAA,OAAA,IAAA,CAAA,KAAA,KAAA,CAAA,OAAA,EAAA,IAAA,CAAA;AAAA,iBAAA,aAAA,MAAA,IAAA;AAAA,SAAA,CAAA;AACA;;AACA,aAAA,KAAA,IAAA,KAAA,GAAA;AACA;AAVA,GAPA;AAoBA,WAAA;AACA,0BADA;AAEA,sBAFA;AAGA;AAHA;AApBA,CAAA","sourcesContent":["<template>\n <router-link\n class=\"nav-link\"\n :to=\"link\"\n v-if=\"!isExternal(link)\"\n :exact=\"exact\"\n >{{ item.text }}</router-link>\n <a\n v-else\n :href=\"link\"\n class=\"nav-link external\"\n :target=\"isMailto(link) || isTel(link) ? null : '_blank'\"\n :rel=\"isMailto(link) || isTel(link) ? null : 'noopener noreferrer'\"\n >\n {{ item.text }}\n <OutboundLink/>\n </a>\n</template>\n\n<script>\nimport { isExternal, isMailto, isTel, ensureExt } from './util'\n\nexport default {\n props: {\n item: {\n required: true\n }\n },\n\n computed: {\n link () {\n return ensureExt(this.item.link)\n },\n\n exact () {\n if (this.$site.locales) {\n return Object.keys(this.$site.locales).some(rootLink => rootLink === this.link)\n }\n return this.link === '/'\n }\n },\n\n methods: {\n isExternal,\n isMailto,\n isTel\n }\n}\n</script>\n"],"sourceRoot":"node_modules/vuepress/lib/default-theme"}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/316fdf5dc53cb2a0f9b7b39bcc51315b.json b/node_modules/vuepress/node_modules/.cache/vuepress/316fdf5dc53cb2a0f9b7b39bcc51315b.json new file mode 100644 index 00000000..7db449b8 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/316fdf5dc53cb2a0f9b7b39bcc51315b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue?vue&type=template&id=4e56f67c&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"dropdown-wrapper\", class: { open: _vm.open } },\n [\n _c(\"a\", { staticClass: \"dropdown-title\", on: { click: _vm.toggle } }, [\n _c(\"span\", { staticClass: \"title\" }, [_vm._v(_vm._s(_vm.item.text))]),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"arrow\", class: _vm.open ? \"down\" : \"right\" })\n ]),\n _vm._v(\" \"),\n _c(\"DropdownTransition\", [\n _c(\n \"ul\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.open,\n expression: \"open\"\n }\n ],\n staticClass: \"nav-dropdown\"\n },\n _vm._l(_vm.item.items, function(subItem, index) {\n return _c(\n \"li\",\n { key: subItem.link || index, staticClass: \"dropdown-item\" },\n [\n subItem.type === \"links\"\n ? _c(\"h4\", [_vm._v(_vm._s(subItem.text))])\n : _vm._e(),\n _vm._v(\" \"),\n subItem.type === \"links\"\n ? _c(\n \"ul\",\n { staticClass: \"dropdown-subitem-wrapper\" },\n _vm._l(subItem.items, function(childSubItem) {\n return _c(\n \"li\",\n {\n key: childSubItem.link,\n staticClass: \"dropdown-subitem\"\n },\n [_c(\"NavLink\", { attrs: { item: childSubItem } })],\n 1\n )\n })\n )\n : _c(\"NavLink\", { attrs: { item: subItem } })\n ],\n 1\n )\n })\n )\n ])\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/3252dd0e6cee2bc4a875f7e91207c61b.json b/node_modules/vuepress/node_modules/.cache/vuepress/3252dd0e6cee2bc4a875f7e91207c61b.json new file mode 100644 index 00000000..1f48d124 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/3252dd0e6cee2bc4a875f7e91207c61b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./NavLinks.vue?vue&type=template&id=649143b0&\"\nimport script from \"./NavLinks.vue?vue&type=script&lang=js&\"\nexport * from \"./NavLinks.vue?vue&type=script&lang=js&\"\nfunction injectStyles (context) {\n \n var style0 = require(\"./NavLinks.vue?vue&type=style&index=0&lang=stylus&\")\nif (style0.__inject__) style0.__inject__(context)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n \"05902aef\"\n \n)\n\ncomponent.options.__file = \"NavLinks.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/33468b86d5645c987288ff5ba0c111c6.json b/node_modules/vuepress/node_modules/.cache/vuepress/33468b86d5645c987288ff5ba0c111c6.json new file mode 100644 index 00000000..7e6b3f5a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/33468b86d5645c987288ff5ba0c111c6.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/README.md?vue&type=template&id=48a1fb61&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/README.md","mtime":1541513043653},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><!--beforebegin--><div class=\"language-c extra-class\"><!--afterbegin--><pre v-pre class=\"language-c\"><code><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">\"tbox/tbox.h\"</span></span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> argc<span class=\"token punctuation\">,</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span> argv<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// init tbox</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">tb_init</span><span class=\"token punctuation\">(</span>tb_null<span class=\"token punctuation\">,</span> tb_null<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// init vector</span>\n tb_vector_ref_t vector <span class=\"token operator\">=</span> <span class=\"token function\">tb_vector_init</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">tb_element_cstr</span><span class=\"token punctuation\">(</span>tb_true<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// insert item</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// dump all items</span>\n tb_for_all <span class=\"token punctuation\">(</span>tb_char_t <span class=\"token keyword\">const</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">,</span> vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%s\"</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit vector</span>\n <span class=\"token function\">tb_vector_exit</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit tbox</span>\n <span class=\"token function\">tb_exit</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/3370ec0fd92900ead8e699c683f082b1.json b/node_modules/vuepress/node_modules/.cache/vuepress/3370ec0fd92900ead8e699c683f082b1.json new file mode 100644 index 00000000..d7668330 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/3370ec0fd92900ead8e699c683f082b1.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/Badge.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/Badge.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render, staticRenderFns\nimport script from \"./Badge.vue?vue&type=script&lang=js&\"\nexport * from \"./Badge.vue?vue&type=script&lang=js&\"\nfunction injectStyles (context) {\n \n var style0 = require(\"./Badge.vue?vue&type=style&index=0&id=099ab69c&lang=stylus&scoped=true&\")\nif (style0.__inject__) style0.__inject__(context)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n \"099ab69c\",\n \"5dc6d11f\"\n \n)\n\ncomponent.options.__file = \"Badge.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/33b897688aecd4fbe8b7c5bce78bafdd.json b/node_modules/vuepress/node_modules/.cache/vuepress/33b897688aecd4fbe8b7c5bce78bafdd.json new file mode 100644 index 00000000..4827d185 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/33b897688aecd4fbe8b7c5bce78bafdd.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./Page.vue?vue&type=template&id=7eb32c3c&\"\nimport script from \"./Page.vue?vue&type=script&lang=js&\"\nexport * from \"./Page.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Page.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"Page.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/34062ee1a34aa5affbd67b4cc3ee3827.json b/node_modules/vuepress/node_modules/.cache/vuepress/34062ee1a34aa5affbd67b4cc3ee3827.json new file mode 100644 index 00000000..03a69f84 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/34062ee1a34aa5affbd67b4cc3ee3827.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/manual/introduction.md?vue&type=template&id=e9b9111a&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/manual/introduction.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._ssrNode(\"<h1 id=\\\"manual\\\"><a href=\\\"#manual\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Manual</h1> <p>[TODO]</p>\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/357a230114c4fb53224273e3da934ff6.json b/node_modules/vuepress/node_modules/.cache/vuepress/357a230114c4fb53224273e3da934ff6.json new file mode 100644 index 00000000..6064d4d8 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/357a230114c4fb53224273e3da934ff6.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/manual/index.md?vue&type=template&id=6d0b4415&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/manual/index.md","mtime":1541492172602},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._ssrNode(\"<h1 id=\\\"手册\\\"><a href=\\\"#手册\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 手册</h1> <p>[TODO]</p>\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/35a0f6eff7a91dc17eba0aff3d5327bf.json b/node_modules/vuepress/node_modules/.cache/vuepress/35a0f6eff7a91dc17eba0aff3d5327bf.json new file mode 100644 index 00000000..487c79a3 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/35a0f6eff7a91dc17eba0aff3d5327bf.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/zh/README.md?vue&type=template&id=4f009e77&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/zh/README.md","mtime":1541598623911},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h2 id=\"简单的工程描述\"><a class=\"header-anchor\" href=\"#简单的工程描述\" aria-hidden=\"true\">#</a> 简单的工程描述</h2>\n<img src=\"https://xmake.io/assets/img/index/showcode1.png\" width=\"40%\" />\n<h2 id=\"包依赖描述\"><a class=\"header-anchor\" href=\"#包依赖描述\" aria-hidden=\"true\">#</a> 包依赖描述</h2>\n<img src=\"https://xmake.io/assets/img/index/add_require.png\" width=\"70%\" />\n<p>官方的xmake包管理仓库: <a href=\"https://github.com/tboox/xmake-repo\" target=\"_blank\" rel=\"noopener noreferrer\">xmake-repo<OutboundLink/></a></p>\n<h2 id=\"构建工程\"><a class=\"header-anchor\" href=\"#构建工程\" aria-hidden=\"true\">#</a> 构建工程</h2>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"运行目标\"><a class=\"header-anchor\" href=\"#运行目标\" aria-hidden=\"true\">#</a> 运行目标</h2>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake run console\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"调试程序\"><a class=\"header-anchor\" href=\"#调试程序\" aria-hidden=\"true\">#</a> 调试程序</h2>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake run -d console\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"配置平台\"><a class=\"header-anchor\" href=\"#配置平台\" aria-hidden=\"true\">#</a> 配置平台</h2>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f -p <span class=\"token punctuation\">[</span>windows<span class=\"token operator\">|</span>linux<span class=\"token operator\">|</span>macosx<span class=\"token operator\">|</span>android<span class=\"token operator\">|</span>iphoneos <span class=\"token punctuation\">..</span><span class=\"token punctuation\">]</span> -a <span class=\"token punctuation\">[</span>x86<span class=\"token operator\">|</span>arm64 <span class=\"token punctuation\">..</span><span class=\"token punctuation\">]</span> -m <span class=\"token punctuation\">[</span>debug<span class=\"token operator\">|</span>release<span class=\"token punctuation\">]</span>\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"图形化菜单配置\"><a class=\"header-anchor\" href=\"#图形化菜单配置\" aria-hidden=\"true\">#</a> 图形化菜单配置</h2>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f --menu\n</code></pre>\n<!--beforeend--></div><!--afterend--><img src=\"https://xmake.io/assets/img/index/menuconf.png\" width=\"80%\" />\n<h2 id=\"包依赖管理\"><a class=\"header-anchor\" href=\"#包依赖管理\" aria-hidden=\"true\">#</a> 包依赖管理</h2>\n<img src=\"https://xmake.io/assets/img/index/package_manage.png\" width=\"80%\" />\n<h2 id=\"支持平台\"><a class=\"header-anchor\" href=\"#支持平台\" aria-hidden=\"true\">#</a> 支持平台</h2>\n<ul>\n<li>Windows (x86, x64)</li>\n<li>Macosx (i386, x86_64)</li>\n<li>Linux (i386, x86_64, cross-toolchains ...)</li>\n<li>Android (armv5te, armv6, armv7-a, armv8-a, arm64-v8a)</li>\n<li>iPhoneOS (armv7, armv7s, arm64, i386, x86_64)</li>\n<li>WatchOS (armv7k, i386)</li>\n<li>Mingw (i386, x86_64)</li>\n</ul>\n<h2 id=\"支持语言\"><a class=\"header-anchor\" href=\"#支持语言\" aria-hidden=\"true\">#</a> 支持语言</h2>\n<ul>\n<li>C/C++</li>\n<li>Objc/Objc++</li>\n<li>Swift</li>\n<li>Assembly</li>\n<li>Golang</li>\n<li>Rust</li>\n<li>Dlang</li>\n<li>Cuda</li>\n</ul>\n<h2 id=\"工程类型\"><a class=\"header-anchor\" href=\"#工程类型\" aria-hidden=\"true\">#</a> 工程类型</h2>\n<ul>\n<li>静态库程序</li>\n<li>动态库类型</li>\n<li>控制台程序</li>\n<li>Cuda程序</li>\n<li>Qt应用程序</li>\n<li>WDK驱动程序</li>\n<li>WinSDK应用程序</li>\n</ul>\n<h2 id=\"内置插件\"><a class=\"header-anchor\" href=\"#内置插件\" aria-hidden=\"true\">#</a> 内置插件</h2>\n<h4 id=\"宏记录脚本和回放插件\"><a class=\"header-anchor\" href=\"#宏记录脚本和回放插件\" aria-hidden=\"true\">#</a> 宏记录脚本和回放插件</h4>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake m -b <span class=\"token comment\"># 开始记录</span>\n$ xmake f -p iphoneos -m debug\n$ xmake \n$ xmake f -p android --ndk<span class=\"token operator\">=</span>~/files/android-ndk-r16b\n$ xmake\n$ xmake m -e <span class=\"token comment\"># 结束记录</span>\n$ xmake m <span class=\"token keyword\">.</span> <span class=\"token comment\"># 回放命令</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><h4 id=\"加载自定义lua脚本插件\"><a class=\"header-anchor\" href=\"#加载自定义lua脚本插件\" aria-hidden=\"true\">#</a> 加载自定义lua脚本插件</h4>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake l ./test.lua\n$ xmake l -c <span class=\"token string\">\"print('hello xmake!')\"</span>\n$ xmake l lib.detect.find_tool gcc\n</code></pre>\n<!--beforeend--></div><!--afterend--><h4 id=\"生成ide工程文件插件(makefile-vs2002-vs2017-)\"><a class=\"header-anchor\" href=\"#生成ide工程文件插件(makefile-vs2002-vs2017-)\" aria-hidden=\"true\">#</a> 生成IDE工程文件插件(makefile, vs2002 - vs2017, ...)</h4>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake project -k vs2017 -m <span class=\"token string\">\"debug,release\"</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><h4 id=\"生成doxygen文档插件\"><a class=\"header-anchor\" href=\"#生成doxygen文档插件\" aria-hidden=\"true\">#</a> 生成doxygen文档插件</h4>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake doxygen <span class=\"token punctuation\">[</span>srcdir<span class=\"token punctuation\">]</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"更多插件\"><a class=\"header-anchor\" href=\"#更多插件\" aria-hidden=\"true\">#</a> 更多插件</h2>\n<p>请到插件仓库进行下载安装: <a href=\"https://github.com/tboox/xmake-plugins\" target=\"_blank\" rel=\"noopener noreferrer\">xmake-plugins<OutboundLink/></a>.</p>\n<h2 id=\"ide和编辑器插件\"><a class=\"header-anchor\" href=\"#ide和编辑器插件\" aria-hidden=\"true\">#</a> IDE和编辑器插件</h2>\n<ul>\n<li><a href=\"https://github.com/tboox/xmake-vscode\" target=\"_blank\" rel=\"noopener noreferrer\">xmake-vscode<OutboundLink/></a></li>\n</ul>\n<img src=\"https://raw.githubusercontent.com/tboox/xmake-vscode/master/res/problem.gif\" width=\"60%\" />\n<ul>\n<li><a href=\"https://github.com/tboox/xmake-sublime\" target=\"_blank\" rel=\"noopener noreferrer\">xmake-sublime<OutboundLink/></a></li>\n</ul>\n<img src=\"https://raw.githubusercontent.com/tboox/xmake-sublime/master/res/problem.gif\" width=\"60%\" />\n<ul>\n<li><a href=\"https://github.com/tboox/xmake-idea\" target=\"_blank\" rel=\"noopener noreferrer\">xmake-idea<OutboundLink/></a></li>\n</ul>\n<img src=\"https://raw.githubusercontent.com/tboox/xmake-idea/master/res/problem.gif\" width=\"60%\" />\n<ul>\n<li><a href=\"https://github.com/luzhlon/xmake.vim\" target=\"_blank\" rel=\"noopener noreferrer\">xmake.vim<OutboundLink/></a> (third-party, thanks <a href=\"https://github.com/luzhlon\" target=\"_blank\" rel=\"noopener noreferrer\">@luzhlon<OutboundLink/></a>)</li>\n</ul>\n<h2 id=\"更多例子\"><a class=\"header-anchor\" href=\"#更多例子\" aria-hidden=\"true\">#</a> 更多例子</h2>\n<p>Debug和Release模式:</p>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">add_rules</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"mode.debug\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"mode.release\"</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"console\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">set_kind</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"binary\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"src/*.c\"</span><span class=\"token punctuation\">)</span> \n <span class=\"token keyword\">if</span> <span class=\"token function\">is_plat</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"windows\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"mingw\"</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">then</span>\n <span class=\"token function\">add_defines</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"XXX\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token keyword\">end</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>自定义脚本:</p>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"test\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">set_kind</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"static\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"src/*.cpp\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">after_build</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">function</span> <span class=\"token punctuation\">(</span>target<span class=\"token punctuation\">)</span>\n <span class=\"token function\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"build %s ok!\"</span><span class=\"token punctuation\">,</span> target<span class=\"token punctuation\">:</span><span class=\"token function\">targetfile</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n <span class=\"token keyword\">end</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>使用扩展模块:</p>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"test\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">set_kind</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"shared\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"src/*.c\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">on_load</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">function</span> <span class=\"token punctuation\">(</span>target<span class=\"token punctuation\">)</span>\n <span class=\"token function\">import</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"lib.detect.find_package\"</span><span class=\"token punctuation\">)</span>\n target<span class=\"token punctuation\">:</span><span class=\"token function\">add</span><span class=\"token punctuation\">(</span><span class=\"token function\">find_package</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"zlib\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n <span class=\"token keyword\">end</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"项目例子\"><a class=\"header-anchor\" href=\"#项目例子\" aria-hidden=\"true\">#</a> 项目例子</h2>\n<p>一些使用xmake的项目:</p>\n<ul>\n<li><a href=\"https://github.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">tbox<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/gbox\" target=\"_blank\" rel=\"noopener noreferrer\">gbox<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/vm86\" target=\"_blank\" rel=\"noopener noreferrer\">vm86<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/awesome-xmake\" target=\"_blank\" rel=\"noopener noreferrer\">更多<OutboundLink/></a></li>\n</ul>\n<h2 id=\"演示视频\"><a class=\"header-anchor\" href=\"#演示视频\" aria-hidden=\"true\">#</a> 演示视频</h2>\n<a href=\"https://asciinema.org/a/133693\">\n<img src=\"https://asciinema.org/a/133693.png\" width=\"60%\" />\n</a>\n<h2 id=\"联系方式\"><a class=\"header-anchor\" href=\"#联系方式\" aria-hidden=\"true\">#</a> 联系方式</h2>\n<ul>\n<li>邮箱:<a href=\"mailto:waruqi@gmail.com\">waruqi@gmail.com</a></li>\n<li>主页:<a href=\"http://www.tboox.org/cn\" target=\"_blank\" rel=\"noopener noreferrer\">tboox.org<OutboundLink/></a></li>\n<li>社区:<a href=\"https://www.reddit.com/r/tboox/\" target=\"_blank\" rel=\"noopener noreferrer\">Reddit论坛<OutboundLink/></a></li>\n<li>聊天:<a href=\"https://t.me/tbooxorg\" target=\"_blank\" rel=\"noopener noreferrer\">Telegram群组<OutboundLink/></a>, <a href=\"https://gitter.im/tboox/tboox?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\" target=\"_blank\" rel=\"noopener noreferrer\">Gitter聊天室<OutboundLink/></a></li>\n<li>源码:<a href=\"https://github.com/tboox/xmake\" target=\"_blank\" rel=\"noopener noreferrer\">Github<OutboundLink/></a>, <a href=\"https://gitee.com/tboox/xmake\" target=\"_blank\" rel=\"noopener noreferrer\">Gitee<OutboundLink/></a></li>\n<li>QQ群:343118190</li>\n<li>微信公众号:tboox-os</li>\n</ul>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/35b9e63839260ed3adb89eeef69ffc36.json b/node_modules/vuepress/node_modules/.cache/vuepress/35b9e63839260ed3adb89eeef69ffc36.json new file mode 100644 index 00000000..b3d4b7ed --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/35b9e63839260ed3adb89eeef69ffc36.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport NavLink from './NavLink.vue'\nimport DropdownTransition from './DropdownTransition.vue'\n\nexport default {\n components: { NavLink, DropdownTransition },\n\n data () {\n return {\n open: false\n }\n },\n\n props: {\n item: {\n required: true\n }\n },\n\n methods: {\n toggle () {\n this.open = !this.open\n }\n }\n}\n",{"version":3,"sources":["DropdownLink.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA","file":"DropdownLink.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <div\n class=\"dropdown-wrapper\"\n :class=\"{ open }\"\n >\n <a\n class=\"dropdown-title\"\n @click=\"toggle\"\n >\n <span class=\"title\">{{ item.text }}</span>\n <span\n class=\"arrow\"\n :class=\"open ? 'down' : 'right'\"\n ></span>\n </a>\n\n <DropdownTransition>\n <ul\n class=\"nav-dropdown\"\n v-show=\"open\"\n >\n <li\n class=\"dropdown-item\"\n :key=\"subItem.link || index\"\n v-for=\"(subItem, index) in item.items\"\n >\n <h4 v-if=\"subItem.type === 'links'\">{{ subItem.text }}</h4>\n\n <ul\n class=\"dropdown-subitem-wrapper\"\n v-if=\"subItem.type === 'links'\"\n >\n <li\n class=\"dropdown-subitem\"\n :key=\"childSubItem.link\"\n v-for=\"childSubItem in subItem.items\"\n >\n <NavLink :item=\"childSubItem\"/>\n </li>\n </ul>\n\n <NavLink\n v-else\n :item=\"subItem\"\n />\n </li>\n </ul>\n </DropdownTransition>\n </div>\n</template>\n\n<script>\nimport NavLink from './NavLink.vue'\nimport DropdownTransition from './DropdownTransition.vue'\n\nexport default {\n components: { NavLink, DropdownTransition },\n\n data () {\n return {\n open: false\n }\n },\n\n props: {\n item: {\n required: true\n }\n },\n\n methods: {\n toggle () {\n this.open = !this.open\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.dropdown-wrapper\n cursor pointer\n .dropdown-title\n display block\n &:hover\n border-color transparent\n .arrow\n vertical-align middle\n margin-top -1px\n margin-left 0.4rem\n .nav-dropdown\n .dropdown-item\n color inherit\n line-height 1.7rem\n h4\n margin 0.45rem 0 0\n border-top 1px solid #eee\n padding 0.45rem 1.5rem 0 1.25rem\n .dropdown-subitem-wrapper\n padding 0\n list-style none\n .dropdown-subitem\n font-size 0.9em\n a\n display block\n line-height 1.7rem\n position relative\n border-bottom none\n font-weight 400\n margin-bottom 0\n padding 0 1.5rem 0 1.25rem\n &:hover\n color $accentColor\n &.router-link-active\n color $accentColor\n &::after\n content \"\"\n width 0\n height 0\n border-left 5px solid $accentColor\n border-top 3px solid transparent\n border-bottom 3px solid transparent\n position absolute\n top calc(50% - 2px)\n left 9px\n &:first-child h4\n margin-top 0\n padding-top 0\n border-top 0\n\n@media (max-width: $MQMobile)\n .dropdown-wrapper\n &.open .dropdown-title\n margin-bottom 0.5rem\n .nav-dropdown\n transition height .1s ease-out\n overflow hidden\n .dropdown-item\n h4\n border-top 0\n margin-top 0\n padding-top 0\n h4, & > a\n font-size 15px\n line-height 2rem\n .dropdown-subitem\n font-size 14px\n padding-left 1rem\n\n@media (min-width: $MQMobile)\n .dropdown-wrapper\n height 1.8rem\n &:hover .nav-dropdown\n // override the inline style.\n display block !important\n .dropdown-title .arrow\n // make the arrow always down at desktop\n border-left 4px solid transparent\n border-right 4px solid transparent\n border-top 6px solid $arrowBgColor\n border-bottom 0\n .nav-dropdown\n display none\n // Avoid height shaked by clicking\n height auto !important\n box-sizing border-box;\n max-height calc(100vh - 2.7rem)\n overflow-y auto\n position absolute\n top 100%\n right 0\n background-color #fff\n padding 0.6rem 0\n border 1px solid #ddd\n border-bottom-color #ccc\n text-align left\n border-radius 0.25rem\n white-space nowrap\n margin 0\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/360908b3c55f365c6cc7afedf27ed81d.json b/node_modules/vuepress/node_modules/.cache/vuepress/360908b3c55f365c6cc7afedf27ed81d.json new file mode 100644 index 00000000..6a6ee864 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/360908b3c55f365c6cc7afedf27ed81d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/guide/sponsors.md?vue&type=template&id=5a182250&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/guide/sponsors.md","mtime":1541582225811},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"Thank you to all our backers! 🙏 [\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://opencollective.com/xmake#backer\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Become a backer\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\"]\")\n ]),\n _vm._v(\" \"),\n _vm._m(1),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [\"\n ),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://opencollective.com/xmake#sponsor\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Become a sponsor\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\"]\")\n ]),\n _vm._v(\" \"),\n _vm._m(2)\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h1\", { attrs: { id: \"sponsors\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#sponsors\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Sponsors\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://opencollective.com/xmake#backers\",\n target: \"_blank\"\n }\n },\n [\n _c(\"img\", {\n attrs: {\n src: \"https://opencollective.com/xmake/backers.svg?width=890\"\n }\n })\n ]\n )\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://opencollective.com/xmake/sponsor/0/website\",\n target: \"_blank\"\n }\n },\n [\n _c(\"img\", {\n attrs: {\n src: \"https://opencollective.com/xmake/sponsor/0/avatar.svg\"\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://opencollective.com/xmake/sponsor/1/website\",\n target: \"_blank\"\n }\n },\n [\n _c(\"img\", {\n attrs: {\n src: \"https://opencollective.com/xmake/sponsor/1/avatar.svg\"\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://opencollective.com/xmake/sponsor/2/website\",\n target: \"_blank\"\n }\n },\n [\n _c(\"img\", {\n attrs: {\n src: \"https://opencollective.com/xmake/sponsor/2/avatar.svg\"\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://opencollective.com/xmake/sponsor/3/website\",\n target: \"_blank\"\n }\n },\n [\n _c(\"img\", {\n attrs: {\n src: \"https://opencollective.com/xmake/sponsor/3/avatar.svg\"\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://opencollective.com/xmake/sponsor/4/website\",\n target: \"_blank\"\n }\n },\n [\n _c(\"img\", {\n attrs: {\n src: \"https://opencollective.com/xmake/sponsor/4/avatar.svg\"\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://opencollective.com/xmake/sponsor/5/website\",\n target: \"_blank\"\n }\n },\n [\n _c(\"img\", {\n attrs: {\n src: \"https://opencollective.com/xmake/sponsor/5/avatar.svg\"\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://opencollective.com/xmake/sponsor/6/website\",\n target: \"_blank\"\n }\n },\n [\n _c(\"img\", {\n attrs: {\n src: \"https://opencollective.com/xmake/sponsor/6/avatar.svg\"\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://opencollective.com/xmake/sponsor/7/website\",\n target: \"_blank\"\n }\n },\n [\n _c(\"img\", {\n attrs: {\n src: \"https://opencollective.com/xmake/sponsor/7/avatar.svg\"\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://opencollective.com/xmake/sponsor/8/website\",\n target: \"_blank\"\n }\n },\n [\n _c(\"img\", {\n attrs: {\n src: \"https://opencollective.com/xmake/sponsor/8/avatar.svg\"\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://opencollective.com/xmake/sponsor/9/website\",\n target: \"_blank\"\n }\n },\n [\n _c(\"img\", {\n attrs: {\n src: \"https://opencollective.com/xmake/sponsor/9/avatar.svg\"\n }\n })\n ]\n )\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/367fdbeeee5a5d084e886bcb70655f25.json b/node_modules/vuepress/node_modules/.cache/vuepress/367fdbeeee5a5d084e886bcb70655f25.json new file mode 100644 index 00000000..50d88c11 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/367fdbeeee5a5d084e886bcb70655f25.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue?vue&type=template&id=18ca159a&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"sidebar-group\",\n class: { first: _vm.first, collapsable: _vm.collapsable }\n },\n [\n _c(\n \"p\",\n {\n staticClass: \"sidebar-heading\",\n class: { open: _vm.open },\n on: {\n click: function($event) {\n _vm.$emit(\"toggle\")\n }\n }\n },\n [\n _c(\"span\", [_vm._v(_vm._s(_vm.item.title))]),\n _vm._v(\" \"),\n _vm.collapsable\n ? _c(\"span\", {\n staticClass: \"arrow\",\n class: _vm.open ? \"down\" : \"right\"\n })\n : _vm._e()\n ]\n ),\n _vm._v(\" \"),\n _c(\"DropdownTransition\", [\n _vm.open || !_vm.collapsable\n ? _c(\n \"ul\",\n { ref: \"items\", staticClass: \"sidebar-group-items\" },\n _vm._l(_vm.item.children, function(child) {\n return _c(\n \"li\",\n [_c(\"SidebarLink\", { attrs: { item: child } })],\n 1\n )\n })\n )\n : _vm._e()\n ])\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/3751af5780cfa1414185dd8247a5d2dd.json b/node_modules/vuepress/node_modules/.cache/vuepress/3751af5780cfa1414185dd8247a5d2dd.json new file mode 100644 index 00000000..c1a0ed43 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/3751af5780cfa1414185dd8247a5d2dd.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/README.md?vue&type=template&id=1a7dd7a6&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/README.md","mtime":1534123204890},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\n \"h2\",\n { attrs: { id: \"introduction-中文\" } },\n [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#introduction-中文\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Introduction (\"),\n _c(\"router-link\", { attrs: { to: \"/README_zh.html\" } }, [\n _vm._v(\"中文\")\n ]),\n _vm._v(\")\")\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"TBOX is a glib-like cross-platform C library that is simple to use yet powerful in nature.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"The project focuses on making C development easier and provides many modules (.e.g stream, coroutine, regex, container, algorithm ...),\\nso that any developer can quickly pick it up and enjoy the productivity boost when developing in C language.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"It supports the following platforms:\")]),\n _vm._v(\" \"),\n _vm._m(1),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"And it provides many compiling options using \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.xmake.io\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\":\")\n ]),\n _vm._v(\" \"),\n _vm._m(2),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"If you want to know more, please refer to:\")]),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://tboox.org\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"HomePage\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/tbox/wiki/documents\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Documents\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/tbox\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Github\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://gitee.com/tboox/tbox\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Gitee\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm._m(3),\n _vm._v(\" \"),\n _vm._m(4),\n _vm._v(\" \"),\n _vm._m(5),\n _vm._v(\" \"),\n _vm._m(6),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"Provides high-performance coroutine switch(refer to \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://tboox.org/2016/10/28/benchbox-coroutine/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"reports\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\")\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports arm, arm64, x86, x86_64 ..\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Provides channel interfaces\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Provides semaphore and lock interfaces\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Supports io socket and stream operation in coroutine\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Provides some io servers (http ..) using coroutine\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Provides stackfull and stackless coroutines\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Support epoll, kqueue, poll, select and IOCP\")])\n ]),\n _vm._v(\" \"),\n _vm._m(7),\n _vm._v(\" \"),\n _vm._m(8),\n _vm._v(\" \"),\n _vm._m(9),\n _vm._v(\" \"),\n _vm._m(10),\n _vm._v(\" \"),\n _vm._m(11),\n _vm._v(\" \"),\n _vm._m(12),\n _vm._v(\" \"),\n _vm._m(13),\n _vm._v(\" \"),\n _vm._m(14),\n _vm._v(\" \"),\n _vm._m(15),\n _vm._v(\" \"),\n _vm._m(16),\n _vm._v(\" \"),\n _vm._m(17),\n _vm._v(\" \"),\n _vm._m(18),\n _vm._v(\" \"),\n _vm._m(19),\n _vm._v(\" \"),\n _vm._m(20),\n _vm._v(\" \"),\n _vm._m(21),\n _vm._v(\" \"),\n _vm._m(22),\n _vm._v(\" \"),\n _vm._m(23),\n _vm._v(\" \"),\n _vm._m(24),\n _vm._v(\" \"),\n _vm._m(25),\n _vm._v(\" \"),\n _vm._m(26),\n _vm._v(\" \"),\n _vm._m(27),\n _vm._v(\" \"),\n _vm._m(28),\n _vm._v(\" \"),\n _vm._m(29),\n _vm._v(\" \"),\n _vm._m(30),\n _vm._v(\" \"),\n _vm._m(31),\n _vm._v(\" \"),\n _vm._m(32),\n _vm._v(\" \"),\n _vm._m(33),\n _vm._v(\" \"),\n _vm._m(34),\n _vm._v(\" \"),\n _vm._m(35),\n _vm._v(\" \"),\n _vm._m(36),\n _vm._v(\" \"),\n _vm._m(37),\n _vm._v(\" \"),\n _vm._m(38),\n _vm._v(\" \"),\n _vm._m(39),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Some projects using tbox:\")]),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/gbox\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"gbox\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/vm86\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"vm86\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.xmake.io\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/itrace\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"itrace\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/tbox/wiki/tbox-projects\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"more\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm._m(40),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"Please install xmake first: \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _vm._m(41),\n _vm._m(42),\n _vm._v(\" \"),\n _vm._m(43),\n _vm._m(44),\n _vm._v(\" \"),\n _c(\"ul\", [\n _vm._m(45),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Homepage:\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.tboox.org\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"tboox.org\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Community:\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://www.reddit.com/r/tboox/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"/r/tboox on reddit\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ])\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { align: \"center\" } }, [\n _c(\"h1\", [_vm._v(\"tbox\")]),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\"a\", { attrs: { href: \"https://travis-ci.org/tboox/tbox\" } }, [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/travis/tboox/tbox/master.svg?style=flat-square\",\n alt: \"travis-ci\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://ci.appveyor.com/project/waruqi/tbox/branch/master\"\n }\n },\n [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/appveyor/ci/waruqi/tbox/master.svg?style=flat-square\",\n alt: \"appveyor-ci\"\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\"a\", { attrs: { href: \"https://codecov.io/gh/tboox/tbox\" } }, [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/codecov/c/github/tboox/tbox/master.svg?style=flat-square\",\n alt: \"Coverage\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"a\", { attrs: { href: \"https://github.com/tboox/tbox/releases\" } }, [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/github/release/tboox/tbox.svg?style=flat-square\",\n alt: \"Github All Releases\"\n }\n })\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/tbox/blob/master/LICENSE.md\"\n }\n },\n [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/github/license/tboox/tbox.svg?colorB=f48041&style=flat-square\",\n alt: \"license\"\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\"a\", { attrs: { href: \"https://www.reddit.com/r/tboox/\" } }, [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/badge/chat-on%20reddit-ff3f34.svg?style=flat-square\",\n alt: \"Reddit\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\n \"a\",\n {\n attrs: {\n href:\n \"https://gitter.im/tboox/tboox?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\"\n }\n },\n [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/gitter/room/tboox/tboox.svg?style=flat-square&colorB=96c312\",\n alt: \"Gitter\"\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\"a\", { attrs: { href: \"https://t.me/tbooxorg\" } }, [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/badge/chat-on%20telegram-blue.svg?style=flat-square\",\n alt: \"Telegram\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"a\", { attrs: { href: \"https://jq.qq.com/?_wv=1027&k=5hpwWFv\" } }, [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/badge/chat-on%20QQ-ff69b4.svg?style=flat-square\",\n alt: \"QQ\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"a\", { attrs: { href: \"http://tboox.org/donation/\" } }, [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/badge/donate-us-orange.svg?style=flat-square\",\n alt: \"Donate\"\n }\n })\n ])\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"A glib-like cross-platform C library\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Windows\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Macosx\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Linux\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Android\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"iOS\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Release: Disable debug information, assertion, memory checking and enable optimization.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Debug: Enable debug information, assertion, memory checking and disable optimization.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Small: Disable all extensional modules and enable space optimization.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Micro: compiling micro library (~64K) for the embed system.\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"features\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#features\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Features\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-stream-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-stream-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The stream library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Supports file, data, http and socket source\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports the stream filter for gzip, charset and...\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements stream transfer\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements the static buffer stream for parsing data\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Supports coroutine and implements asynchronous operation\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-coroutine-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-coroutine-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The coroutine library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-database-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-database-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The database library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Supports mysql and sqlite3 database and enumerates data using the iterator mode\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-xml-parser-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-xml-parser-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The xml parser library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Supports DOM and SAX mode and Supports xpath\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"h4\",\n { attrs: { id: \"the-serialization-and-deserialization-library\" } },\n [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: {\n href: \"#the-serialization-and-deserialization-library\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The serialization and deserialization library\")\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Supports xml, json, bplist, xplist, binary formats\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-memory-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-memory-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The memory library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Implements some memory pools for optimizing memory\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Supports fast memory error detecting. it can detect the following types of bugs for the debug mode:\\n\"\n ),\n _c(\"ul\", [\n _c(\"li\", [_vm._v(\"out-of-bounds accesses to heap and globals\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"use-after-free\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"double-free, invalid free\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"memory leaks\")])\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-container-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-container-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The container library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Implements hash table, single list, double list, vector, stack, queue\\nand min/max heap. Supports iterator mode for algorithm\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-algorithm-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-algorithm-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The algorithm library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Uses the iterator mode\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements find, binary find and reverse find algorithm\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Implements sort, bubble sort, quick sort, heap sort and insert sort algorithm\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Implements count, walk items, reverse walk items, for_all and rfor_all\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-network-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-network-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The network library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Implements dns(cached)\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements ssl(openssl, polarssl, mbedtls)\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements http\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements cookies\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports ipv4, ipv6\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports coroutine\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-platform-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-platform-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The platform library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Implements timer, fast and low precision timer\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements atomic and atomic64 operation\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Implements spinlock, mutex, event, semaphore, thread and thread pool\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements file, socket operation\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements poller using epoll, poll, select, kqueue ...\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements switch context interfaces for coroutine\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-charset-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-charset-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The charset library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Supports utf8, utf16, gbk, gb2312, uc2 and uc4\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports big endian and little endian mode\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-zip-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-zip-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The zip library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Supports gzip, zlibraw, zlib formats using the zlib library if exists\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements lzsw, lz77 and rlc algorithm\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-utils-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-utils-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The utils library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Implements base32, base64 encoder and decoder\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements assert and trace output for the debug mode\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements bits operation for parsing u8, u16, u32, u64 data\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-math-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-math-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The math library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Implements random generator\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Implements fast fixed-point calculation, Supports 6-bits, 16-bits, 30-bits fixed-point number\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-libc-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-libc-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The libc library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Implements lightweight libc library interfaces, the interface name contains \"\n ),\n _c(\"code\", [_vm._v(\"tb_xxx\")]),\n _vm._v(\" prefix for avoiding conflict\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements strixxx strrxxx wcsixxx wcsrxxx interface extension\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Optimizes some frequently-used interface, .e.g. memset, memcpy, strcpy ...\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements \"),\n _c(\"code\", [_vm._v(\"memset_u16\")]),\n _vm._v(\", \"),\n _c(\"code\", [_vm._v(\"memset_u32\")]),\n _vm._v(\", \"),\n _c(\"code\", [_vm._v(\"memset_u64\")]),\n _vm._v(\" extension interfaces\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-libm-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-libm-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The libm library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Implements lightweight libm library interfaces, the interface name contains \"\n ),\n _c(\"code\", [_vm._v(\"tb_xxx\")]),\n _vm._v(\" prefix for avoiding conflict\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports float and double type\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-regex-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-regex-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The regex library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Supports match and replace\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports global/multiline/caseless mode\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Uses pcre, pcre2 and posix regex modules\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-hash-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-hash-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The hash library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"Implements crc32, adler32, md5 and sha1 hash algorithm\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Implements some string hash algorithms (.e.g bkdr, fnv32, fnv64, sdbm, djb2, rshash, aphash ...)\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements uuid generator\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"projects\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#projects\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Projects\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"build\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#build\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Build\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-console extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-text\" } }, [\n _c(\"code\", [\n _vm._v(\n \"# build for the host platform\\n$ cd ./tbox\\n$ xmake\\n\\n# build for the mingw platform\\n$ cd ./tbox\\n$ xmake f -p mingw --sdk=/home/mingwsdk \\n$ xmake\\n\\n# build for the iphoneos platform\\n$ cd ./tbox\\n$ xmake f -p iphoneos \\n$ xmake\\n\\n# build for the android platform\\n$ cd ./tbox\\n$ xmake f -p android --ndk=xxxxx\\n$ xmake\\n\\n# build for the linux cross-platform\\n$ cd ./tbox\\n$ xmake f -p linux --sdk=/home/sdk # --bin=/home/sdk/bin\\n$ xmake\\n\"\n )\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"example\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#example\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Example\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-c extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-c\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token macro property\" } }, [\n _vm._v(\"#\"),\n _c(\"span\", { attrs: { class: \"token directive keyword\" } }, [\n _vm._v(\"include\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"tbox/tbox.h\"')\n ])\n ]),\n _vm._v(\"\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"int\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"main\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"int\")]),\n _vm._v(\" argc\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"char\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _vm._v(\" argv\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// init tbox\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"!\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_init\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"tb_null\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" tb_null\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"return\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// trace\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_trace_i\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"hello tbox\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// init vector\")\n ]),\n _vm._v(\"\\n tb_vector_ref_t vector \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_init\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_element_cstr\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"tb_true\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// insert item\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_insert_tail\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"hello\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_insert_tail\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"tbox\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// dump all items\")\n ]),\n _vm._v(\"\\n tb_for_all \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"tb_char_t \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"const\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" cstr\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// trace\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_trace_i\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"%s\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" cstr\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// exit vector\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_exit\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// init stream\")\n ]),\n _vm._v(\"\\n tb_stream_ref_t stream \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_init_from_url\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"http://www.xxx.com/file.txt\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// open stream\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_open\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// read line\")\n ]),\n _vm._v(\"\\n tb_long_t size \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n tb_char_t line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"TB_STREAM_BLOCK_MAXN\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"while\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"size \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_bread_line\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"sizeof\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\">=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// trace\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_trace_i\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"line: %s\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// exit stream\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_exit\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// wait \")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"getchar\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// exit tbox\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_exit\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"return\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"contacts\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#contacts\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Contacts\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"li\", [\n _vm._v(\"Email:\"),\n _c(\"a\", { attrs: { href: \"mailto:waruqi@gmail.com\" } }, [\n _vm._v(\"waruqi@gmail.com\")\n ])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/38f4e76081a1973865418250beb24da2.json b/node_modules/vuepress/node_modules/.cache/vuepress/38f4e76081a1973865418250beb24da2.json new file mode 100644 index 00000000..cf0b9a26 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/38f4e76081a1973865418250beb24da2.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/noopModule.js","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/noopModule.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["export default {};",{"version":3,"sources":["node_modules/vuepress/lib/webpack/noopModule.js"],"names":[],"mappings":"AAAA,eAAe,EAAf","sourceRoot":"/Users/ruki/projects/personal/xmake-docs","sourcesContent":["export default {}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/391309c63d4f61a064e2608c051aa34e.json b/node_modules/vuepress/node_modules/.cache/vuepress/391309c63d4f61a064e2608c051aa34e.json new file mode 100644 index 00000000..fa9c4d1d --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/391309c63d4f61a064e2608c051aa34e.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/manual/index.md?vue&type=template&id=1750b30a&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/manual/index.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"manual\"><a class=\"header-anchor\" href=\"#manual\" aria-hidden=\"true\">#</a> Manual</h1>\n<p>[TODO]</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/3915eec8a7f1c572658a786c111f1c91.json b/node_modules/vuepress/node_modules/.cache/vuepress/3915eec8a7f1c572658a786c111f1c91.json new file mode 100644 index 00000000..dffdf70b --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/3915eec8a7f1c572658a786c111f1c91.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/ClientOnly.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/ClientOnly.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["export default {\n functional: true,\n render: function render(h, _ref) {\n var parent = _ref.parent,\n children = _ref.children;\n\n if (parent._isMounted) {\n return children;\n } else {\n parent.$once('hook:mounted', function () {\n parent.$forceUpdate();\n });\n }\n }\n};",{"version":3,"sources":["node_modules/vuepress/lib/app/components/ClientOnly.js"],"names":["functional","render","h","parent","children","_isMounted","$once","$forceUpdate"],"mappings":"AAAA,eAAe;AACbA,cAAY,IADC;AAEbC,QAFa,kBAELC,CAFK,QAEoB;AAAA,QAApBC,MAAoB,QAApBA,MAAoB;AAAA,QAAZC,QAAY,QAAZA,QAAY;;AAC/B,QAAID,OAAOE,UAAX,EAAuB;AACrB,aAAOD,QAAP;AACD,KAFD,MAEO;AACLD,aAAOG,KAAP,CAAa,cAAb,EAA6B,YAAM;AACjCH,eAAOI,YAAP;AACD,OAFD;AAGD;AACF;AAVY,CAAf","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["export default {\n functional: true,\n render (h, { parent, children }) {\n if (parent._isMounted) {\n return children\n } else {\n parent.$once('hook:mounted', () => {\n parent.$forceUpdate()\n })\n }\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/3998013d9fc6da055e3637adb42f896b.json b/node_modules/vuepress/node_modules/.cache/vuepress/3998013d9fc6da055e3637adb42f896b.json new file mode 100644 index 00000000..44b6d958 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/3998013d9fc6da055e3637adb42f896b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/README.md?vue&type=template&id=271aadf1&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/README.md","mtime":1541486439372},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/3a5c4f2584315330c721941ca1600ce0.json b/node_modules/vuepress/node_modules/.cache/vuepress/3a5c4f2584315330c721941ca1600ce0.json new file mode 100644 index 00000000..f68fc2f9 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/3a5c4f2584315330c721941ca1600ce0.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/guide/introduction.md?vue&type=template&id=7aabeaf7&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/introduction.md","mtime":1541489249205},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"简介\"><a class=\"header-anchor\" href=\"#简介\" aria-hidden=\"true\">#</a> 简介</h1>\n<p>TBOX是一个用c语言实现的跨平台开发库。</p>\n<p>针对各个平台,封装了统一的接口,简化了各类开发过程中常用操作,使你在开发过程中,更加关注实际应用的开发,而不是把时间浪费在琐碎的接口兼容性上面,并且充分利用了各个平台独有的一些特性进行优化。</p>\n<p>这个项目的目的,是为了使C开发更加的简单高效。</p>\n<p>目前支持的平台有:</p>\n<ul>\n<li>Windows</li>\n<li>Macosx</li>\n<li>Linux</li>\n<li>Android</li>\n<li>iOS</li>\n</ul>\n<p>通过<a href=\"http://www.xmake.io/cn\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a>支持各种编译模式:</p>\n<ul>\n<li>Release: 正式版编译,禁用调试信息、断言,各种检测机制,启用编译器优化</li>\n<li>Debug: 调试模式,默认启用详细调试信息、断言、内存越界检测、内存泄漏、锁竞争分析等检测机制</li>\n<li>Small: 最小化编译,默认禁用所有扩展模块,启用编译器最小化优化</li>\n<li>Micro: 针对嵌入式平台,仅仅编译tbox微内核,仅提供最基础的跨平台接口,生成库仅64K左右(内置轻量libc接口实现)</li>\n</ul>\n<p>如果你想了解更多,请参考:</p>\n<ul>\n<li><a href=\"http://www.tboox.org/cn\" target=\"_blank\" rel=\"noopener noreferrer\">项目主页<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/%E7%9B%AE%E5%BD%95\" target=\"_blank\" rel=\"noopener noreferrer\">在线文档<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Github<OutboundLink/></a></li>\n<li><a href=\"https://gitee.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Gitee<OutboundLink/></a></li>\n</ul>\n<h2 id=\"特性\"><a class=\"header-anchor\" href=\"#特性\" aria-hidden=\"true\">#</a> 特性</h2>\n<h4 id=\"流库\"><a class=\"header-anchor\" href=\"#流库\" aria-hidden=\"true\">#</a> 流库</h4>\n<p>针对http、file、socket、data等流数据,实现统一接口进行读写,并且支持: 阻塞、非阻塞、异步 三种读写模式。\n支持中间增加多层filter流进行流过滤,实现边读取,内部边进行解压、编码转换、加密等操作,极大的减少了内存使用。</p>\n<p>主要提供以下模块:</p>\n<ul>\n<li><code>stream</code>:通用非阻塞流,用于一般的单独io处理,同时支持协程以实现异步传输。</li>\n<li><code>transfer</code>:流传输器,维护两路流的传输。</li>\n<li><code>static_stream</code>:针对静态数据buffer优化的静态流,用于轻量快速的数据解析。</li>\n</ul>\n<h4 id=\"协程库\"><a class=\"header-anchor\" href=\"#协程库\" aria-hidden=\"true\">#</a> 协程库</h4>\n<ul>\n<li>快速高效的协程切换支持(具体性能参考:<a href=\"http://tboox.org/cn/2016/10/28/benchbox-coroutine/\" target=\"_blank\" rel=\"noopener noreferrer\">基准测试报告<OutboundLink/></a>)</li>\n<li>提供跨平台支持,核心切换算法参考boost,并且对其进行重写和优化,目前支持架构:x86, x86_64, arm, arm64, mips32</li>\n<li>提供channel协程间数据通信支持,基于生产、消费者模型</li>\n<li>提供信号量、协程锁支持</li>\n<li>socket、stream都模块原生支持协程,并且可在线程和协程间进行无缝切换</li>\n<li>提供http、file等基于协程的简单服务器实例,只需几百行代码,就可以从socket开始写个高性能io服务器,代码逻辑比异步回调模式更加清晰</li>\n<li>同时提供stackfull, stackless两种协程模式支持,stackless协程更加的轻量(每个协程只占用几十个bytes),切换更快(会牺牲部分易用性)</li>\n<li>支持epoll, kqueue, poll, select 和 IOCP</li>\n</ul>\n<h4 id=\"数据库\"><a class=\"header-anchor\" href=\"#数据库\" aria-hidden=\"true\">#</a> 数据库</h4>\n<ul>\n<li>统一并简化数据库操作接口,适配各种数据源,通过统一的url来自动连接打开支持的数据库,数据的枚举采用迭代器模型。</li>\n<li>目前支持sqlite3以及mysql两种关系型数据库,也可自定义扩展使用其他关系型数据库。</li>\n</ul>\n<h4 id=\"xml库\"><a class=\"header-anchor\" href=\"#xml库\" aria-hidden=\"true\">#</a> xml库</h4>\n<ul>\n<li>针对xml提供DOM和SAX两种解析模式,SAX方式采用外部迭代模式,灵活性和性能更高,并且可以选择指定路径,进行解析。</li>\n<li>解析过程完全基于stream,所以是高度流化的,可以实现边下载、边解压、边转码、边解析一条龙服务,使用较低的内存也可以解析大规模数据。</li>\n<li>提供xml writer以支持对xml生成</li>\n</ul>\n<h4 id=\"内存库\"><a class=\"header-anchor\" href=\"#内存库\" aria-hidden=\"true\">#</a> 内存库</h4>\n<ul>\n<li>参考linux内核内存管理机制的实现,并对其进行各种改造和优化,所实现的TBOX独有的一整套内存池管理架构。</li>\n<li>调试模式下,可以轻松检测并定位内存泄露、内存越界溢出、内存重叠覆盖等常见内存问题,并对整体内存的使用进行了统计和简要分析。</li>\n<li>针对大块数据、小块数据、字符串数据进行了充分的利用,避免了大量外部碎片和内部碎片的产生。分配操作进行了各种优化,96%的情况下,效率都是在O(1)。</li>\n</ul>\n<h4 id=\"容器库\"><a class=\"header-anchor\" href=\"#容器库\" aria-hidden=\"true\">#</a> 容器库</h4>\n<ul>\n<li>提供哈希、链表、数组、队列、堆栈、最小最大堆等常用容器。</li>\n<li>支持各种常用成员类型,在原有的容器期初上,其成员类型还可以完全自定义扩展。</li>\n<li>所有容器都支持迭代器操作。</li>\n<li>大部分容器都可以支持基于stream的序列化和反序列化操作。</li>\n</ul>\n<h4 id=\"算法库\"><a class=\"header-anchor\" href=\"#算法库\" aria-hidden=\"true\">#</a> 算法库</h4>\n<ul>\n<li>提供各种排序算法:冒泡排序、堆排序、快速排序、插入排序。</li>\n<li>提供各种查找算法:线性遍历、二分法搜索。</li>\n<li>提供各种遍历、删除、统计算法。</li>\n<li>以迭代器为接口,实现算法和容器的分离,类似stl,但是c实现的,更加轻量。</li>\n</ul>\n<h4 id=\"网络库\"><a class=\"header-anchor\" href=\"#网络库\" aria-hidden=\"true\">#</a> 网络库</h4>\n<ul>\n<li>实现http客户端模块</li>\n<li>实现cookies</li>\n<li>实现dns解析与缓存</li>\n<li>实现ssl(支持openssl, polarssl, mbedtls)</li>\n<li>支持ipv4、ipv6</li>\n<li>支持通过协程实现异步模式</li>\n</ul>\n<h4 id=\"数学运算库\"><a class=\"header-anchor\" href=\"#数学运算库\" aria-hidden=\"true\">#</a> 数学运算库</h4>\n<ul>\n<li>提供各种精度的定点运算支持</li>\n<li>提供随机数生成器</li>\n</ul>\n<h4 id=\"libc库\"><a class=\"header-anchor\" href=\"#libc库\" aria-hidden=\"true\">#</a> libc库</h4>\n<ul>\n<li>libc的一个轻量级实现,完全跨平台,并且针对不同架构进行了优化。</li>\n<li>支持大部分字符串、宽字符串操作。</li>\n<li>扩展字符串、宽字符串的各种大小写不敏感操作接口</li>\n<li>扩展<code>memset_u16</code>、<code>memset_u32</code>等接口,并对其进行高度优化,尤其适合图形渲染程序</li>\n</ul>\n<h4 id=\"libm库\"><a class=\"header-anchor\" href=\"#libm库\" aria-hidden=\"true\">#</a> libm库</h4>\n<ul>\n<li>libm部分接口的一个轻量级实现,以及对常用系统接口的封装。(目前只实现了部分,之后有时间会完全实现掉)</li>\n<li>扩展部分常用接口,增加对sqrt、log2等常用函数的整数版本计算,进行高度优化,不涉及浮点运算,适合嵌入式环境使用。</li>\n</ul>\n<h4 id=\"object库\"><a class=\"header-anchor\" href=\"#object库\" aria-hidden=\"true\">#</a> object库</h4>\n<ul>\n<li>轻量级类apple的CoreFoundation库,支持object、dictionary、array、string、number、date、data等常用对象,并且可以方便扩展自定义对象的序列化。</li>\n<li>支持对xml、json、binary以及apple的plist(xplist/bplist)格式序列化和反序列化。\n并且实现自有的binary序列化格式, 针对明文进行了简单的加密,在不影响性能的前提下,序列化后的大小比bplist节省30%。</li>\n</ul>\n<h4 id=\"平台库\"><a class=\"header-anchor\" href=\"#平台库\" aria-hidden=\"true\">#</a> 平台库</h4>\n<ul>\n<li>提供file、directory、socket、thread、time等常用系统接口</li>\n<li>提供atomic、atomic64接口</li>\n<li>提供高精度、低精度定时器</li>\n<li>提供高性能的线程池操作</li>\n<li>提供event、mutex、semaphore、spinlock等事件、互斥、信号量、自旋锁操作</li>\n<li>提供获取函数堆栈信息的接口,方便调试和错误定位</li>\n<li>提供跨平台动态库加载接口(如果系统支持的话)</li>\n<li>提供io轮询器,针对epoll, poll, select, kqueue进行跨平台封装</li>\n<li>提供跨平台上下文切换接口,主要用于协程实现,切换效率非常高</li>\n</ul>\n<h4 id=\"压缩库\"><a class=\"header-anchor\" href=\"#压缩库\" aria-hidden=\"true\">#</a> 压缩库</h4>\n<ul>\n<li>支持zlib/zlibraw/gzip的压缩与解压(需要第三方zlib库支持)。</li>\n</ul>\n<h4 id=\"字符编码库\"><a class=\"header-anchor\" href=\"#字符编码库\" aria-hidden=\"true\">#</a> 字符编码库</h4>\n<ul>\n<li>支持utf8、utf16、gbk、gb2312、uc2、uc4 之间的互相转码,并且支持大小端格式。</li>\n</ul>\n<h4 id=\"实用工具库\"><a class=\"header-anchor\" href=\"#实用工具库\" aria-hidden=\"true\">#</a> 实用工具库</h4>\n<ul>\n<li>实现base64/32编解码</li>\n<li>实现crc32、adler32、md5、sha1等常用hash算法</li>\n<li>实现日志输出、断言等辅助调试工具</li>\n<li>实现url编解码</li>\n<li>实现位操作相关接口,支持各种数据格式的解析,可以对8bits、16bits、32bits、64bits、float、double以及任意bits的字段进行解析操作,并且同时支持大端、小端和本地端模式,并针对部分操作进行了优化,像static_stream、stream都有相关接口对其进行了封装,方便在流上进行快速数据解析。</li>\n<li>实现swap16、swap32、swap64等位交换操作,并针对各个平台进行了优化。</li>\n<li>实现一些高级的位处理接口,例如:位0的快速统计、前导0和前导1的快速位计数、后导01的快速位计数</li>\n<li>实现单例模块,可以对静态对象、实例对象进行快速的单例封装,实现全局线程安全</li>\n<li>实现option模块,对命令行参数进行解析,提供快速方便的命令行选项建立和解析操作,对于写终端程序还是很有帮助的</li>\n</ul>\n<h4 id=\"正则表达式库\"><a class=\"header-anchor\" href=\"#正则表达式库\" aria-hidden=\"true\">#</a> 正则表达式库</h4>\n<ul>\n<li>支持匹配和替换操作</li>\n<li>支持全局、多行、大小写不敏感等模式</li>\n<li>使用pcre, pcre2和posix正则库</li>\n</ul>\n<h2 id=\"项目例子\"><a class=\"header-anchor\" href=\"#项目例子\" aria-hidden=\"true\">#</a> 项目例子</h2>\n<p>一些使用tbox的项目</p>\n<ul>\n<li><a href=\"https://github.com/tboox/gbox\" target=\"_blank\" rel=\"noopener noreferrer\">gbox<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/vm86\" target=\"_blank\" rel=\"noopener noreferrer\">vm86<OutboundLink/></a></li>\n<li><a href=\"http://www.xmake.io/cn\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/itrace\" target=\"_blank\" rel=\"noopener noreferrer\">itrace<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/%E4%BD%BF%E7%94%A8tbox%E7%9A%84%E5%BC%80%E6%BA%90%E5%BA%93\" target=\"_blank\" rel=\"noopener noreferrer\">更多项目<OutboundLink/></a></li>\n</ul>\n<h2 id=\"联系方式\"><a class=\"header-anchor\" href=\"#联系方式\" aria-hidden=\"true\">#</a> 联系方式</h2>\n<ul>\n<li>邮箱:<a href=\"mailto:waruqi@gmail.com\">waruqi@gmail.com</a></li>\n<li>主页:<a href=\"http://www.tboox.org/cn\" target=\"_blank\" rel=\"noopener noreferrer\">TBOOX开源工程<OutboundLink/></a></li>\n<li>社区:<a href=\"https://www.reddit.com/r/tboox/\" target=\"_blank\" rel=\"noopener noreferrer\">Reddit论坛<OutboundLink/></a></li>\n<li>QQ群:343118190</li>\n<li>微信公众号:tboox-os</li>\n</ul>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/3b9ac1d10d0216d8c604080de8ef543c.json b/node_modules/vuepress/node_modules/.cache/vuepress/3b9ac1d10d0216d8c604080de8ef543c.json new file mode 100644 index 00000000..c3915fca --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/3b9ac1d10d0216d8c604080de8ef543c.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/guide/getting-started.md?vue&type=template&id=bbea027a&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/guide/getting-started.md","mtime":1541488106036},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._ssrNode(\"<h1 id=\\\"getting-started\\\"><a href=\\\"#getting-started\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Getting Started</h1> \"),_vm._ssrNode(\"<p>\",\"</p>\",[_vm._ssrNode(\"Please install xmake first: \"),_vm._ssrNode(\"<a href=\\\"https://github.com/tboox/xmake\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"xmake\"),_c('OutboundLink')],2)],2),_vm._ssrNode(\" <div class=\\\"language-console extra-class\\\"><pre class=\\\"language-text\\\"><code># build for the host platform\\n$ cd ./tbox\\n$ xmake\\n\\n# build for the mingw platform\\n$ cd ./tbox\\n$ xmake f -p mingw --sdk=/home/mingwsdk \\n$ xmake\\n\\n# build for the iphoneos platform\\n$ cd ./tbox\\n$ xmake f -p iphoneos \\n$ xmake\\n\\n# build for the android platform\\n$ cd ./tbox\\n$ xmake f -p android --ndk=xxxxx\\n$ xmake\\n\\n# build for the linux cross-platform\\n$ cd ./tbox\\n$ xmake f -p linux --sdk=/home/sdk # --bin=/home/sdk/bin\\n$ xmake\\n</code></pre></div><h2 id=\\\"example\\\"><a href=\\\"#example\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Example</h2> <div class=\\\"language-c extra-class\\\"><pre class=\\\"language-c\\\"><code><span class=\\\"token macro property\\\">#<span class=\\\"token directive keyword\\\">include</span> <span class=\\\"token string\\\">"tbox/tbox.h"</span></span>\\n\\n<span class=\\\"token keyword\\\">int</span> <span class=\\\"token function\\\">main</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token keyword\\\">int</span> argc<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token keyword\\\">char</span><span class=\\\"token operator\\\">*</span><span class=\\\"token operator\\\">*</span> argv<span class=\\\"token punctuation\\\">)</span>\\n<span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// init tbox</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span><span class=\\\"token operator\\\">!</span><span class=\\\"token function\\\">tb_init</span><span class=\\\"token punctuation\\\">(</span>tb_null<span class=\\\"token punctuation\\\">,</span> tb_null<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span> <span class=\\\"token keyword\\\">return</span> <span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// trace</span>\\n <span class=\\\"token function\\\">tb_trace_i</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token string\\\">"hello tbox"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// init vector</span>\\n tb_vector_ref_t vector <span class=\\\"token operator\\\">=</span> <span class=\\\"token function\\\">tb_vector_init</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">,</span> <span class=\\\"token function\\\">tb_element_cstr</span><span class=\\\"token punctuation\\\">(</span>tb_true<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// insert item</span>\\n <span class=\\\"token function\\\">tb_vector_insert_tail</span><span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token string\\\">"hello"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token function\\\">tb_vector_insert_tail</span><span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token string\\\">"tbox"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// dump all items</span>\\n tb_for_all <span class=\\\"token punctuation\\\">(</span>tb_char_t <span class=\\\"token keyword\\\">const</span><span class=\\\"token operator\\\">*</span><span class=\\\"token punctuation\\\">,</span> cstr<span class=\\\"token punctuation\\\">,</span> vector<span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// trace</span>\\n <span class=\\\"token function\\\">tb_trace_i</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token string\\\">"%s"</span><span class=\\\"token punctuation\\\">,</span> cstr<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n\\n <span class=\\\"token comment\\\">// exit vector</span>\\n <span class=\\\"token function\\\">tb_vector_exit</span><span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n\\n <span class=\\\"token comment\\\">// init stream</span>\\n tb_stream_ref_t stream <span class=\\\"token operator\\\">=</span> <span class=\\\"token function\\\">tb_stream_init_from_url</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token string\\\">"http://www.xxx.com/file.txt"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span>stream<span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// open stream</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span><span class=\\\"token function\\\">tb_stream_open</span><span class=\\\"token punctuation\\\">(</span>stream<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// read line</span>\\n tb_long_t size <span class=\\\"token operator\\\">=</span> <span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">;</span>\\n tb_char_t line<span class=\\\"token punctuation\\\">[</span>TB_STREAM_BLOCK_MAXN<span class=\\\"token punctuation\\\">]</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token keyword\\\">while</span> <span class=\\\"token punctuation\\\">(</span><span class=\\\"token punctuation\\\">(</span>size <span class=\\\"token operator\\\">=</span> <span class=\\\"token function\\\">tb_stream_bread_line</span><span class=\\\"token punctuation\\\">(</span>stream<span class=\\\"token punctuation\\\">,</span> line<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token keyword\\\">sizeof</span><span class=\\\"token punctuation\\\">(</span>line<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span> <span class=\\\"token operator\\\">>=</span> <span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// trace</span>\\n <span class=\\\"token function\\\">tb_trace_i</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token string\\\">"line: %s"</span><span class=\\\"token punctuation\\\">,</span> line<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n\\n <span class=\\\"token comment\\\">// exit stream</span>\\n <span class=\\\"token function\\\">tb_stream_exit</span><span class=\\\"token punctuation\\\">(</span>stream<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n\\n <span class=\\\"token comment\\\">// wait </span>\\n <span class=\\\"token function\\\">getchar</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// exit tbox</span>\\n <span class=\\\"token function\\\">tb_exit</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token keyword\\\">return</span> <span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">;</span>\\n<span class=\\\"token punctuation\\\">}</span>\\n</code></pre></div>\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/3bf942c373b0987562d63d952f6cbbeb.json b/node_modules/vuepress/node_modules/.cache/vuepress/3bf942c373b0987562d63d952f6cbbeb.json new file mode 100644 index 00000000..3dd55633 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/3bf942c373b0987562d63d952f6cbbeb.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/index的副本.md?vue&type=template&id=08252036&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/index的副本.md","mtime":1534123204890},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><div align=\"center\">\n <h1>tbox</h1>\n <div>\n <a href=\"https://travis-ci.org/tboox/tbox\">\n <img src=\"https://img.shields.io/travis/tboox/tbox/master.svg?style=flat-square\" alt=\"travis-ci\" />\n </a>\n <a href=\"https://ci.appveyor.com/project/waruqi/tbox/branch/master\">\n <img src=\"https://img.shields.io/appveyor/ci/waruqi/tbox/master.svg?style=flat-square\" alt=\"appveyor-ci\" />\n </a>\n <a href=\"https://codecov.io/gh/tboox/tbox\">\n <img src=\"https://img.shields.io/codecov/c/github/tboox/tbox/master.svg?style=flat-square\" alt=\"Coverage\" />\n </a>\n <a href=\"https://github.com/tboox/tbox/releases\">\n <img src=\"https://img.shields.io/github/release/tboox/tbox.svg?style=flat-square\" alt=\"Github All Releases\" />\n </a>\n </div>\n <div>\n <a href=\"https://github.com/tboox/tbox/blob/master/LICENSE.md\">\n <img src=\"https://img.shields.io/github/license/tboox/tbox.svg?colorB=f48041&style=flat-square\" alt=\"license\" />\n </a>\n <a href=\"https://www.reddit.com/r/tboox/\">\n <img src=\"https://img.shields.io/badge/chat-on%20reddit-ff3f34.svg?style=flat-square\" alt=\"Reddit\" />\n </a>\n <a href=\"https://gitter.im/tboox/tboox?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\">\n <img src=\"https://img.shields.io/gitter/room/tboox/tboox.svg?style=flat-square&colorB=96c312\" alt=\"Gitter\" />\n </a>\n <a href=\"https://t.me/tbooxorg\">\n <img src=\"https://img.shields.io/badge/chat-on%20telegram-blue.svg?style=flat-square\" alt=\"Telegram\" />\n </a>\n <a href=\"https://jq.qq.com/?_wv=1027&k=5hpwWFv\">\n <img src=\"https://img.shields.io/badge/chat-on%20QQ-ff69b4.svg?style=flat-square\" alt=\"QQ\" />\n </a>\n <a href=\"http://tboox.org/donation/\">\n <img src=\"https://img.shields.io/badge/donate-us-orange.svg?style=flat-square\" alt=\"Donate\" />\n </a>\n </div>\n <p>A glib-like cross-platform C library</p>\n</div>\n<h2 id=\"introduction-中文\"><a class=\"header-anchor\" href=\"#introduction-中文\" aria-hidden=\"true\">#</a> Introduction (<router-link to=\"/README_zh.html\">中文</router-link>)</h2>\n<p>TBOX is a glib-like cross-platform C library that is simple to use yet powerful in nature.</p>\n<p>The project focuses on making C development easier and provides many modules (.e.g stream, coroutine, regex, container, algorithm ...),\nso that any developer can quickly pick it up and enjoy the productivity boost when developing in C language.</p>\n<p>It supports the following platforms:</p>\n<ul>\n<li>Windows</li>\n<li>Macosx</li>\n<li>Linux</li>\n<li>Android</li>\n<li>iOS</li>\n</ul>\n<p>And it provides many compiling options using <a href=\"http://www.xmake.io\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a>:</p>\n<ul>\n<li>Release: Disable debug information, assertion, memory checking and enable optimization.</li>\n<li>Debug: Enable debug information, assertion, memory checking and disable optimization.</li>\n<li>Small: Disable all extensional modules and enable space optimization.</li>\n<li>Micro: compiling micro library (~64K) for the embed system.</li>\n</ul>\n<p>If you want to know more, please refer to:</p>\n<ul>\n<li><a href=\"http://tboox.org\" target=\"_blank\" rel=\"noopener noreferrer\">HomePage<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/documents\" target=\"_blank\" rel=\"noopener noreferrer\">Documents<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Github<OutboundLink/></a></li>\n<li><a href=\"https://gitee.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Gitee<OutboundLink/></a></li>\n</ul>\n<h2 id=\"features\"><a class=\"header-anchor\" href=\"#features\" aria-hidden=\"true\">#</a> Features</h2>\n<h4 id=\"the-stream-library\"><a class=\"header-anchor\" href=\"#the-stream-library\" aria-hidden=\"true\">#</a> The stream library</h4>\n<ul>\n<li>Supports file, data, http and socket source</li>\n<li>Supports the stream filter for gzip, charset and...</li>\n<li>Implements stream transfer</li>\n<li>Implements the static buffer stream for parsing data</li>\n<li>Supports coroutine and implements asynchronous operation</li>\n</ul>\n<h4 id=\"the-coroutine-library\"><a class=\"header-anchor\" href=\"#the-coroutine-library\" aria-hidden=\"true\">#</a> The coroutine library</h4>\n<ul>\n<li>Provides high-performance coroutine switch(refer to <a href=\"http://tboox.org/2016/10/28/benchbox-coroutine/\" target=\"_blank\" rel=\"noopener noreferrer\">reports<OutboundLink/></a>)</li>\n<li>Supports arm, arm64, x86, x86_64 ..</li>\n<li>Provides channel interfaces</li>\n<li>Provides semaphore and lock interfaces</li>\n<li>Supports io socket and stream operation in coroutine</li>\n<li>Provides some io servers (http ..) using coroutine</li>\n<li>Provides stackfull and stackless coroutines</li>\n<li>Support epoll, kqueue, poll, select and IOCP</li>\n</ul>\n<h4 id=\"the-database-library\"><a class=\"header-anchor\" href=\"#the-database-library\" aria-hidden=\"true\">#</a> The database library</h4>\n<ul>\n<li>Supports mysql and sqlite3 database and enumerates data using the iterator mode</li>\n</ul>\n<h4 id=\"the-xml-parser-library\"><a class=\"header-anchor\" href=\"#the-xml-parser-library\" aria-hidden=\"true\">#</a> The xml parser library</h4>\n<ul>\n<li>Supports DOM and SAX mode and Supports xpath</li>\n</ul>\n<h4 id=\"the-serialization-and-deserialization-library\"><a class=\"header-anchor\" href=\"#the-serialization-and-deserialization-library\" aria-hidden=\"true\">#</a> The serialization and deserialization library</h4>\n<ul>\n<li>Supports xml, json, bplist, xplist, binary formats</li>\n</ul>\n<h4 id=\"the-memory-library\"><a class=\"header-anchor\" href=\"#the-memory-library\" aria-hidden=\"true\">#</a> The memory library</h4>\n<ul>\n<li>Implements some memory pools for optimizing memory</li>\n<li>Supports fast memory error detecting. it can detect the following types of bugs for the debug mode:\n<ul>\n<li>out-of-bounds accesses to heap and globals</li>\n<li>use-after-free</li>\n<li>double-free, invalid free</li>\n<li>memory leaks</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"the-container-library\"><a class=\"header-anchor\" href=\"#the-container-library\" aria-hidden=\"true\">#</a> The container library</h4>\n<ul>\n<li>Implements hash table, single list, double list, vector, stack, queue\nand min/max heap. Supports iterator mode for algorithm</li>\n</ul>\n<h4 id=\"the-algorithm-library\"><a class=\"header-anchor\" href=\"#the-algorithm-library\" aria-hidden=\"true\">#</a> The algorithm library</h4>\n<ul>\n<li>Uses the iterator mode</li>\n<li>Implements find, binary find and reverse find algorithm</li>\n<li>Implements sort, bubble sort, quick sort, heap sort and insert sort algorithm</li>\n<li>Implements count, walk items, reverse walk items, for_all and rfor_all</li>\n</ul>\n<h4 id=\"the-network-library\"><a class=\"header-anchor\" href=\"#the-network-library\" aria-hidden=\"true\">#</a> The network library</h4>\n<ul>\n<li>Implements dns(cached)</li>\n<li>Implements ssl(openssl, polarssl, mbedtls)</li>\n<li>Implements http</li>\n<li>Implements cookies</li>\n<li>Supports ipv4, ipv6</li>\n<li>Supports coroutine</li>\n</ul>\n<h4 id=\"the-platform-library\"><a class=\"header-anchor\" href=\"#the-platform-library\" aria-hidden=\"true\">#</a> The platform library</h4>\n<ul>\n<li>Implements timer, fast and low precision timer</li>\n<li>Implements atomic and atomic64 operation</li>\n<li>Implements spinlock, mutex, event, semaphore, thread and thread pool</li>\n<li>Implements file, socket operation</li>\n<li>Implements poller using epoll, poll, select, kqueue ...</li>\n<li>Implements switch context interfaces for coroutine</li>\n</ul>\n<h4 id=\"the-charset-library\"><a class=\"header-anchor\" href=\"#the-charset-library\" aria-hidden=\"true\">#</a> The charset library</h4>\n<ul>\n<li>Supports utf8, utf16, gbk, gb2312, uc2 and uc4</li>\n<li>Supports big endian and little endian mode</li>\n</ul>\n<h4 id=\"the-zip-library\"><a class=\"header-anchor\" href=\"#the-zip-library\" aria-hidden=\"true\">#</a> The zip library</h4>\n<ul>\n<li>Supports gzip, zlibraw, zlib formats using the zlib library if exists</li>\n<li>Implements lzsw, lz77 and rlc algorithm</li>\n</ul>\n<h4 id=\"the-utils-library\"><a class=\"header-anchor\" href=\"#the-utils-library\" aria-hidden=\"true\">#</a> The utils library</h4>\n<ul>\n<li>Implements base32, base64 encoder and decoder</li>\n<li>Implements assert and trace output for the debug mode</li>\n<li>Implements bits operation for parsing u8, u16, u32, u64 data</li>\n</ul>\n<h4 id=\"the-math-library\"><a class=\"header-anchor\" href=\"#the-math-library\" aria-hidden=\"true\">#</a> The math library</h4>\n<ul>\n<li>Implements random generator</li>\n<li>Implements fast fixed-point calculation, Supports 6-bits, 16-bits, 30-bits fixed-point number</li>\n</ul>\n<h4 id=\"the-libc-library\"><a class=\"header-anchor\" href=\"#the-libc-library\" aria-hidden=\"true\">#</a> The libc library</h4>\n<ul>\n<li>Implements lightweight libc library interfaces, the interface name contains <code>tb_xxx</code> prefix for avoiding conflict</li>\n<li>Implements strixxx strrxxx wcsixxx wcsrxxx interface extension</li>\n<li>Optimizes some frequently-used interface, .e.g. memset, memcpy, strcpy ...</li>\n<li>Implements <code>memset_u16</code>, <code>memset_u32</code>, <code>memset_u64</code> extension interfaces</li>\n</ul>\n<h4 id=\"the-libm-library\"><a class=\"header-anchor\" href=\"#the-libm-library\" aria-hidden=\"true\">#</a> The libm library</h4>\n<ul>\n<li>Implements lightweight libm library interfaces, the interface name contains <code>tb_xxx</code> prefix for avoiding conflict</li>\n<li>Supports float and double type</li>\n</ul>\n<h4 id=\"the-regex-library\"><a class=\"header-anchor\" href=\"#the-regex-library\" aria-hidden=\"true\">#</a> The regex library</h4>\n<ul>\n<li>Supports match and replace</li>\n<li>Supports global/multiline/caseless mode</li>\n<li>Uses pcre, pcre2 and posix regex modules</li>\n</ul>\n<h4 id=\"the-hash-library\"><a class=\"header-anchor\" href=\"#the-hash-library\" aria-hidden=\"true\">#</a> The hash library</h4>\n<ul>\n<li>Implements crc32, adler32, md5 and sha1 hash algorithm</li>\n<li>Implements some string hash algorithms (.e.g bkdr, fnv32, fnv64, sdbm, djb2, rshash, aphash ...)</li>\n<li>Implements uuid generator</li>\n</ul>\n<h2 id=\"projects\"><a class=\"header-anchor\" href=\"#projects\" aria-hidden=\"true\">#</a> Projects</h2>\n<p>Some projects using tbox:</p>\n<ul>\n<li><a href=\"https://github.com/tboox/gbox\" target=\"_blank\" rel=\"noopener noreferrer\">gbox<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/vm86\" target=\"_blank\" rel=\"noopener noreferrer\">vm86<OutboundLink/></a></li>\n<li><a href=\"http://www.xmake.io\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/itrace\" target=\"_blank\" rel=\"noopener noreferrer\">itrace<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/tbox-projects\" target=\"_blank\" rel=\"noopener noreferrer\">more<OutboundLink/></a></li>\n</ul>\n<h2 id=\"build\"><a class=\"header-anchor\" href=\"#build\" aria-hidden=\"true\">#</a> Build</h2>\n<p>Please install xmake first: <a href=\"https://github.com/tboox/xmake\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></p>\n<!--beforebegin--><div class=\"language-console extra-class\"><!--afterbegin--><pre v-pre class=\"language-text\"><code># build for the host platform\n$ cd ./tbox\n$ xmake\n\n# build for the mingw platform\n$ cd ./tbox\n$ xmake f -p mingw --sdk=/home/mingwsdk \n$ xmake\n\n# build for the iphoneos platform\n$ cd ./tbox\n$ xmake f -p iphoneos \n$ xmake\n\n# build for the android platform\n$ cd ./tbox\n$ xmake f -p android --ndk=xxxxx\n$ xmake\n\n# build for the linux cross-platform\n$ cd ./tbox\n$ xmake f -p linux --sdk=/home/sdk # --bin=/home/sdk/bin\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"example\"><a class=\"header-anchor\" href=\"#example\" aria-hidden=\"true\">#</a> Example</h2>\n<!--beforebegin--><div class=\"language-c extra-class\"><!--afterbegin--><pre v-pre class=\"language-c\"><code><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">\"tbox/tbox.h\"</span></span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> argc<span class=\"token punctuation\">,</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span> argv<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// init tbox</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">tb_init</span><span class=\"token punctuation\">(</span>tb_null<span class=\"token punctuation\">,</span> tb_null<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"hello tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// init vector</span>\n tb_vector_ref_t vector <span class=\"token operator\">=</span> <span class=\"token function\">tb_vector_init</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">tb_element_cstr</span><span class=\"token punctuation\">(</span>tb_true<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// insert item</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// dump all items</span>\n tb_for_all <span class=\"token punctuation\">(</span>tb_char_t <span class=\"token keyword\">const</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">,</span> vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%s\"</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit vector</span>\n <span class=\"token function\">tb_vector_exit</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// init stream</span>\n tb_stream_ref_t stream <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_init_from_url</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"http://www.xxx.com/file.txt\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// open stream</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token function\">tb_stream_open</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// read line</span>\n tb_long_t size <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n tb_char_t line<span class=\"token punctuation\">[</span>TB_STREAM_BLOCK_MAXN<span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">while</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>size <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_bread_line</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">,</span> <span class=\"token keyword\">sizeof</span><span class=\"token punctuation\">(</span>line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">>=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"line: %s\"</span><span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit stream</span>\n <span class=\"token function\">tb_stream_exit</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// wait </span>\n <span class=\"token function\">getchar</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// exit tbox</span>\n <span class=\"token function\">tb_exit</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"contacts\"><a class=\"header-anchor\" href=\"#contacts\" aria-hidden=\"true\">#</a> Contacts</h2>\n<ul>\n<li>Email:<a href=\"mailto:waruqi@gmail.com\">waruqi@gmail.com</a></li>\n<li>Homepage:<a href=\"http://www.tboox.org\" target=\"_blank\" rel=\"noopener noreferrer\">tboox.org<OutboundLink/></a></li>\n<li>Community:<a href=\"https://www.reddit.com/r/tboox/\" target=\"_blank\" rel=\"noopener noreferrer\">/r/tboox on reddit<OutboundLink/></a></li>\n</ul>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/3bfb39da477c1a93dcc1db6dda272284.json b/node_modules/vuepress/node_modules/.cache/vuepress/3bfb39da477c1a93dcc1db6dda272284.json new file mode 100644 index 00000000..f3d313a8 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/3bfb39da477c1a93dcc1db6dda272284.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/guide/introduction.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/introduction.md","mtime":1541489249205},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./introduction.md?vue&type=template&id=7aabeaf7&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"introduction.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/3c1c38c162fb9e720e32feafc18acbf1.json b/node_modules/vuepress/node_modules/.cache/vuepress/3c1c38c162fb9e720e32feafc18acbf1.json new file mode 100644 index 00000000..2d82b6c1 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/3c1c38c162fb9e720e32feafc18acbf1.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue?vue&type=template&id=486052fb&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<transition name=\"sw-update-popup\">\n <div\n v-if=\"enabled\"\n class=\"sw-update-popup\"\n >\n {{message}}<br>\n <button @click=\"reload\">{{buttonText}}</button>\n </div>\n</transition>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/3c1cd0c74d8558db737197bb136a8d4a.json b/node_modules/vuepress/node_modules/.cache/vuepress/3c1cd0c74d8558db737197bb136a8d4a.json new file mode 100644 index 00000000..67db1745 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/3c1cd0c74d8558db737197bb136a8d4a.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/guide/getting-started.md?vue&type=template&id=31f01bcd&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/getting-started.md","mtime":1541554744255},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"快速开始\"><a class=\"header-anchor\" href=\"#快速开始\" aria-hidden=\"true\">#</a> 快速开始</h1>\n<h2 id=\"编译\"><a class=\"header-anchor\" href=\"#编译\" aria-hidden=\"true\">#</a> 编译</h2>\n<p>请先安装: <a href=\"https://github.com/tboox/xmake\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code><span class=\"token comment\"># 默认直接编译当前主机平台</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake\n\n<span class=\"token comment\"># 编译mingw平台</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake f -p mingw --sdk<span class=\"token operator\">=</span>/home/mingwsdk \n$ xmake\n\n<span class=\"token comment\"># 编译iphoneos平台</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake f -p iphoneos \n$ xmake\n\n<span class=\"token comment\"># 编译android平台</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake f -p android --ndk<span class=\"token operator\">=</span>xxxxx\n$ xmake\n\n<span class=\"token comment\"># 交叉编译</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake f -p linux --sdk<span class=\"token operator\">=</span>/home/sdk <span class=\"token comment\">#--bin=/home/sdk/bin</span>\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"例子\"><a class=\"header-anchor\" href=\"#例子\" aria-hidden=\"true\">#</a> 例子</h2>\n<!--beforebegin--><div class=\"language-c extra-class\"><!--afterbegin--><pre v-pre class=\"language-c\"><code><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">\"tbox/tbox.h\"</span></span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> argc<span class=\"token punctuation\">,</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span> argv<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// init tbox</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">tb_init</span><span class=\"token punctuation\">(</span>tb_null<span class=\"token punctuation\">,</span> tb_null<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"hello tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// init vector</span>\n tb_vector_ref_t vector <span class=\"token operator\">=</span> <span class=\"token function\">tb_vector_init</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">tb_element_cstr</span><span class=\"token punctuation\">(</span>tb_true<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// insert item</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// dump all items</span>\n tb_for_all <span class=\"token punctuation\">(</span>tb_char_t <span class=\"token keyword\">const</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">,</span> vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%s\"</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit vector</span>\n <span class=\"token function\">tb_vector_exit</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// init stream</span>\n tb_stream_ref_t stream <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_init_from_url</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"http://www.xxx.com/file.txt\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// open stream</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token function\">tb_stream_open</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// read line</span>\n tb_long_t size <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n tb_char_t line<span class=\"token punctuation\">[</span>TB_STREAM_BLOCK_MAXN<span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">while</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>size <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_bread_line</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">,</span> <span class=\"token keyword\">sizeof</span><span class=\"token punctuation\">(</span>line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">>=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"line: %s\"</span><span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit stream</span>\n <span class=\"token function\">tb_stream_exit</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// wait </span>\n <span class=\"token function\">getchar</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// exit tbox</span>\n <span class=\"token function\">tb_exit</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/3c6e926f57d90e3098359d2b9b3d9278.json b/node_modules/vuepress/node_modules/.cache/vuepress/3c6e926f57d90e3098359d2b9b3d9278.json new file mode 100644 index 00000000..534fe94c --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/3c6e926f57d90e3098359d2b9b3d9278.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./Sidebar.vue?vue&type=template&id=c97eee92&\"\nimport script from \"./Sidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./Sidebar.vue?vue&type=script&lang=js&\"\nfunction injectStyles (context) {\n \n var style0 = require(\"./Sidebar.vue?vue&type=style&index=0&lang=stylus&\")\nif (style0.__inject__) style0.__inject__(context)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n \"7095acd3\"\n \n)\n\ncomponent.options.__file = \"Sidebar.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/3d6bbf3bffa043f530713335eb46973b.json b/node_modules/vuepress/node_modules/.cache/vuepress/3d6bbf3bffa043f530713335eb46973b.json new file mode 100644 index 00000000..dd22abc2 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/3d6bbf3bffa043f530713335eb46973b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/manual/introduction.md?vue&type=template&id=3bcc74a3&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/manual/introduction.md","mtime":1541555949495},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm._m(0)\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _c(\"h1\", { attrs: { id: \"title1\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title1\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title1\")\n ]),\n _vm._v(\" \"),\n _c(\"p\"),\n _c(\"div\", { staticClass: \"table-of-contents\" }, [\n _c(\"ul\", [\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title2\" } }, [_vm._v(\"Title2\")]),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title3\" } }, [_vm._v(\"Title3\")])\n ]),\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title3\" } }, [_vm._v(\"Title3\")])\n ])\n ])\n ]),\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title2\" } }, [_vm._v(\"Title2\")]),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title3\" } }, [_vm._v(\"Title3\")])\n ])\n ])\n ])\n ])\n ]),\n _c(\"p\"),\n _vm._v(\" \"),\n _c(\"h2\", { attrs: { id: \"title2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title2\")\n ]),\n _vm._v(\" \"),\n _c(\"h3\", { attrs: { id: \"title3\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title3\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title3\")\n ]),\n _vm._v(\" \"),\n _c(\"h4\", { attrs: { id: \"title4\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title4\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title4\")\n ]),\n _vm._v(\" \"),\n _c(\"h5\", { attrs: { id: \"title5\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title5\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title5\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h5\", { attrs: { id: \"title5-2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title5-2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title5\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h4\", { attrs: { id: \"title4-2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title4-2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title4\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h3\", { attrs: { id: \"title3-2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title3-2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title3\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h2\", { attrs: { id: \"title2-2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title2-2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title2\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h3\", { attrs: { id: \"title3-3\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title3-3\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title3\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/3d88fc08de7dd3fc18684ae0da27885d.json b/node_modules/vuepress/node_modules/.cache/vuepress/3d88fc08de7dd3fc18684ae0da27885d.json new file mode 100644 index 00000000..fb5e55f0 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/3d88fc08de7dd3fc18684ae0da27885d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/.temp/routes.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/.temp/routes.js","mtime":1541576694586},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import \"core-js/modules/es6.promise\";\nimport Vue from 'vue';\nimport ThemeLayout from '@themeLayout';\nimport ThemeNotFound from '@themeNotFound';\nimport { injectMixins } from '@app/util';\nimport rootMixins from '@app/root-mixins';\ninjectMixins(ThemeLayout, rootMixins);\ninjectMixins(ThemeNotFound, rootMixins);\nexport var routes = [{\n name: \"v-8ec055619cc9c\",\n path: \"/\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/README.md\").then(function (comp) {\n Vue.component(\"v-8ec055619cc9c\", comp.default);\n next();\n });\n }\n}, {\n path: \"/index.html\",\n redirect: \"/\"\n}, {\n name: \"v-9b37f125fa1b5\",\n path: \"/api/introduction.html\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/api/introduction.md\").then(function (comp) {\n Vue.component(\"v-9b37f125fa1b5\", comp.default);\n next();\n });\n }\n}, {\n name: \"v-fdaadba91de5a\",\n path: \"/guide/getting-started.html\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/guide/getting-started.md\").then(function (comp) {\n Vue.component(\"v-fdaadba91de5a\", comp.default);\n next();\n });\n }\n}, {\n name: \"v-8d2a8fad62319\",\n path: \"/guide/introduction.html\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/guide/introduction.md\").then(function (comp) {\n Vue.component(\"v-8d2a8fad62319\", comp.default);\n next();\n });\n }\n}, {\n name: \"v-9d03d1a24c541\",\n path: \"/zh/\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/zh/README.md\").then(function (comp) {\n Vue.component(\"v-9d03d1a24c541\", comp.default);\n next();\n });\n }\n}, {\n path: \"/zh/index.html\",\n redirect: \"/zh/\"\n}, {\n name: \"v-34ac182d991\",\n path: \"/zh/api/introduction.html\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/zh/api/introduction.md\").then(function (comp) {\n Vue.component(\"v-34ac182d991\", comp.default);\n next();\n });\n }\n}, {\n name: \"v-819b7a4c7f128\",\n path: \"/zh/guide/getting-started.html\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/getting-started.md\").then(function (comp) {\n Vue.component(\"v-819b7a4c7f128\", comp.default);\n next();\n });\n }\n}, {\n name: \"v-5a469fda81a59\",\n path: \"/zh/guide/introduction.html\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/introduction.md\").then(function (comp) {\n Vue.component(\"v-5a469fda81a59\", comp.default);\n next();\n });\n }\n}, {\n path: '*',\n component: ThemeNotFound\n}];",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/3e03062a37013ab676ef7bcd33af1a24.json b/node_modules/vuepress/node_modules/.cache/vuepress/3e03062a37013ab676ef7bcd33af1a24.json new file mode 100644 index 00000000..8d9c895d --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/3e03062a37013ab676ef7bcd33af1a24.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/guide/faq.md?vue&type=template&id=ddec2fba&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/guide/faq.md","mtime":1541582363508},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"faq\"><a class=\"header-anchor\" href=\"#faq\" aria-hidden=\"true\">#</a> FAQ</h1>\n<h2 id=\"how-to-get-verbose-command-line-arguments-info\"><a class=\"header-anchor\" href=\"#how-to-get-verbose-command-line-arguments-info\" aria-hidden=\"true\">#</a> How to get verbose command-line arguments info?</h2>\n<p>Get the help info of the main command.</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake <span class=\"token punctuation\">[</span>-h<span class=\"token operator\">|</span>--help<span class=\"token punctuation\">]</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>Get the help info of the configuration command.</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f <span class=\"token punctuation\">[</span>-h<span class=\"token operator\">|</span>--help<span class=\"token punctuation\">]</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>Get the help info of the givent action or plugin command.</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake <span class=\"token punctuation\">[</span>action<span class=\"token operator\">|</span>plugin<span class=\"token punctuation\">]</span> <span class=\"token punctuation\">[</span>-h<span class=\"token operator\">|</span>--help<span class=\"token punctuation\">]</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>For example:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake run --help\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"how-to-suppress-all-output-info\"><a class=\"header-anchor\" href=\"#how-to-suppress-all-output-info\" aria-hidden=\"true\">#</a> How to suppress all output info?</h2>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake <span class=\"token punctuation\">[</span>-q<span class=\"token operator\">|</span>--quiet<span class=\"token punctuation\">]</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"how-to-do-if-xmake-fails\"><a class=\"header-anchor\" href=\"#how-to-do-if-xmake-fails\" aria-hidden=\"true\">#</a> How to do if xmake fails?</h2>\n<p>Please attempt to clean configuration and rebuild it first.</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f -c\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>If it fails again, please add <code>-v</code> or <code>--verbose</code> options to get more verbose info.</p>\n<p>For exmaple:</p>\n<!--beforebegin--><div class=\"language-hash extra-class\"><!--afterbegin--><pre v-pre class=\"language-text\"><code>$ xmake [-v|--verbose] \n</code></pre>\n<!--beforeend--></div><!--afterend--><p>And add <code>--backtrace</code> to get the verbose backtrace info, then you can submit these infos to <a href=\"https://github.com/tboox/xmake/issues\" target=\"_blank\" rel=\"noopener noreferrer\">issues<OutboundLink/></a>.</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake -v --backtrace\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"how-to-see-verbose-compiling-warnings\"><a class=\"header-anchor\" href=\"#how-to-see-verbose-compiling-warnings\" aria-hidden=\"true\">#</a> How to see verbose compiling warnings?</h2>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake <span class=\"token punctuation\">[</span>-w<span class=\"token operator\">|</span>--warning<span class=\"token punctuation\">]</span> \n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"how-to-scan-source-code-and-generate-xmake-lua-automaticlly\"><a class=\"header-anchor\" href=\"#how-to-scan-source-code-and-generate-xmake-lua-automaticlly\" aria-hidden=\"true\">#</a> How to scan source code and generate xmake.lua automaticlly</h2>\n<p>You only need run the following command:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>xmake will scan all source code in current directory and build it automaticlly.</p>\n<p>And we can run it directly.</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake run\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>If we only want to generate xmake.lua file, we can run:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f -y\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>If you want to known more information please see <a href=\"http://tboox.org/2017/01/07/build-without-makefile/\" target=\"_blank\" rel=\"noopener noreferrer\">Scan source codes and build project without makefile<OutboundLink/></a></p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/3e92999d3495028f39f90d889e368a34.json b/node_modules/vuepress/node_modules/.cache/vuepress/3e92999d3495028f39f90d889e368a34.json new file mode 100644 index 00000000..6a7b7b1a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/3e92999d3495028f39f90d889e368a34.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.dropdown-enter, .dropdown-leave-to\n height 0 !important\n\n",{"version":3,"sources":["DropdownTransition.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA;AACA","file":"DropdownTransition.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <transition\n name=\"dropdown\"\n @enter=\"setHeight\"\n @after-enter=\"unsetHeight\"\n @before-leave=\"setHeight\"\n >\n <slot/>\n </transition>\n</template>\n\n<script>\nexport default {\n name: 'DropdownTransition',\n\n methods: {\n setHeight (items) {\n // explicitly set height so that it can be transitioned\n items.style.height = items.scrollHeight + 'px'\n },\n\n unsetHeight (items) {\n items.style.height = ''\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n.dropdown-enter, .dropdown-leave-to\n height 0 !important\n\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/3ea5e4d0150ffc0bce2b51150d1a38ff.json b/node_modules/vuepress/node_modules/.cache/vuepress/3ea5e4d0150ffc0bce2b51150d1a38ff.json new file mode 100644 index 00000000..8052776f --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/3ea5e4d0150ffc0bce2b51150d1a38ff.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue?vue&type=template&id=b8539214&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"home\" },\n [\n _c(\"div\", { staticClass: \"hero\" }, [\n _vm.data.heroImage\n ? _c(\"img\", {\n attrs: { src: _vm.$withBase(_vm.data.heroImage), alt: \"hero\" }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"h1\", [_vm._v(_vm._s(_vm.data.heroText || _vm.$title || \"Hello\"))]),\n _vm._v(\" \"),\n _c(\"p\", { staticClass: \"description\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.data.tagline ||\n _vm.$description ||\n \"Welcome to your VuePress site\"\n ) +\n \"\\n \"\n )\n ]),\n _vm._v(\" \"),\n _vm.data.actionText && _vm.data.actionLink\n ? _c(\n \"p\",\n { staticClass: \"action\" },\n [\n _c(\"NavLink\", {\n staticClass: \"action-button\",\n attrs: { item: _vm.actionLink }\n })\n ],\n 1\n )\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _vm.data.features && _vm.data.features.length\n ? _c(\n \"div\",\n { staticClass: \"features\" },\n _vm._l(_vm.data.features, function(feature, index) {\n return _c(\"div\", { key: index, staticClass: \"feature\" }, [\n _c(\"h2\", [_vm._v(_vm._s(feature.title))]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(_vm._s(feature.details))])\n ])\n })\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"Content\", { attrs: { custom: \"\" } }),\n _vm._v(\" \"),\n _vm.data.footer\n ? _c(\"div\", { staticClass: \"footer\" }, [\n _vm._v(\"\\n \" + _vm._s(_vm.data.footer) + \"\\n \")\n ])\n : _vm._e()\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/3eb7d42759d90f28a0555c5236073bfb.json b/node_modules/vuepress/node_modules/.cache/vuepress/3eb7d42759d90f28a0555c5236073bfb.json new file mode 100644 index 00000000..4707e2df --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/3eb7d42759d90f28a0555c5236073bfb.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NavLink.vue?vue&type=template&id=32ed2476&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NavLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<router-link\n class=\"nav-link\"\n :to=\"link\"\n v-if=\"!isExternal(link)\"\n :exact=\"exact\"\n>{{ item.text }}</router-link>\n<a\n v-else\n :href=\"link\"\n class=\"nav-link external\"\n :target=\"isMailto(link) || isTel(link) ? null : '_blank'\"\n :rel=\"isMailto(link) || isTel(link) ? null : 'noopener noreferrer'\"\n>\n {{ item.text }}\n <OutboundLink/>\n</a>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/3edaa3ec77ac0c03fec5665f634f27a2.json b/node_modules/vuepress/node_modules/.cache/vuepress/3edaa3ec77ac0c03fec5665f634f27a2.json new file mode 100644 index 00000000..144666b1 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/3edaa3ec77ac0c03fec5665f634f27a2.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/guide/getting-started.md?vue&type=template&id=d7bc09fe&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/guide/getting-started.md","mtime":1541598674687},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _vm._m(1),\n _vm._v(\" \"),\n _vm._m(2),\n _vm._v(\" \"),\n _vm._m(3),\n _vm._v(\" \"),\n _vm._m(4),\n _vm._m(5),\n _vm._v(\" \"),\n _vm._m(6),\n _vm._m(7),\n _vm._v(\" \"),\n _vm._m(8),\n _vm._m(9),\n _vm._v(\" \"),\n _c(\"ol\", [\n _c(\"li\", [\n _vm._v(\"Download xmake windows installer from \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake/releases\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Releases\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Run xmake-[version].exe\")])\n ]),\n _vm._v(\" \"),\n _vm._m(10),\n _vm._v(\" \"),\n _vm._m(11),\n _vm._m(12),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"On Archlinux:\")]),\n _vm._v(\" \"),\n _vm._m(13),\n _c(\"p\", [_vm._v(\"On Ubuntu:\")]),\n _vm._v(\" \"),\n _vm._m(14),\n _c(\"p\", [_vm._v(\"Or add xmake package source manually:\")]),\n _vm._v(\" \"),\n _vm._m(15),\n _c(\"p\", [_vm._v(\"Then we run:\")]),\n _vm._v(\" \"),\n _vm._m(16),\n _c(\"p\", [_vm._v(\"Or download deb package to install it:\")]),\n _vm._v(\" \"),\n _c(\"ol\", [\n _c(\"li\", [\n _vm._v(\"Download xmake \"),\n _c(\"code\", [_vm._v(\".deb\")]),\n _vm._v(\" install package from \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake/releases\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Releases\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _vm._m(17)\n ]),\n _vm._v(\" \"),\n _vm._m(18),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Compile and install:\")]),\n _vm._v(\" \"),\n _vm._m(19),\n _c(\"p\", [_vm._v(\"Only install and update lua scripts:\")]),\n _vm._v(\" \"),\n _vm._m(20),\n _c(\"p\", [_vm._v(\"Uninstall:\")]),\n _vm._v(\" \"),\n _vm._m(21),\n _c(\"p\", [_vm._v(\"Or compile and install via make:\")]),\n _vm._v(\" \"),\n _vm._m(22),\n _c(\"p\", [_vm._v(\"Install to other given directory:\")]),\n _vm._v(\" \"),\n _vm._m(23),\n _c(\"p\", [_vm._v(\"Uninstall:\")]),\n _vm._v(\" \"),\n _vm._m(24),\n _vm._m(25),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://asciinema.org/a/133693\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [\n _c(\"img\", {\n attrs: {\n src: \"https://asciinema.org/a/133693.png\",\n alt: \"asciicast\"\n }\n }),\n _c(\"OutboundLink\")\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _vm._m(26),\n _vm._v(\" \"),\n _vm._m(27),\n _c(\"p\", [\n _vm._v(\"And xmake will generate some files for c language project:\")\n ]),\n _vm._v(\" \"),\n _vm._m(28),\n _vm._m(29),\n _vm._v(\" \"),\n _vm._m(30),\n _vm._v(\" \"),\n _vm._m(31),\n _c(\"p\", [_vm._v(\"Support languages:\")]),\n _vm._v(\" \"),\n _vm._m(32),\n _vm._v(\" \"),\n _c(\"p\", { staticClass: \"tip\" }, [\n _vm._v(\n \"\\n If you want to known more options, please run: `xmake create --help`\\n\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(33),\n _vm._v(\" \"),\n _vm._m(34),\n _vm._m(35),\n _vm._v(\" \"),\n _vm._m(36),\n _vm._m(37),\n _vm._v(\" \"),\n _vm._m(38),\n _c(\"p\", [\n _vm._v(\n \"It will start the debugger (.e.g lldb, gdb, windbg, vsjitdebugger, ollydbg ..) to load our program.\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(39),\n _c(\"p\", { staticClass: \"tip\" }, [\n _vm._v(\n \"\\n You can also use short command option, for exmaple: `xmake r` or `xmake run`\\n\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(40),\n _vm._v(\" \"),\n _vm._m(41),\n _vm._v(\" \"),\n _vm._m(42),\n _vm._m(43),\n _vm._v(\" \"),\n _vm._m(44),\n _vm._m(45),\n _vm._v(\" \"),\n _vm._m(46),\n _vm._v(\" \"),\n _vm._m(47),\n _vm._m(48),\n _vm._v(\" \"),\n _vm._m(49),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Create an empty project:\")]),\n _vm._v(\" \"),\n _vm._m(50),\n _c(\"p\", [\n _vm._v(\n \"xmake will detect Qt SDK automatically and we can also set the SDK directory manually.\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(51),\n _c(\"p\", [\n _vm._v(\n \"If you want to use the MinGW Qt environment on windows, you can set the MinGW platform configuration and specify the SDK path for the MinGW compilation environment, for example:\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(52),\n _c(\"p\", [\n _vm._v(\"If you want to known more information, you can see \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake/issues/160\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"#160\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\".\")\n ]),\n _vm._v(\" \"),\n _vm._m(53),\n _vm._v(\" \"),\n _vm._m(54),\n _vm._m(55),\n _vm._v(\" \"),\n _vm._m(56),\n _vm._m(57),\n _vm._v(\" \"),\n _vm._m(58),\n _vm._m(59),\n _vm._v(\" \"),\n _vm._m(60),\n _vm._m(61),\n _vm._v(\" \"),\n _vm._m(62),\n _vm._m(63),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Create an empty project:\")]),\n _vm._v(\" \"),\n _vm._m(64),\n _vm._m(65),\n _c(\"p\", [\n _vm._v(\n \"xmake will detect Cuda SDK automatically and we can also set the SDK directory manually.\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(66),\n _c(\"p\", [\n _vm._v(\"If you want to known more information, you can see \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake/issues/158\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"#158\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\".\")\n ]),\n _vm._v(\" \"),\n _vm._m(67),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"xmake will detect WDK automatically and we can also set the WDK directory manually.\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(68),\n _c(\"p\", [\n _vm._v(\"If you want to known more information, you can see \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake/issues/159\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"#159\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\".\")\n ]),\n _vm._v(\" \"),\n _vm._m(69),\n _vm._v(\" \"),\n _vm._m(70),\n _vm._m(71),\n _vm._v(\" \"),\n _vm._m(72),\n _vm._m(73),\n _vm._v(\" \"),\n _vm._m(74),\n _vm._m(75),\n _vm._m(76),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"We can run the following command to generate a .cab driver package.\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(77),\n _c(\"p\", [_vm._v(\"The output files like:\")]),\n _vm._v(\" \"),\n _vm._m(78),\n _vm._m(79),\n _vm._v(\" \"),\n _vm._m(80),\n _vm._v(\" \"),\n _vm._m(81),\n _vm._v(\" \"),\n _vm._m(82),\n _vm._v(\" \"),\n _vm._m(83),\n _c(\"p\", [\n _vm._v(\n \"Or we set a valid certificate thumbprint to do it in local machine.\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(84),\n _c(\"p\", [\n _vm._v(\"We can also do testsign via setting store/company info.\")\n ]),\n _vm._v(\" \"),\n _vm._m(85),\n _vm._m(86),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"We can set a certificate file for release signing.\")]),\n _vm._v(\" \"),\n _vm._m(87),\n _vm._m(88),\n _vm._v(\" \"),\n _vm._m(89),\n _vm._v(\" \"),\n _vm._m(90),\n _c(\"p\", [\n _vm._v(\"We can also set windows version for WDK driver program:\")\n ]),\n _vm._v(\" \"),\n _vm._m(91),\n _vm._m(92),\n _vm._v(\" \"),\n _vm._m(93),\n _c(\"p\", [\n _vm._v(\"If you want to known more information, you can see \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake/issues/173\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"#173\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\".\")\n ]),\n _vm._v(\" \"),\n _vm._m(94),\n _vm._v(\" \"),\n _vm._m(95),\n _vm._v(\" \"),\n _vm._m(96),\n _vm._v(\" \"),\n _vm._m(97),\n _vm._v(\" \"),\n _vm._m(98),\n _vm._v(\" \"),\n _vm._m(99),\n _vm._v(\" \"),\n _vm._m(100),\n _c(\"p\", { staticClass: \"tip\" }, [\n _vm._v(\n \"\\n XMake will detect the current host platform automatically and build project.\\n\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(101),\n _vm._v(\" \"),\n _vm._m(102),\n _vm._m(103),\n _vm._v(\" \"),\n _vm._m(104),\n _vm._m(105),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"For example:\")]),\n _vm._v(\" \"),\n _vm._m(106),\n _vm._m(107),\n _vm._v(\" \"),\n _c(\"p\", { staticClass: \"tip\" }, [\n _vm._v(\n \"\\nPlease attempt to set `--arch=` option if it had failed to check compiler.\\n\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(108),\n _vm._v(\" \"),\n _vm._m(109),\n _vm._m(110),\n _vm._v(\" \"),\n _vm._m(111),\n _vm._m(112),\n _vm._v(\" \"),\n _vm._m(113),\n _vm._m(114),\n _vm._v(\" \"),\n _vm._m(115),\n _vm._m(116),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"For linux platform:\")]),\n _vm._v(\" \"),\n _vm._m(117),\n _c(\"p\", [_vm._v(\"Fro other cross platform:\")]),\n _vm._v(\" \"),\n _vm._m(118),\n _vm._m(119),\n _vm._v(\" \"),\n _vm._m(120),\n _vm._m(121),\n _vm._v(\" \"),\n _c(\"p\", { staticClass: \"tip\" }, [\n _vm._v(\n \"\\nif you want to known more options, please run: `xmake f --help`。\\n\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(122),\n _vm._v(\" \"),\n _vm._m(123),\n _vm._v(\" \"),\n _vm._m(124),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"As long as this toolchains meet the following directory structure:\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(125),\n _c(\"p\", [\n _vm._v(\"Then,we can only configure the sdk directory and build it.\")\n ]),\n _vm._v(\" \"),\n _vm._m(126),\n _c(\"p\", [\n _vm._v(\n \"xmake will detect the prefix: arm-linux- and add the include and library search directory automatically.\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(127),\n _vm._m(128),\n _vm._v(\" \"),\n _vm._m(129),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"We need set it manually if the toolchains /bin directory is in other places, for example:\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(130),\n _c(\"p\", { staticClass: \"tips\" }, [\n _vm._v(\n \"\\nBefore v2.2.1 version, this parameter name is `--toolchains`, exists more ambiguous, so we changed to `--bin=` to set the bin directory.\\n\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(131),\n _vm._v(\" \"),\n _vm._m(132),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"For example, under the same toolchains directory at the same time, there are two different compilers:\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(133),\n _vm._m(134),\n _vm._v(\" \"),\n _vm._m(135),\n _vm._m(136),\n _vm._v(\" \"),\n _vm._m(137),\n _vm._v(\" \"),\n _vm._m(138),\n _c(\"p\", [\n _vm._v(\n \"If the 'AS' environment variable exists, it will use the values specified in the current environment variables.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", { staticClass: \"tips\" }, [\n _vm._v(\n \"\\nWe can set a unknown compiler as like-gcc/clang compiler, .e.g `xmake f --as=gcc@/home/xxx/asmips.exe` \\n\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(139),\n _vm._v(\" \"),\n _vm._m(140),\n _vm._v(\" \"),\n _vm._m(141),\n _c(\"p\", [\n _vm._v(\n \"If the 'CC' environment variable exists, it will use the values specified in the current environment variables.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", { staticClass: \"tips\" }, [\n _vm._v(\n \"\\nWe can set a unknown compiler as like-gcc/clang compiler, .e.g `xmake f --cc=gcc@/home/xxx/ccmips.exe` \\n\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(142),\n _vm._v(\" \"),\n _vm._m(143),\n _vm._v(\" \"),\n _vm._m(144),\n _c(\"p\", [\n _vm._v(\n \"If the 'CXX' environment variable exists, it will use the values specified in the current environment variables.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", { staticClass: \"tips\" }, [\n _vm._v(\n \"\\nWe can set a unknown compiler as like-gcc/clang compiler, .e.g `xmake f --cxx=g++@/home/xxx/c++mips.exe` \\n\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(145),\n _vm._v(\" \"),\n _vm._m(146),\n _vm._v(\" \"),\n _vm._m(147),\n _c(\"p\", [\n _vm._v(\n \"If the 'LD' environment variable exists, it will use the values specified in the current environment variables.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", { staticClass: \"tips\" }, [\n _vm._v(\n \"\\nWe can set a unknown compiler as like-gcc/clang linker, .e.g `xmake f --ld=g++@/home/xxx/c++mips.exe` \\n\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(148),\n _vm._v(\" \"),\n _vm._m(149),\n _vm._v(\" \"),\n _vm._m(150),\n _c(\"p\", [\n _vm._v(\n \"If the 'SH' environment variable exists, it will use the values specified in the current environment variables.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", { staticClass: \"tips\" }, [\n _vm._v(\n \"\\nWe can set a unknown compiler as like-gcc/clang linker, .e.g `xmake f --sh=g++@/home/xxx/c++mips.exe` \\n\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(151),\n _vm._v(\" \"),\n _vm._m(152),\n _vm._v(\" \"),\n _vm._m(153),\n _c(\"p\", [\n _vm._v(\n \"If the 'AR' environment variable exists, it will use the values specified in the current environment variables.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", { staticClass: \"tips\" }, [\n _vm._v(\n \"\\nWe can set a unknown compiler as like-ar archiver, .e.g `xmake f --ar=ar@/home/xxx/armips.exe` \\n\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(154),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"You can save to the global configuration for simplfying operation.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"For example:\")]),\n _vm._v(\" \"),\n _vm._m(155),\n _c(\"p\", [_vm._v(\"Now, we config and build project for android again.\")]),\n _vm._v(\" \"),\n _vm._m(156),\n _vm._m(157),\n _vm._v(\" \"),\n _vm._m(158),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"We can clean all cached configuration and re-configure projecct.\")\n ]),\n _vm._v(\" \"),\n _vm._m(159),\n _c(\"p\", [_vm._v(\"or\")]),\n _vm._v(\" \"),\n _vm._m(160),\n _vm._m(161),\n _vm._v(\" \"),\n _vm._m(162),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"By including a dependency package directory and a binary package file in the project, it is convenient to integrate some third-party dependency libraries. This method is relatively simple and straightforward, but the disadvantages are also obvious and inconvenient to manage.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Take the tbox project as an example. The dependency package is as follows:\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(163),\n _c(\"p\", [\n _vm._v(\n \"If you want the current project to recognize loading these packages, you first need to specify the package directory path, for example:\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(164),\n _c(\"p\", [\n _vm._v(\n \"Once specified, you can add integration package dependencies in the target scope via the \"\n ),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://xmake.io/#/zh/manual?id=targetadd_packages\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"add_packages\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\" interface, for example:\")\n ]),\n _vm._v(\" \"),\n _vm._m(165),\n _c(\"p\", [\n _vm._v(\n \"So how to generate a *.pkg package, if it is based on xmake project, the generation method is very simple, only need:\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(166),\n _c(\"p\", [\n _vm._v(\n \"You can generate a tbox.pkg cross-platform package in the build directory for use by third-party projects. I can also directly set the output directory and compile and generate it into the other project, for example:\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(167),\n _c(\"p\", [\n _vm._v(\"In this way, the test project can pass \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://xmake.io/#/zh/manual?id=targetadd_packages\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"add_packages\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\n \" and [add_packagedirs](https://xmake.io/#/zh/manual?id= add_packagedirs) to configure and use the tbox.pkg package.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"For a detailed description of the built-in package, you can also refer to the following related article, which is described in detail: [Dependency package addition and automatic detection mechanism] (http://tboox.org/cn/2016/08/06/add-package -and-autocheck/)\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(168),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"If you feel that the above built-in package management method is very inconvenient, you can use the extension interface [lib.detect.find_package] provided by xmake (https://xmake.io/#/zh/manual?id=detect-find_package) to find the system. Existing dependencies.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Currently this interface supports the following package management support:\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(169),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"And through the system and third-party package management tools for the installation of the dependency package, and then integrated with xmake, for example, we look for an openssl package:\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(170),\n _c(\"p\", [_vm._v(\"The returned results are as follows:\")]),\n _vm._v(\" \"),\n _vm._m(171),\n _c(\"p\", [\n _vm._v(\n \"If the search is successful, return a table containing all the package information, if it fails, return nil\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(172),\n _vm._v(\" \"),\n _vm._m(173),\n _vm._m(174),\n _vm._m(175),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"For a more complete description of the usage, please refer to the \"\n ),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://xmake.io/#/en/manual?id=detect-find_package\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"lib.detect.find_package\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\" interface documentation.\")\n ]),\n _vm._v(\" \"),\n _vm._m(176),\n _vm._v(\" \"),\n _vm._m(177),\n _vm._v(\" \"),\n _vm._m(178),\n _vm._v(\" \"),\n _vm._m(179),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Of course, we can also manually specify the root path of vcpkg to support:\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(180),\n _c(\"p\", [\n _vm._v(\n \"Or we can set it to the global configuration to avoid repeating the settings each time we switch configurations:\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(181),\n _vm._m(182),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"This has been initially supported after the 2.2.2 version, the usage is much simpler, just set the corresponding dependency package, for example:\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(183),\n _vm._m(184),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Then directly compile:\")]),\n _vm._v(\" \"),\n _vm._m(185),\n _c(\"p\", [\n _vm._v(\n \"xmake will remotely pull the relevant source package, then automatically compile and install, finally compile the project, and link the dependency package. The specific effect is shown in the following figure:\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"img\", {\n attrs: { src: \"/assets/img/index/package_manage.png\", width: \"80%\" }\n }),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"For more information and progress on package dependency management see the related issues: [Remote package management] (https://github.com/tboox/xmake/issues/69)\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(186),\n _vm._v(\" \"),\n _vm._m(187),\n _vm._v(\" \"),\n _vm._m(188),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Here we briefly introduce the processing mechanism of the entire dependency package:\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(189),\n _vm._v(\" \"),\n _vm._m(190),\n _vm._v(\" \"),\n _vm._m(191),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n 'Xmake\\'s dependency package management fully supports semantic version selection, for example: \"~1.6.1\". For a detailed description of the semantic version, see: [http://semver.org/] (http://semver.org/)'\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Some semantic versions are written:\")]),\n _vm._v(\" \"),\n _vm._m(192),\n _c(\"p\", [\n _vm._v(\"The semantic version parser currently used by xmake is the \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/uael/sv\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"sv\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\" library contributed by \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/uael\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"uael\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\n \", which also has a description of the version. For detailed instructions, please refer to the following: [Version Description] (https://github.com/uael/sv#versions)\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Of course, if we have no special requirements for the current version of the dependency package, then we can write directly:\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(193),\n _c(\"p\", [\n _vm._v(\n \"This will use the latest version of the package known, or the source code compiled by the master branch. If the current package has a git repo address, we can also specify a specific branch version:\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(194),\n _vm._m(195),\n _vm._v(\" \"),\n _vm._m(196),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"If the specified dependency package is not supported by the current platform, or if the compilation and installation fails, then xmake will compile the error, which is reasonable for some projects that must rely on certain packages to work.\\nHowever, if some packages are optional dependencies, they can be set to optional packages even if they are not compiled properly.\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(197),\n _vm._m(198),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"With the default settings, xmake will first check to see if the system library exists (if no version is required). If the user does not want to use the system library and the library provided by the third-party package management, then you can set:\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(199),\n _vm._m(200),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"If we want to debug the dependencies at the same time, we can set them to use the debug version of the package (provided that this package supports debug compilation):\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(201),\n _c(\"p\", [\n _vm._v(\n \"If the current package does not support debug compilation, you can submit the modified compilation rules in the repository to support the debug, for example:\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(202),\n _vm._m(203),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Some packages have various compile options at compile time, and we can pass them in. Of course, the package itself supports:\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(204),\n _vm._m(205),\n _vm._v(\" \"),\n _vm._m(206),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"If the required package is not in the official repository \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake-repo\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake-repo\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\n \", we can submit the contribution code to the repository for support.\\nBut if some packages are only for personal or private projects, we can create a private repository repo. The repository organization structure can be found at: \"\n ),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake-repo\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake-repo\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _vm._m(207),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"We can add the repository with the following command:\")]),\n _vm._v(\" \"),\n _vm._m(208),\n _c(\"p\", [_vm._v(\"Or we write directly in xmake.lua:\")]),\n _vm._v(\" \"),\n _vm._m(209),\n _c(\"p\", [\n _vm._v(\n \"If we just want to add one or two private packages, this time to build a git repo is too big, we can directly put the package repository into the project, for example:\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(210),\n _c(\"p\", [\n _vm._v(\n \"The above myrepo directory is your own private package repository, built into your own project, and then add this repository location in xmake.lua:\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(211),\n _c(\"p\", [\n _vm._v(\n \"This can be referred to [benchbox] (https://github.com/tboox/benchbox) project, which has a built-in private repository.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"We can even build a package without directly building a package description into the project xmake.lua, which is useful for relying on one or two packages, for example:\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(212),\n _vm._m(213),\n _vm._v(\" \"),\n _vm._m(214),\n _vm._v(\" \"),\n _vm._m(215),\n _vm._v(\" \"),\n _vm._m(216),\n _c(\"p\", [_vm._v(\"Install the specified version package:\")]),\n _vm._v(\" \"),\n _vm._m(217),\n _c(\"p\", [\n _vm._v(\n \"Force a re-download of the installation and display detailed installation information:\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(218),\n _c(\"p\", [_vm._v(\"Pass additional setup information:\")]),\n _vm._v(\" \"),\n _vm._m(219),\n _vm._m(220),\n _vm._v(\" \"),\n _vm._m(221),\n _vm._v(\" \"),\n _vm._m(222),\n _c(\"p\", [\n _vm._v(\"This will completely uninstall the removal package file.\")\n ]),\n _vm._v(\" \"),\n _vm._m(223),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Only unlink specifies the package, it is not detected by the current project, but the package still exists locally. If it is reinstalled, it will be completed very quickly.\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(224),\n _vm._m(225),\n _vm._v(\" \"),\n _vm._m(226),\n _vm._m(227),\n _vm._v(\" \"),\n _vm._m(228),\n _c(\"p\", [\n _vm._v(\"This is to support fuzzy search and lua pattern matching search:\")\n ]),\n _vm._v(\" \"),\n _vm._m(229),\n _c(\"p\", [_vm._v(\"Will also search for pcre, pcre2 and other packages.\")]),\n _vm._v(\" \"),\n _vm._m(230),\n _vm._v(\" \"),\n _vm._m(231),\n _vm._m(232),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"As mentioned above, adding a private repository is available (supporting local path addition):\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(233),\n _c(\"p\", [\n _vm._v(\"We can also remove a repository that has already been installed:\")\n ]),\n _vm._v(\" \"),\n _vm._m(234),\n _c(\"p\", [_vm._v(\"Or view all the added warehouses:\")]),\n _vm._v(\" \"),\n _vm._m(235),\n _c(\"p\", [\n _vm._v(\n \"If the remote repository has updates, you can manually perform a warehouse update to get more and the latest packages:\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(236),\n _vm._m(237),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"If you need a package that is not supported by the current official repository, you can commit it to the official repository after local tuning: \"\n ),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake-repo\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake-repo\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"For detailed contribution descriptions, see: \"),\n _c(\n \"a\",\n {\n attrs: {\n href:\n \"https://github.com/tboox/xmake-repo/blob/master/CONTRIBUTING.md\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"CONTRIBUTING.md\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h1\", { attrs: { id: \"getting-started\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#getting-started\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Getting Started\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"installation\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#installation\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Installation\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"master\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#master\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Master\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h5\", { attrs: { id: \"via-curl\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#via-curl\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" via curl\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"bash\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"<\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\n \"curl -fsSL https://raw.githubusercontent.com/tboox/xmake/master/scripts/get.sh\"\n ),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h5\", { attrs: { id: \"via-wget\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#via-wget\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" via wget\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"bash\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"<\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\n \"wget https://raw.githubusercontent.com/tboox/xmake/master/scripts/get.sh -O -\"\n ),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h5\", { attrs: { id: \"via-powershell\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#via-powershell\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" via powershell\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"Invoke-Expression \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"Invoke-Webrequest \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v(\n \"'https://raw.githubusercontent.com/tboox/xmake/master/scripts/get.ps1'\"\n )\n ]),\n _vm._v(\" -UseBasicParsing\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\".Content\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"windows\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#windows\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Windows\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"macos\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#macos\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" MacOS\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ brew \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"install\")\n ]),\n _vm._v(\" xmake\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"linux\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#linux\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Linux\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ yaourt xmake\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"sudo\")]),\n _vm._v(\" add-apt-repository ppa:tboox/xmake\\n$ \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"sudo\")]),\n _vm._v(\" apt update\\n$ \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"sudo\")]),\n _vm._v(\" apt \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"install\")\n ]),\n _vm._v(\" xmake\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language- extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-text\" } }, [\n _c(\"code\", [\n _vm._v(\n \"deb http://ppa.launchpad.net/tboox/xmake/ubuntu yakkety main \\ndeb-src http://ppa.launchpad.net/tboox/xmake/ubuntu yakkety main \\n\"\n )\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"sudo\")]),\n _vm._v(\" apt update\\n$ \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"sudo\")]),\n _vm._v(\" apt \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"install\")\n ]),\n _vm._v(\" xmake\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"li\", [\n _vm._v(\"Run \"),\n _c(\"code\", [_vm._v(\"dpkg -i xmake-xxxx.deb\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"compilation\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#compilation\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Compilation\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"git\")]),\n _vm._v(\" clone https://github.com/tboox/xmake.git\\n$ \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"cd\")]),\n _vm._v(\" ./xmake\\n$ ./scripts/get.sh __local__\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ ./scripts/get.sh __local__ __install_only__\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ ./scripts/get.sh __uninstall__\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"make\")]),\n _vm._v(\" build\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"sudo\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"make\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"install\")\n ]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"sudo\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"make\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"install\")\n ]),\n _vm._v(\" prefix\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"/usr/local\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"sudo\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"make\")]),\n _vm._v(\" uninstall\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"quick-start\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#quick-start\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Quick Start\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"create-project\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#create-project\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Create Project\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake create -l c -P ./hello\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language- extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-text\" } }, [\n _c(\"code\", [_vm._v(\"hello\\n├── src\\n│ └── main.c\\n└── xmake.lua\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _vm._v(\"It is a simple console program only for printing \"),\n _c(\"code\", [_vm._v(\"hello xmake!\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _vm._v(\"The content of \"),\n _c(\"code\", [_vm._v(\"xmake.lua\")]),\n _vm._v(\" is very simple:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"hello\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_kind\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"binary\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"src/*.c\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"c/c++\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"objc/c++\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"asm\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"swift\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"dlang\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"golang\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"rust\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"build-project\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#build-project\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Build Project\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"run-program\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#run-program\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Run Program\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake run hello\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"debug-program\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#debug-program\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Debug Program\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake run -d hello \\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"lldb\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _c(\"span\", { attrs: { class: \"token variable\" } }, [\n _vm._v(\"$target\")\n ]),\n _vm._v(\" create \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"build/hello\"')\n ]),\n _vm._v(\"\\nCurrent executable \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"set\")]),\n _vm._v(\" to \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v(\"'build/hello'\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"x86_64\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\".\\n\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"lldb\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _c(\"span\", { attrs: { class: \"token variable\" } }, [_vm._v(\"$b\")]),\n _vm._v(\" main\\nBreakpoint 1: where \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" hello\"),\n _c(\"span\", { attrs: { class: \"token variable\" } }, [\n _c(\"span\", { attrs: { class: \"token variable\" } }, [_vm._v(\"`\")]),\n _vm._v(\"main, address \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" 0x0000000100000f50\\n\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"[\")\n ]),\n _vm._v(\"lldb\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"]\")\n ]),\n _vm._v(\"$r\\nProcess 7509 launched: \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v(\"'/private/tmp/hello/build/hello'\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"(\")\n ]),\n _vm._v(\"x86_64\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\")\")\n ]),\n _vm._v(\"\\nProcess 7509 stopped\\n* thread #1: tid \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" 0x435a2, 0x0000000100000f50 hello\"),\n _c(\"span\", { attrs: { class: \"token variable\" } }, [_vm._v(\"`\")])\n ]),\n _vm._v(\"main, queue \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v(\"'com.apple.main-thread'\")\n ]),\n _vm._v(\", stop reason \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" breakpoint 1.1\\n frame \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"#0: 0x0000000100000f50 hello`main\")\n ]),\n _vm._v(\"\\nhello`main:\\n-\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\">\")]),\n _vm._v(\" 0x100000f50 \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"<\")]),\n _vm._v(\"+0\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\">\")]),\n _vm._v(\": pushq %rbp\\n 0x100000f51 \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"<\")]),\n _vm._v(\"+1\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\">\")]),\n _vm._v(\": movq %rsp, %rbp\\n 0x100000f54 \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"<\")]),\n _vm._v(\"+4\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\">\")]),\n _vm._v(\": leaq 0x2b\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"%rip\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\", %rdi \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"hello world!\"')\n ]),\n _vm._v(\"\\n 0x100000f5b \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"<\")]),\n _vm._v(\"+11\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\">\")]),\n _vm._v(\": callq 0x100000f64 \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\" symbol stub for: puts\\n\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"lldb\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _vm._v(\"$\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"project-examples\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#project-examples\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Project Examples\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"executable-program\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#executable-program\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Executable Program\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"test\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_kind\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"binary\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"src/*c\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"static-library-program\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#static-library-program\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Static Library Program\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"library\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_kind\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"static\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"src/library/*.c\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"test\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_kind\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"binary\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"src/*c\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_deps\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"library\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _vm._v(\"We use \"),\n _c(\"code\", [_vm._v(\"add_deps\")]),\n _vm._v(\" to link a static library to test target.\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"share-library-program\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#share-library-program\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Share Library Program\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"library\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_kind\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"shared\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"src/library/*.c\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"test\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_kind\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"binary\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"src/*c\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_deps\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"library\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _vm._v(\"We use \"),\n _c(\"code\", [_vm._v(\"add_deps\")]),\n _vm._v(\" to link a share library to test target.\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"qt-program\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#qt-program\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Qt Program\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake create -l c++ -t console_qt \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"test\")]),\n _vm._v(\"\\n$ xmake create -l c++ -t static_qt \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"test\")]),\n _vm._v(\"\\n$ xmake create -l c++ -t shared_qt \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"test\")]),\n _vm._v(\"\\n$ xmake create -l c++ -t quickapp_qt \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"test\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake f --qt\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"~/Qt/Qt5.9.1\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake f -p mingw --sdk\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"C:\\\\Qt\\\\Qt5.10.1\\\\Tools\\\\mingw530_32 \\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h5\", { attrs: { id: \"static-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#static-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Static Library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"qt_static_library\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_rules\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"qt.static\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"src/*.cpp\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_frameworks\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"QtNetwork\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"QtGui\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h5\", { attrs: { id: \"shared-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#shared-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Shared Library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"qt_shared_library\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_rules\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"qt.shared\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"src/*.cpp\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_frameworks\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"QtNetwork\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"QtGui\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h5\", { attrs: { id: \"console-program\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#console-program\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Console Program\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"qt_console\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_rules\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"qt.console\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"src/*.cpp\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h5\", { attrs: { id: \"quick-application\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#quick-application\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Quick Application\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"qt_quickapp\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_rules\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"qt.application\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"src/*.cpp\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"src/qml.qrc\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_frameworks\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"QtQuick\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h5\", { attrs: { id: \"widgets-application\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#widgets-application\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Widgets Application\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"qt_widgetapp\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_rules\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"qt.application\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"src/*.cpp\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"src/mainwindow.ui\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"src/mainwindow.h\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"-- add files with Q_OBJECT meta (only for qt.moc)\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_frameworks\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"QtWidgets\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"cuda-program\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#cuda-program\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Cuda Program\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake create -P \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"test\")]),\n _vm._v(\" -l cuda\\n$ \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"cd\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"test\")]),\n _vm._v(\"\\n$ xmake\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"cuda_console\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_kind\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"binary\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"src/*.cu\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"-- generate SASS code for each SM architecture\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"for\")]),\n _vm._v(\" _\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" sm \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"in\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"ipairs\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"30\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"35\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"37\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"50\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"52\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"60\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"61\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"70\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"do\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_cuflags\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"-gencode arch=compute_\"')\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"..\")]),\n _vm._v(\" sm \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"..\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\",code=sm_\"')\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"..\")]),\n _vm._v(\" sm\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_ldflags\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"-gencode arch=compute_\"')\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"..\")]),\n _vm._v(\" sm \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"..\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\",code=sm_\"')\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"..\")]),\n _vm._v(\" sm\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"end\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\n \"-- generate PTX code from the highest SM architecture to guarantee forward-compatibility\"\n )\n ]),\n _vm._v(\"\\n sm \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"70\"')]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_cuflags\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"-gencode arch=compute_\"')\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"..\")]),\n _vm._v(\" sm \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"..\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\",code=compute_\"')\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"..\")]),\n _vm._v(\" sm\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_ldflags\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"-gencode arch=compute_\"')\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"..\")]),\n _vm._v(\" sm \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"..\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\",code=compute_\"')\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"..\")]),\n _vm._v(\" sm\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake f --cuda\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"/usr/local/cuda-9.1/ \\n$ xmake\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"wdk-driver-program\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#wdk-driver-program\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" WDK Driver Program\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake f --wdk\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"G:\\\\Program Files\\\\Windows Kits\\\\10\"')\n ]),\n _vm._v(\" -c\\n$ xmake\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h5\", { attrs: { id: \"umdf-driver-program\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#umdf-driver-program\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" UMDF Driver Program\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"echo\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_rules\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.driver\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.env.umdf\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"driver/*.c\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"driver/*.inx\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_includedirs\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"exe\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"app\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_rules\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.binary\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.env.umdf\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"exe/*.cpp\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h5\", { attrs: { id: \"kmdf-driver-program\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#kmdf-driver-program\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" KMDF Driver Program\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"nonpnp\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_rules\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.driver\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.env.kmdf\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_values\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.tracewpp.flags\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"-func:TraceEvents(LEVEL,FLAGS,MSG,...)\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"-func:Hexdump((LEVEL,FLAGS,MSG,...))\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"driver/*.c\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"rule \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.tracewpp\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"driver/*.rc\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"app\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_rules\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.binary\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.env.kmdf\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"exe/*.c\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"exe/*.inf\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h5\", { attrs: { id: \"wdm-driver-program\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#wdm-driver-program\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" WDM Driver Program\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"kcs\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_rules\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.driver\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.env.wdm\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_values\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.man.flags\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"-prefix Kcs\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_values\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.man.resource\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"kcsCounters.rc\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_values\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.man.header\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"kcsCounters.h\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_values\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.man.counter_header\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"kcsCounters_counters.h\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"*.c\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"*.rc\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"*.man\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"msdsm\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_rules\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.driver\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.env.wdm\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_values\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.tracewpp.flags\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"-func:TracePrint((LEVEL,FLAGS,MSG,...))\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"*.c\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"rule \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.tracewpp\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"*.rc\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"*.inf\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"*.mof|msdsm.mof\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"msdsm.mof\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"values \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"wdk_mof_header \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"msdsmwmi.h\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h5\", { attrs: { id: \"package-driver\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#package-driver\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Package Driver\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"p\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"package\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _vm._v(\"\\n$ xmake \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"p\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"package\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _vm._v(\" -o outputdir\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language- extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-text\" } }, [\n _c(\"code\", [\n _vm._v(\n \" - drivers\\n - sampledsm\\n - debug/x86/sampledsm.cab\\n - release/x64/sampledsm.cab\\n - debug/x86/sampledsm.cab\\n - release/x64/sampledsm.cab\\n\"\n )\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h5\", { attrs: { id: \"driver-signing\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#driver-signing\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Driver Signing\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _vm._v(\n \"The driver signing is disabled when we compile driver in default case,\\nbut we can add \"\n ),\n _c(\"code\", [_vm._v('set_values(\"wdk.sign.mode\")')]),\n _vm._v(\" to enable test/release sign.\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h6\", { attrs: { id: \"testsign\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#testsign\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" TestSign\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _vm._v(\n \"We can use test certificate of xmake to do testsign, but please run \"\n ),\n _c(\"code\", [_vm._v(\"$xmake l utils.wdk.testcert\")]),\n _vm._v(\n \" install as admin to install a test certificate first (only once)!\"\n )\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"msdsm\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_rules\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.driver\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.env.wdm\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_values\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.sign.mode\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"test\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"msdsm\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_rules\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.driver\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.env.wdm\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_values\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.sign.mode\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"test\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_values\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.sign.thumbprint\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"032122545DCAA6167B1ADBE5F7FDF07AE2234AAA\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"msdsm\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_rules\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.driver\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.env.wdm\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_values\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.sign.mode\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"test\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_values\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.sign.store\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"PrivateCertStore\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_values\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.sign.company\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"tboox.org(test)\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h6\", { attrs: { id: \"releasesign\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#releasesign\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" ReleaseSign\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"msdsm\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_rules\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.driver\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.env.wdm\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_values\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.sign.mode\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"release\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_values\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.sign.company\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"xxxx\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_values\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.sign.certfile\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" path\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\".\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"join\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"os\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\".\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"projectdir\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"xxxx.cer\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h5\", { attrs: { id: \"support-low-version-system\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#support-low-version-system\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Support Low-version System\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _vm._v(\"We can set \"),\n _c(\"code\", [_vm._v(\"wdk.env.winver\")]),\n _vm._v(\n \" to generate a driver package that is compatible with a low version system.\"\n )\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_values\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.env.winver\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"win10\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_values\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.env.winver\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"win10_rs3\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_values\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.env.winver\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"win81\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_values\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.env.winver\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"win8\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_values\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.env.winver\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"win7\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_values\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.env.winver\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"win7_sp1\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_values\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.env.winver\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"win7_sp2\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_values\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"wdk.env.winver\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"win7_sp3\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake f --wdk_winver\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"win10_rs3\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"win8\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"win7\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"win7_sp1\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _vm._v(\"\\n$ xmake\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"winsdk-application-program\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#winsdk-application-program\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" WinSDK Application Program\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"usbview\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_rules\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"win.sdk.application\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"*.c\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"*.rc\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"xmlhelper.cpp\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"rule \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"win.sdk.dotnet\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"configuration\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#configuration\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Configuration\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _vm._v(\n \"Set compilation configuration before building project with command \"\n ),\n _c(\"code\", [_vm._v(\"xmake f|config\")]),\n _vm._v(\".\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _vm._v(\"And if you want to known more options, please run: \"),\n _c(\"code\", [_vm._v(\"xmake f --help\")]),\n _vm._v(\"。\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", { staticClass: \"tip\" }, [\n _vm._v(\"\\n You can use short or long command option, for exmaple: \"),\n _c(\"br\"),\n _vm._v(\"\\n `xmake f` or `xmake config`.\"),\n _c(\"br\"),\n _vm._v(\"\\n `xmake f -p linux` or `xmake config --plat=linux`.\\n\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"target-platforms\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#target-platforms\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Target Platforms\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h5\", { attrs: { id: \"current-host\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#current-host\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Current Host\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h5\", { attrs: { id: \"linux-2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#linux-2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Linux\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake f -p linux \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"-a i386\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"x86_64\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _vm._v(\"\\n$ xmake\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h5\", { attrs: { id: \"android\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#android\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Android\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake f -p android --ndk\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"~/files/android-ndk-r10e/ \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"-a armv5te\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"armv6\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"armv7-a\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"armv8-a\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"arm64-v8a\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _vm._v(\"\\n$ xmake\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _vm._v(\"If you want to set the other android toolchains, you can use \"),\n _c(\"a\", { attrs: { href: \"#-bin\" } }, [_vm._v(\"--bin\")]),\n _vm._v(\" option.\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake f -p android --ndk\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"~/files/android-ndk-r10e/ -a arm64-v8a --bin\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\n \"~/files/android-ndk-r10e/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64/bin\\n\"\n )\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _vm._v(\"The \"),\n _c(\"a\", { attrs: { href: \"#-bin\" } }, [_vm._v(\"--bin\")]),\n _vm._v(\" option is used to set \"),\n _c(\"code\", [_vm._v(\"bin\")]),\n _vm._v(\" directory of toolchains.\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h5\", { attrs: { id: \"iphoneos\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#iphoneos\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" iPhoneOS\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake f -p iphoneos \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"-a armv7\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"armv7s\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"arm64\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"i386\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"x86_64\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _vm._v(\"\\n$ xmake\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h5\", { attrs: { id: \"windows-2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#windows-2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Windows\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake f -p windows \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"-a x86\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"x64\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _vm._v(\"\\n$ xmake\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h5\", { attrs: { id: \"mingw\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#mingw\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Mingw\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake f -p mingw --sdk\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"/usr/local/i386-mingw32-4.3.0/ \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"-a i386\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"x86_64\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _vm._v(\"\\n$ xmake\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h5\", { attrs: { id: \"apple-watchos\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#apple-watchos\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Apple WatchOS\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake f -p watchos \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"-a i386\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"armv7k\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _vm._v(\"\\n$ xmake\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h5\", { attrs: { id: \"cross-compilation\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#cross-compilation\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Cross Compilation\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake f -p linux --sdk\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"/usr/local/arm-linux-gcc/ \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"--bin\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"/sdk/bin\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"--cross\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"arm-linux-\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _vm._v(\"\\n$ xmake\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake f -p cross --sdk\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"/usr/local/arm-xxx-gcc/ \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"--bin\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"/sdk/bin\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"--cross\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"arm-linux-\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _vm._v(\"\\n$ xmake\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _vm._v(\"For custem cross platform (\"),\n _c(\"code\", [_vm._v('is_plat(\"myplat\")')]),\n _vm._v(\"):\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake f -p myplat --sdk\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"/usr/local/arm-xxx-gcc/ \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"--bin\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"/sdk/bin\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"--cross\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"arm-linux-\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _vm._v(\"\\n$ xmake\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"table\", [\n _c(\"thead\", [\n _c(\"tr\", [\n _c(\"th\", [_vm._v(\"Configuration Option\")]),\n _vm._v(\" \"),\n _c(\"th\", [_vm._v(\"Description\")])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tbody\", [\n _c(\"tr\", [\n _c(\"td\", [_c(\"a\", { attrs: { href: \"#-sdk\" } }, [_vm._v(\"--sdk\")])]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Set the sdk root directory of toolchains\")])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [_c(\"a\", { attrs: { href: \"#-bin\" } }, [_vm._v(\"--bin\")])]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set the \"),\n _c(\"code\", [_vm._v(\"bin\")]),\n _vm._v(\" directory of toolchains\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [\n _c(\"a\", { attrs: { href: \"#-cross\" } }, [_vm._v(\"--cross\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Set the prefix of compilation tools\")])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [_c(\"a\", { attrs: { href: \"#-as\" } }, [_vm._v(\"--as\")])]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"asm\")]),\n _vm._v(\" assembler\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [_c(\"a\", { attrs: { href: \"#-cc\" } }, [_vm._v(\"--cc\")])]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"c\")]),\n _vm._v(\" compiler\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [_c(\"a\", { attrs: { href: \"#-cxx\" } }, [_vm._v(\"--cxx\")])]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"c++\")]),\n _vm._v(\" compiler\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [_c(\"a\", { attrs: { href: \"#-mm\" } }, [_vm._v(\"--mm\")])]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"objc\")]),\n _vm._v(\" compiler\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [_c(\"a\", { attrs: { href: \"#-mxx\" } }, [_vm._v(\"--mxx\")])]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"objc++\")]),\n _vm._v(\" compiler\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [_c(\"a\", { attrs: { href: \"#-sc\" } }, [_vm._v(\"--sc\")])]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"swift\")]),\n _vm._v(\" compiler\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [_c(\"a\", { attrs: { href: \"#-gc\" } }, [_vm._v(\"--gc\")])]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"golang\")]),\n _vm._v(\" compiler\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [_c(\"a\", { attrs: { href: \"#-dc\" } }, [_vm._v(\"--dc\")])]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"dlang\")]),\n _vm._v(\" compiler\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [_c(\"a\", { attrs: { href: \"#-rc\" } }, [_vm._v(\"--rc\")])]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"rust\")]),\n _vm._v(\" compiler\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [_c(\"a\", { attrs: { href: \"#-cu\" } }, [_vm._v(\"--cu\")])]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"cuda\")]),\n _vm._v(\" compiler\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [_c(\"a\", { attrs: { href: \"#-ld\" } }, [_vm._v(\"--ld\")])]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"c/c++/objc/asm\")]),\n _vm._v(\" linker\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [_c(\"a\", { attrs: { href: \"#-sh\" } }, [_vm._v(\"--sh\")])]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"c/c++/objc/asm\")]),\n _vm._v(\" shared library linker\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [_c(\"a\", { attrs: { href: \"#-ar\" } }, [_vm._v(\"--ar\")])]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"c/c++/objc/asm\")]),\n _vm._v(\" static library archiver\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [\n _c(\"a\", { attrs: { href: \"#-sc-ld\" } }, [_vm._v(\"--sc-ld\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"swift\")]),\n _vm._v(\" linker\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [\n _c(\"a\", { attrs: { href: \"#-sc-sh\" } }, [_vm._v(\"--sc-sh\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"swift\")]),\n _vm._v(\" shared library linker\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [\n _c(\"a\", { attrs: { href: \"#-gc-ld\" } }, [_vm._v(\"--gc-ld\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"golang\")]),\n _vm._v(\" linker\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [\n _c(\"a\", { attrs: { href: \"#-gc-ar\" } }, [_vm._v(\"--gc-ar\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"golang\")]),\n _vm._v(\" static library archiver\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [\n _c(\"a\", { attrs: { href: \"#-dc-ld\" } }, [_vm._v(\"--dc-ld\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"dlang\")]),\n _vm._v(\" linker\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [\n _c(\"a\", { attrs: { href: \"#-dc-sh\" } }, [_vm._v(\"--dc-sh\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"dlang\")]),\n _vm._v(\" shared library linker\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [\n _c(\"a\", { attrs: { href: \"#-dc-ar\" } }, [_vm._v(\"--dc-ar\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"dlang\")]),\n _vm._v(\" static library archiver\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [\n _c(\"a\", { attrs: { href: \"#-rc-ld\" } }, [_vm._v(\"--rc-ld\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"rust\")]),\n _vm._v(\" linker\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [\n _c(\"a\", { attrs: { href: \"#-rc-sh\" } }, [_vm._v(\"--rc-sh\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"rust\")]),\n _vm._v(\" shared library linker\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [\n _c(\"a\", { attrs: { href: \"#-rc-ar\" } }, [_vm._v(\"--rc-ar\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"rust\")]),\n _vm._v(\" static library archiver\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [\n _c(\"a\", { attrs: { href: \"#-cu-ld\" } }, [_vm._v(\"--cu-ld\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"cuda\")]),\n _vm._v(\" linker\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [\n _c(\"a\", { attrs: { href: \"#-cu-sh\" } }, [_vm._v(\"--cu-sh\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"cuda\")]),\n _vm._v(\" shared library linker\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [\n _c(\"a\", { attrs: { href: \"#-cu-ar\" } }, [_vm._v(\"--cu-ar\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"cuda\")]),\n _vm._v(\" static library archiver\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [\n _c(\"a\", { attrs: { href: \"#-asflags\" } }, [_vm._v(\"--asflags\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"asm\")]),\n _vm._v(\" assembler option\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [\n _c(\"a\", { attrs: { href: \"#-cflags\" } }, [_vm._v(\"--cflags\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"c\")]),\n _vm._v(\" compiler option\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [\n _c(\"a\", { attrs: { href: \"#-cxflags\" } }, [_vm._v(\"--cxflags\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"c/c++\")]),\n _vm._v(\" compiler option\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [\n _c(\"a\", { attrs: { href: \"#-cxxflags\" } }, [_vm._v(\"--cxxflags\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"c++\")]),\n _vm._v(\" compiler option\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [\n _c(\"a\", { attrs: { href: \"#-mflags\" } }, [_vm._v(\"--mflags\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"objc\")]),\n _vm._v(\" compiler option\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [\n _c(\"a\", { attrs: { href: \"#-mxflags\" } }, [_vm._v(\"--mxflags\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"objc/c++\")]),\n _vm._v(\" compiler option\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [\n _c(\"a\", { attrs: { href: \"#-mxxflags\" } }, [_vm._v(\"--mxxflags\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"objc++\")]),\n _vm._v(\" compiler option\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [\n _c(\"a\", { attrs: { href: \"#-scflags\" } }, [_vm._v(\"--scflags\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"swift\")]),\n _vm._v(\" compiler option\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [\n _c(\"a\", { attrs: { href: \"#-gcflags\" } }, [_vm._v(\"--gcflags\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"golang\")]),\n _vm._v(\" compiler option\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [\n _c(\"a\", { attrs: { href: \"#-dcflags\" } }, [_vm._v(\"--dcflags\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"dlang\")]),\n _vm._v(\" compiler option\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [\n _c(\"a\", { attrs: { href: \"#-rcflags\" } }, [_vm._v(\"--rcflags\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"rust\")]),\n _vm._v(\" compiler option\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [\n _c(\"a\", { attrs: { href: \"#-cuflags\" } }, [_vm._v(\"--cuflags\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"cuda\")]),\n _vm._v(\" compiler option\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [\n _c(\"a\", { attrs: { href: \"#-ldflags\" } }, [_vm._v(\"--ldflags\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Set linker option\")])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [\n _c(\"a\", { attrs: { href: \"#-shflags\" } }, [_vm._v(\"--shflags\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Set shared library linker option\")])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [\n _c(\"a\", { attrs: { href: \"#-arflags\" } }, [_vm._v(\"--arflags\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Set static library archiver option\")])\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h6\", { attrs: { id: \"sdk\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#sdk\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" --sdk\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Set the sdk root directory of toolchains\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _vm._v(\n \"xmake provides a convenient and flexible cross-compiling support.\\nIn most cases, we need not to configure complex toolchains prefix, for example: \"\n ),\n _c(\"code\", [_vm._v(\"arm-linux-\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language- extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-text\" } }, [\n _c(\"code\", [\n _vm._v(\n \"/home/toolchains_sdkdir\\n - bin\\n - arm-linux-gcc\\n - arm-linux-ld\\n - ...\\n - lib\\n - libxxx.a\\n - include\\n - xxx.h\\n\"\n )\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake f -p linux --sdk\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"/home/toolchains_sdkdir\\n$ xmake\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language- extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-text\" } }, [\n _c(\"code\", [\n _vm._v(\n \"-I/home/toolchains_sdkdir/include -L/home/toolchains_sdkdir/lib\\n\"\n )\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h6\", { attrs: { id: \"bin\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#bin\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" --bin\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"Set the \"),\n _c(\"code\", [_vm._v(\"bin\")]),\n _vm._v(\" directory of toolchains\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake f -p linux --sdk\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"/home/toolchains_sdkdir --bin\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"/usr/opt/bin\\n$ xmake\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h6\", { attrs: { id: \"cross\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#cross\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" --cross\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [_c(\"li\", [_vm._v(\"Set the prefix of compilation tools\")])])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language- extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-text\" } }, [\n _c(\"code\", [\n _vm._v(\"/opt/bin\\n - armv7-linux-gcc\\n - aarch64-linux-gcc\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _vm._v(\"If we want to use the \"),\n _c(\"code\", [_vm._v(\"armv7-linux-gcc\")]),\n _vm._v(\" compiler, we can run the following command:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake f -p linux --sdk\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"/usr/toolsdk --bin\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"/opt/bin --cross\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"armv7-linux-\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h6\", { attrs: { id: \"as\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#as\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" --as\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"asm\")]),\n _vm._v(\" assembler\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake f -p linux --sdk\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"/user/toolsdk --as\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"armv7-linux-as\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h6\", { attrs: { id: \"cc\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#cc\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" --cc\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [_c(\"li\", [_vm._v(\"Set c compiler\")])])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake f -p linux --sdk\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"/user/toolsdk --cc\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"armv7-linux-clang\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h6\", { attrs: { id: \"cxx\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#cxx\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" --cxx\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"c++\")]),\n _vm._v(\" compiler\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake f -p linux --sdk\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"/user/toolsdk --cxx\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"armv7-linux-clang++\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h6\", { attrs: { id: \"ld\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#ld\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" --ld\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"c/c++/objc/asm\")]),\n _vm._v(\" linker\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake f -p linux --sdk\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"/user/toolsdk --ld\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"armv7-linux-clang++\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h6\", { attrs: { id: \"sh\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#sh\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" --sh\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"c/c++/objc/asm\")]),\n _vm._v(\" shared library linker\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake f -p linux --sdk\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"/user/toolsdk --sh\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"armv7-linux-clang++\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h6\", { attrs: { id: \"ar\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#ar\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" --ar\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"Set \"),\n _c(\"code\", [_vm._v(\"c/c++/objc/asm\")]),\n _vm._v(\" static library archiver\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake f -p linux --sdk\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"/user/toolsdk --ar\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"armv7-linux-ar\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"global-configuration\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#global-configuration\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Global Configuration\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake g --ndk\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"~/files/android-ndk-r10e/\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake f -p android\\n$ xmake\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", { staticClass: \"tip\" }, [\n _vm._v(\n \"\\n You can use short or long command option, for exmaple: `xmake g` or `xmake global`.\"\n ),\n _c(\"br\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"clean-configuration\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#clean-configuration\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Clean Configuration\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake f -c\\n$ xmake\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake f -p iphoneos -c\\n$ xmake\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"dependency-package-management\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: {\n href: \"#dependency-package-management\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Dependency Package Management\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"local-package-mode\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#local-package-mode\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Local Package Mode\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language- extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-text\" } }, [\n _c(\"code\", [\n _vm._v(\n \"- base.pkg\\n- zlib.pkg\\n- polarssl.pkg\\n- openssl.pkg\\n- mysql.pkg\\n- pcre.pkg\\n- ...\\n\"\n )\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_packagedirs\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"packages\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"tbox\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_packages\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"zlib\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"polarssl\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"pcre\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"mysql\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"cd\")]),\n _vm._v(\" tbox\\n$ xmake package\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"cd\")]),\n _vm._v(\" tbox\\n$ xmake package -o \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"..\")]),\n _vm._v(\"/test/packages\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"system-search-mode\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#system-search-mode\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" System Search Mode\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"vcpkg\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"homebrew\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"pkg-config\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"import\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"lib.detect.find_package\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"local\")]),\n _vm._v(\" package \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"find_package\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"openssl\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"links \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"ssl\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"crypto\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"z\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" linkdirs \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"/usr/local/lib\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" includedirs \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"/usr/local/include\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _vm._v(\n \"The return result here can be directly passed as the parameter of \"\n ),\n _c(\"code\", [_vm._v(\"target:add\")]),\n _vm._v(\", \"),\n _c(\"code\", [_vm._v(\"option:add\")]),\n _vm._v(\", which is used to dynamically increase the configuration of \"),\n _c(\"code\", [_vm._v(\"target/option\")]),\n _vm._v(\":\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"option\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"zlib\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_showmenu\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"true\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"before_check\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [\n _vm._v(\"function\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"option\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"import\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"lib.detect.find_package\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n option\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\":\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"add\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"find_package\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"zlib\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"end\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"test\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"on_load\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [\n _vm._v(\"function\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"target\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"import\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"lib.detect.find_package\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n target\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\":\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"add\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"find_package\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"zlib\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"end\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _vm._v(\"If third-party tools such as \"),\n _c(\"code\", [_vm._v(\"homebrew\")]),\n _vm._v(\", \"),\n _c(\"code\", [_vm._v(\"pkg-config\")]),\n _vm._v(\n \" are installed on the system, then this interface will try to use them to improve the search results.\"\n )\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h5\", { attrs: { id: \"homebrew-integration-support\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: {\n href: \"#homebrew-integration-support\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Homebrew Integration Support\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _vm._v(\n \"Since homebrew is generally installed directly into the system, users do not need to do any integration work, \"\n ),\n _c(\"code\", [_vm._v(\"lib.detect.find_package\")]),\n _vm._v(\" has been natively seamlessly supported.\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h5\", { attrs: { id: \"vcpkg-integration-support\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#vcpkg-integration-support\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Vcpkg Integration Support\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _vm._v(\n \"Currently xmake v2.2.2 version already supports vcpkg, users only need to install vcpkg, execute \"\n ),\n _c(\"code\", [_vm._v(\"$ vcpkg integrate install\")]),\n _vm._v(\n \", xmake will automatically detect the root path of vcpkg from the system, and then automatically adapt the bread.\"\n )\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake f --vcpkg\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"f:\\\\vcpkg\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake g --vcpkg\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"f:\\\\vcpkg\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"remote-dependency-mode\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#remote-dependency-mode\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Remote dependency mode\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_requires\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"tbox 1.6.*\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"libpng ~1.16\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"zlib\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"test\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_kind\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"binary\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"src/*.c\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_packages\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"tbox\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"libpng\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"zlib\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _vm._v(\"The above \"),\n _c(\"code\", [_vm._v(\"add_requires\")]),\n _vm._v(\n \" is used to describe the dependencies required by the current project, and \"\n ),\n _c(\"code\", [_vm._v(\"add_packages\")]),\n _vm._v(\n \" is used to apply dependencies to the test target. Only settings will automatically add links, linkdirs, includedirs, etc.\"\n )\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h5\", { attrs: { id: \"currently-supported-features\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: {\n href: \"#currently-supported-features\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Currently Supported Features\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n 'Semantic version support, for example: \">= 1.1.0 < 1.2\", \"~1.6\", \"1.2.x\", \"1.*\"'\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Provide multi-warehouse management support such as official package warehouse, self-built private warehouse, project built-in warehouse, etc.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Cross-platform package compilation integration support (packages of different platforms and different architectures can be installed at the same time, fast switching use)\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Debug dependency package support, source code debugging\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"h5\",\n { attrs: { id: \"dependency-package-processing-mechanism\" } },\n [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: {\n href: \"#dependency-package-processing-mechanism\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Dependency Package Processing Mechanism\")\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { align: \"center\" } }, [\n _c(\"img\", {\n attrs: { src: \"/assets/img/index/package_arch.png\", width: \"80%\" }\n })\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ol\", [\n _c(\"li\", [\n _vm._v(\n \"Priority check for the current system directory, whether there is a specified package under the third-party package management, if there is a matching package, then you do not need to download and install (of course you can also set the system package)\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Retrieve the package matching the corresponding version, then download, compile, and install (Note: installed in a specific xmake directory, will not interfere with the system library environment)\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Compile the project, and finally automatically link the enabled dependencies\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h5\", { attrs: { id: \"semantic-version-settings\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#semantic-version-settings\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Semantic Version Settings\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_requires\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"tbox 1.6.*\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"pcre 1.3.x\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"libpng ^1.18\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_requires\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"libpng ~1.16\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"zlib 1.1.2 || >=1.2.11 <1.3.0\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_requires\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"tbox\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"libpng\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"zlib\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_requires\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"tbox master\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_requires\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"tbox dev\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h5\", { attrs: { id: \"extra-package-information-settings\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: {\n href: \"#extra-package-information-settings\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Extra Package Information Settings\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h6\", { attrs: { id: \"optional-package-settings\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#optional-package-settings\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Optional Package Settings\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_requires\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"tbox\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"optional \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"true\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h6\", { attrs: { id: \"disable-system-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#disable-system-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Disable System Library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_requires\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"tbox\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"system \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"false\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"h6\",\n { attrs: { id: \"using-the-debug-version-of-the-package\" } },\n [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: {\n href: \"#using-the-debug-version-of-the-package\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Using the debug version of the package\")\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_requires\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"tbox\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"debug \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"true\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"package\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"openssl\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"on_install\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"linux\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"macosx\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [\n _vm._v(\"function\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"package\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n os\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\".\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"vrun\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"./config %s --prefix=\\\\\"%s\\\\\"\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" package\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\":\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"debug\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"and\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"--debug\"')\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"or\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" package\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\":\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"installdir\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n os\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\".\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"vrun\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"make -j4\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n os\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\".\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"vrun\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"make install\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"end\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"h6\",\n {\n attrs: {\n id: \"passing-additional-compilation-information-to-the-package\"\n }\n },\n [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: {\n href:\n \"#passing-additional-compilation-information-to-the-package\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Passing additional compilation information to the package\")\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_requires\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"tbox\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"config \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"small\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"true\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _vm._v(\"Pass \"),\n _c(\"code\", [_vm._v(\"--small=true\")]),\n _vm._v(\n \" to the tbox package so that compiling the installed tbox package is enabled.\"\n )\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"h5\",\n { attrs: { id: \"using-self-built-private-package-warehouse\" } },\n [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: {\n href: \"#using-self-built-private-package-warehouse\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Using self-built private package warehouse\")\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _vm._v(\"For example, now we have a private repository repo:\"),\n _c(\"code\", [_vm._v(\"git@github.com:myrepo/xmake-repo.git\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\n \"$ xmake repo --add myrepo git@github.com:myrepo/xmake-repo.git\\n\"\n )\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_repositories\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"my-repo git@github.com:myrepo/xmake-repo.git\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language- extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-text\" } }, [\n _c(\"code\", [\n _vm._v(\n \"projectdir\\n - myrepo\\n - packages\\n - t/tbox/xmake.lua\\n - z/zlib/xmake.lua\\n - src\\n - main.c\\n - xmake.lua\\n\"\n )\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_repositories\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"my-repo myrepo\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"package\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"libjpeg\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_urls\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"http://www.ijg.org/files/jpegsrc.$(version).tar.gz\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_versions\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"v9c\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v(\n '\"650250979303a649e21f87b5ccd02672af1ea6954b911342ea491f351ceb7122\"'\n )\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"on_install\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"windows\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [\n _vm._v(\"function\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"package\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n os\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\".\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"mv\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"jconfig.vc\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"jconfig.h\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n os\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\".\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"vrun\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"nmake -f makefile.vc\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n os\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\".\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"cp\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"*.h\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" package\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\":\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"installdir\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"include\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n os\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\".\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"cp\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"libjpeg.lib\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" package\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\":\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"installdir\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"lib\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"end\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"on_install\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"macosx\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"linux\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [\n _vm._v(\"function\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"package\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"import\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"package.tools.autoconf\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\".\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"install\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"package\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"end\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"package_end\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_requires\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"libjpeg\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"test\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_kind\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"binary\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"src/*.c\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_packages\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"libjpeg\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h5\", { attrs: { id: \"package-management-command-use\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: {\n href: \"#package-management-command-use\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Package Management Command Use\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _vm._v(\"The package management command \"),\n _c(\"code\", [_vm._v(\"$ xmake require\")]),\n _vm._v(\n \" can be used to manually display the download, install, uninstall, retrieve, and view package information.\"\n )\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h6\", { attrs: { id: \"install-the-specified-package\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: {\n href: \"#install-the-specified-package\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Install the specified package\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake require tbox\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake require tbox \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"~1.6\"')]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake require -f -v tbox \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"1.5.x\"')]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake require --extra\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"debug=true,config={small=true}\"')\n ]),\n _vm._v(\" tbox\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _vm._v(\n \"Install the debug package and pass the compilation configuration information of \"\n ),\n _c(\"code\", [_vm._v(\"small=true\")]),\n _vm._v(\" to the package.\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h6\", { attrs: { id: \"uninstalling-the-specified-package\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: {\n href: \"#uninstalling-the-specified-package\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Uninstalling the specified package\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake require --uninstall tbox\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h6\", { attrs: { id: \"remove-the-specified-package\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: {\n href: \"#remove-the-specified-package\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Remove the specified package\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake require --unlink tbox\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h6\", { attrs: { id: \"view-package-details\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#view-package-details\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" View package details\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake require --info tbox\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"h6\",\n { attrs: { id: \"search-for-packages-in-the-current-warehouse\" } },\n [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: {\n href: \"#search-for-packages-in-the-current-warehouse\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Search for packages in the current warehouse\")\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake require --search tbox\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake require --search pcr\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"h6\",\n { attrs: { id: \"list-the-currently-installed-packages\" } },\n [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: {\n href: \"#list-the-currently-installed-packages\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" List the currently installed packages\")\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake require --list\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h5\", { attrs: { id: \"warehouse-management-command-use\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: {\n href: \"#warehouse-management-command-use\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Warehouse Management Command Use\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\n \"$ xmake repo --add myrepo git@github.com:myrepo/xmake-repo.git\\n\"\n )\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake repo --remove myrepo\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake repo --list\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake repo -u\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"h5\",\n { attrs: { id: \"submit-the-package-to-the-official-warehouse\" } },\n [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: {\n href: \"#submit-the-package-to-the-official-warehouse\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Submit the package to the official warehouse\")\n ]\n )\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/3eebe3afceeec4184dccb6d0e435bdde.json b/node_modules/vuepress/node_modules/.cache/vuepress/3eebe3afceeec4184dccb6d0e435bdde.json new file mode 100644 index 00000000..2963b000 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/3eebe3afceeec4184dccb6d0e435bdde.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Layout.vue","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Layout.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./Layout.vue?vue&type=template&id=25045c01&\"\nimport script from \"./Layout.vue?vue&type=script&lang=js&\"\nexport * from \"./Layout.vue?vue&type=script&lang=js&\"\nimport style0 from \"prismjs/themes/prism-tomorrow.css?vue&type=style&index=0&lang=css&\"\nimport style1 from \"./styles/theme.styl?vue&type=style&index=1&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('25045c01', component.options)\n } else {\n api.reload('25045c01', component.options)\n }\n module.hot.accept(\"./Layout.vue?vue&type=template&id=25045c01&\", function () {\n api.rerender('25045c01', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/default-theme/Layout.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/3f176453c06ec8545e8ca59288df69b4.json b/node_modules/vuepress/node_modules/.cache/vuepress/3f176453c06ec8545e8ca59288df69b4.json new file mode 100644 index 00000000..757dbebd --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/3f176453c06ec8545e8ca59288df69b4.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/manual/index.md?vue&type=template&id=6a456338&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/manual/index.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"manual\"><a class=\"header-anchor\" href=\"#manual\" aria-hidden=\"true\">#</a> Manual</h1>\n<p>[TODO]</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/3f452903ee7b6a15d46d3798972eeec9.json b/node_modules/vuepress/node_modules/.cache/vuepress/3f452903ee7b6a15d46d3798972eeec9.json new file mode 100644 index 00000000..6d0e488f --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/3f452903ee7b6a15d46d3798972eeec9.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/README.md?vue&type=template&id=15b97e54&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/README.md","mtime":1541488927605},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/40983177474c3458d2f58f623bed4b6e.json b/node_modules/vuepress/node_modules/.cache/vuepress/40983177474c3458d2f58f623bed4b6e.json new file mode 100644 index 00000000..f114b3c9 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/40983177474c3458d2f58f623bed4b6e.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/guide/getting-started.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/guide/getting-started.md","mtime":1541554688137},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./getting-started.md?vue&type=template&id=527ea621&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"getting-started.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/40d5a1496f19abfd79d9b580e4e8eac3.json b/node_modules/vuepress/node_modules/.cache/vuepress/40d5a1496f19abfd79d9b580e4e8eac3.json new file mode 100644 index 00000000..503b7acf --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/40d5a1496f19abfd79d9b580e4e8eac3.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/guide/getting-started.md?vue&type=template&id=07d4db43&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/getting-started.md","mtime":1541489096650},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"快速开始\"><a class=\"header-anchor\" href=\"#快速开始\" aria-hidden=\"true\">#</a> 快速开始</h1>\n<h2 id=\"编译\"><a class=\"header-anchor\" href=\"#编译\" aria-hidden=\"true\">#</a> 编译</h2>\n<p>请先安装: <a href=\"https://github.com/tboox/xmake\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></p>\n<!--beforebegin--><div class=\"language-console extra-class\"><!--afterbegin--><pre v-pre class=\"language-text\"><code># 默认直接编译当前主机平台\n$ cd ./tbox\n$ xmake\n\n# 编译mingw平台\n$ cd ./tbox\n$ xmake f -p mingw --sdk=/home/mingwsdk \n$ xmake\n\n# 编译iphoneos平台\n$ cd ./tbox\n$ xmake f -p iphoneos \n$ xmake\n\n# 编译android平台\n$ cd ./tbox\n$ xmake f -p android --ndk=xxxxx\n$ xmake\n\n# 交叉编译\n$ cd ./tbox\n$ xmake f -p linux --sdk=/home/sdk #--bin=/home/sdk/bin\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"例子\"><a class=\"header-anchor\" href=\"#例子\" aria-hidden=\"true\">#</a> 例子</h2>\n<!--beforebegin--><div class=\"language-c extra-class\"><!--afterbegin--><pre v-pre class=\"language-c\"><code><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">\"tbox/tbox.h\"</span></span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> argc<span class=\"token punctuation\">,</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span> argv<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// init tbox</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">tb_init</span><span class=\"token punctuation\">(</span>tb_null<span class=\"token punctuation\">,</span> tb_null<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"hello tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// init vector</span>\n tb_vector_ref_t vector <span class=\"token operator\">=</span> <span class=\"token function\">tb_vector_init</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">tb_element_cstr</span><span class=\"token punctuation\">(</span>tb_true<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// insert item</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// dump all items</span>\n tb_for_all <span class=\"token punctuation\">(</span>tb_char_t <span class=\"token keyword\">const</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">,</span> vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%s\"</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit vector</span>\n <span class=\"token function\">tb_vector_exit</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// init stream</span>\n tb_stream_ref_t stream <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_init_from_url</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"http://www.xxx.com/file.txt\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// open stream</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token function\">tb_stream_open</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// read line</span>\n tb_long_t size <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n tb_char_t line<span class=\"token punctuation\">[</span>TB_STREAM_BLOCK_MAXN<span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">while</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>size <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_bread_line</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">,</span> <span class=\"token keyword\">sizeof</span><span class=\"token punctuation\">(</span>line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">>=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"line: %s\"</span><span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit stream</span>\n <span class=\"token function\">tb_stream_exit</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// wait </span>\n <span class=\"token function\">getchar</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// exit tbox</span>\n <span class=\"token function\">tb_exit</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/40f671f521a4b1a09d6970458978a6e0.json b/node_modules/vuepress/node_modules/.cache/vuepress/40f671f521a4b1a09d6970458978a6e0.json new file mode 100644 index 00000000..5981915a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/40f671f521a4b1a09d6970458978a6e0.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue?vue&type=template&id=2cf6a4d4&functional=true&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function (_h,_vm) {var _c=_vm._c;return _c('svg',{staticClass:\"icon outbound\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"aria-hidden\":\"true\",\"x\":\"0px\",\"y\":\"0px\",\"viewBox\":\"0 0 100 100\",\"width\":\"15\",\"height\":\"15\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z\"}}),_vm._v(\" \"),_c('polygon',{attrs:{\"fill\":\"currentColor\",\"points\":\"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/4164579364269dfae320b6af34c86c1f.json b/node_modules/vuepress/node_modules/.cache/vuepress/4164579364269dfae320b6af34c86c1f.json new file mode 100644 index 00000000..ca70a9e6 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/4164579364269dfae320b6af34c86c1f.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./SearchBox.vue?vue&type=template&id=2a2a1355&\"\nimport script from \"./SearchBox.vue?vue&type=script&lang=js&\"\nexport * from \"./SearchBox.vue?vue&type=script&lang=js&\"\nfunction injectStyles (context) {\n \n var style0 = require(\"./SearchBox.vue?vue&type=style&index=0&lang=stylus&\")\nif (style0.__inject__) style0.__inject__(context)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n \"1b4c993a\"\n \n)\n\ncomponent.options.__file = \"SearchBox.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/416ba99708514f791c259e5589248a5d.json b/node_modules/vuepress/node_modules/.cache/vuepress/416ba99708514f791c259e5589248a5d.json new file mode 100644 index 00000000..acfcee88 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/416ba99708514f791c259e5589248a5d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/getting-started.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/getting-started.md","mtime":1541488106036},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./getting-started.md?vue&type=template&id=09de92a0&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"getting-started.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/418a90e58e3c6f2955c8e7d3b6af4e58.json b/node_modules/vuepress/node_modules/.cache/vuepress/418a90e58e3c6f2955c8e7d3b6af4e58.json new file mode 100644 index 00000000..f2f93933 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/418a90e58e3c6f2955c8e7d3b6af4e58.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nexport default {\n name: 'DropdownTransition',\n methods: {\n setHeight: function setHeight(items) {\n // explicitly set height so that it can be transitioned\n items.style.height = items.scrollHeight + 'px';\n },\n unsetHeight: function unsetHeight(items) {\n items.style.height = '';\n }\n }\n};",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/41a03218bd664b36fbff9f96e2d4f153.json b/node_modules/vuepress/node_modules/.cache/vuepress/41a03218bd664b36fbff9f96e2d4f153.json new file mode 100644 index 00000000..3393847f --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/41a03218bd664b36fbff9f96e2d4f153.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue?vue&type=template&id=1e9bb6d3&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<header class=\"navbar\">\n <SidebarButton @toggle-sidebar=\"$emit('toggle-sidebar')\"/>\n\n <router-link\n :to=\"$localePath\"\n class=\"home-link\"\n >\n <img\n class=\"logo\"\n v-if=\"$site.themeConfig.logo\"\n :src=\"$withBase($site.themeConfig.logo)\"\n :alt=\"$siteTitle\"\n >\n <span\n ref=\"siteName\"\n class=\"site-name\"\n v-if=\"$siteTitle\"\n :class=\"{ 'can-hide': $site.themeConfig.logo }\"\n >{{ $siteTitle }}</span>\n </router-link>\n\n <div\n class=\"links\"\n :style=\"{\n 'max-width': linksWrapMaxWidth + 'px'\n }\"\n >\n <AlgoliaSearchBox\n v-if=\"isAlgoliaSearch\"\n :options=\"algolia\"\n />\n <SearchBox v-else-if=\"$site.themeConfig.search !== false\"/>\n <NavLinks class=\"can-hide\"/>\n </div>\n</header>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/41bd24cd4da32d189a17c260edf9c163.json b/node_modules/vuepress/node_modules/.cache/vuepress/41bd24cd4da32d189a17c260edf9c163.json new file mode 100644 index 00000000..87c64642 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/41bd24cd4da32d189a17c260edf9c163.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/introduction.md?vue&type=template&id=2b93628e&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/introduction.md","mtime":1541488030814},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"introduction\"><a class=\"header-anchor\" href=\"#introduction\" aria-hidden=\"true\">#</a> Introduction</h1>\n<p>TBOX is a glib-like cross-platform C library that is simple to use yet powerful in nature.</p>\n<p>The project focuses on making C development easier and provides many modules (.e.g stream, coroutine, regex, container, algorithm ...),\nso that any developer can quickly pick it up and enjoy the productivity boost when developing in C language.</p>\n<p>It supports the following platforms:</p>\n<ul>\n<li>Windows</li>\n<li>Macosx</li>\n<li>Linux</li>\n<li>Android</li>\n<li>iOS</li>\n</ul>\n<p>And it provides many compiling options using <a href=\"http://www.xmake.io\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a>:</p>\n<ul>\n<li>Release: Disable debug information, assertion, memory checking and enable optimization.</li>\n<li>Debug: Enable debug information, assertion, memory checking and disable optimization.</li>\n<li>Small: Disable all extensional modules and enable space optimization.</li>\n<li>Micro: compiling micro library (~64K) for the embed system.</li>\n</ul>\n<p>If you want to know more, please refer to:</p>\n<ul>\n<li><a href=\"http://tboox.org\" target=\"_blank\" rel=\"noopener noreferrer\">HomePage<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/documents\" target=\"_blank\" rel=\"noopener noreferrer\">Documents<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Github<OutboundLink/></a></li>\n<li><a href=\"https://gitee.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Gitee<OutboundLink/></a></li>\n</ul>\n<h2 id=\"features\"><a class=\"header-anchor\" href=\"#features\" aria-hidden=\"true\">#</a> Features</h2>\n<h4 id=\"the-stream-library\"><a class=\"header-anchor\" href=\"#the-stream-library\" aria-hidden=\"true\">#</a> The stream library</h4>\n<ul>\n<li>Supports file, data, http and socket source</li>\n<li>Supports the stream filter for gzip, charset and...</li>\n<li>Implements stream transfer</li>\n<li>Implements the static buffer stream for parsing data</li>\n<li>Supports coroutine and implements asynchronous operation</li>\n</ul>\n<h4 id=\"the-coroutine-library\"><a class=\"header-anchor\" href=\"#the-coroutine-library\" aria-hidden=\"true\">#</a> The coroutine library</h4>\n<ul>\n<li>Provides high-performance coroutine switch(refer to <a href=\"http://tboox.org/2016/10/28/benchbox-coroutine/\" target=\"_blank\" rel=\"noopener noreferrer\">reports<OutboundLink/></a>)</li>\n<li>Supports arm, arm64, x86, x86_64 ..</li>\n<li>Provides channel interfaces</li>\n<li>Provides semaphore and lock interfaces</li>\n<li>Supports io socket and stream operation in coroutine</li>\n<li>Provides some io servers (http ..) using coroutine</li>\n<li>Provides stackfull and stackless coroutines</li>\n<li>Support epoll, kqueue, poll, select and IOCP</li>\n</ul>\n<h4 id=\"the-database-library\"><a class=\"header-anchor\" href=\"#the-database-library\" aria-hidden=\"true\">#</a> The database library</h4>\n<ul>\n<li>Supports mysql and sqlite3 database and enumerates data using the iterator mode</li>\n</ul>\n<h4 id=\"the-xml-parser-library\"><a class=\"header-anchor\" href=\"#the-xml-parser-library\" aria-hidden=\"true\">#</a> The xml parser library</h4>\n<ul>\n<li>Supports DOM and SAX mode and Supports xpath</li>\n</ul>\n<h4 id=\"the-serialization-and-deserialization-library\"><a class=\"header-anchor\" href=\"#the-serialization-and-deserialization-library\" aria-hidden=\"true\">#</a> The serialization and deserialization library</h4>\n<ul>\n<li>Supports xml, json, bplist, xplist, binary formats</li>\n</ul>\n<h4 id=\"the-memory-library\"><a class=\"header-anchor\" href=\"#the-memory-library\" aria-hidden=\"true\">#</a> The memory library</h4>\n<ul>\n<li>Implements some memory pools for optimizing memory</li>\n<li>Supports fast memory error detecting. it can detect the following types of bugs for the debug mode:\n<ul>\n<li>out-of-bounds accesses to heap and globals</li>\n<li>use-after-free</li>\n<li>double-free, invalid free</li>\n<li>memory leaks</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"the-container-library\"><a class=\"header-anchor\" href=\"#the-container-library\" aria-hidden=\"true\">#</a> The container library</h4>\n<ul>\n<li>Implements hash table, single list, double list, vector, stack, queue\nand min/max heap. Supports iterator mode for algorithm</li>\n</ul>\n<h4 id=\"the-algorithm-library\"><a class=\"header-anchor\" href=\"#the-algorithm-library\" aria-hidden=\"true\">#</a> The algorithm library</h4>\n<ul>\n<li>Uses the iterator mode</li>\n<li>Implements find, binary find and reverse find algorithm</li>\n<li>Implements sort, bubble sort, quick sort, heap sort and insert sort algorithm</li>\n<li>Implements count, walk items, reverse walk items, for_all and rfor_all</li>\n</ul>\n<h4 id=\"the-network-library\"><a class=\"header-anchor\" href=\"#the-network-library\" aria-hidden=\"true\">#</a> The network library</h4>\n<ul>\n<li>Implements dns(cached)</li>\n<li>Implements ssl(openssl, polarssl, mbedtls)</li>\n<li>Implements http</li>\n<li>Implements cookies</li>\n<li>Supports ipv4, ipv6</li>\n<li>Supports coroutine</li>\n</ul>\n<h4 id=\"the-platform-library\"><a class=\"header-anchor\" href=\"#the-platform-library\" aria-hidden=\"true\">#</a> The platform library</h4>\n<ul>\n<li>Implements timer, fast and low precision timer</li>\n<li>Implements atomic and atomic64 operation</li>\n<li>Implements spinlock, mutex, event, semaphore, thread and thread pool</li>\n<li>Implements file, socket operation</li>\n<li>Implements poller using epoll, poll, select, kqueue ...</li>\n<li>Implements switch context interfaces for coroutine</li>\n</ul>\n<h4 id=\"the-charset-library\"><a class=\"header-anchor\" href=\"#the-charset-library\" aria-hidden=\"true\">#</a> The charset library</h4>\n<ul>\n<li>Supports utf8, utf16, gbk, gb2312, uc2 and uc4</li>\n<li>Supports big endian and little endian mode</li>\n</ul>\n<h4 id=\"the-zip-library\"><a class=\"header-anchor\" href=\"#the-zip-library\" aria-hidden=\"true\">#</a> The zip library</h4>\n<ul>\n<li>Supports gzip, zlibraw, zlib formats using the zlib library if exists</li>\n<li>Implements lzsw, lz77 and rlc algorithm</li>\n</ul>\n<h4 id=\"the-utils-library\"><a class=\"header-anchor\" href=\"#the-utils-library\" aria-hidden=\"true\">#</a> The utils library</h4>\n<ul>\n<li>Implements base32, base64 encoder and decoder</li>\n<li>Implements assert and trace output for the debug mode</li>\n<li>Implements bits operation for parsing u8, u16, u32, u64 data</li>\n</ul>\n<h4 id=\"the-math-library\"><a class=\"header-anchor\" href=\"#the-math-library\" aria-hidden=\"true\">#</a> The math library</h4>\n<ul>\n<li>Implements random generator</li>\n<li>Implements fast fixed-point calculation, Supports 6-bits, 16-bits, 30-bits fixed-point number</li>\n</ul>\n<h4 id=\"the-libc-library\"><a class=\"header-anchor\" href=\"#the-libc-library\" aria-hidden=\"true\">#</a> The libc library</h4>\n<ul>\n<li>Implements lightweight libc library interfaces, the interface name contains <code>tb_xxx</code> prefix for avoiding conflict</li>\n<li>Implements strixxx strrxxx wcsixxx wcsrxxx interface extension</li>\n<li>Optimizes some frequently-used interface, .e.g. memset, memcpy, strcpy ...</li>\n<li>Implements <code>memset_u16</code>, <code>memset_u32</code>, <code>memset_u64</code> extension interfaces</li>\n</ul>\n<h4 id=\"the-libm-library\"><a class=\"header-anchor\" href=\"#the-libm-library\" aria-hidden=\"true\">#</a> The libm library</h4>\n<ul>\n<li>Implements lightweight libm library interfaces, the interface name contains <code>tb_xxx</code> prefix for avoiding conflict</li>\n<li>Supports float and double type</li>\n</ul>\n<h4 id=\"the-regex-library\"><a class=\"header-anchor\" href=\"#the-regex-library\" aria-hidden=\"true\">#</a> The regex library</h4>\n<ul>\n<li>Supports match and replace</li>\n<li>Supports global/multiline/caseless mode</li>\n<li>Uses pcre, pcre2 and posix regex modules</li>\n</ul>\n<h4 id=\"the-hash-library\"><a class=\"header-anchor\" href=\"#the-hash-library\" aria-hidden=\"true\">#</a> The hash library</h4>\n<ul>\n<li>Implements crc32, adler32, md5 and sha1 hash algorithm</li>\n<li>Implements some string hash algorithms (.e.g bkdr, fnv32, fnv64, sdbm, djb2, rshash, aphash ...)</li>\n<li>Implements uuid generator</li>\n</ul>\n<h2 id=\"projects\"><a class=\"header-anchor\" href=\"#projects\" aria-hidden=\"true\">#</a> Projects</h2>\n<p>Some projects using tbox:</p>\n<ul>\n<li><a href=\"https://github.com/tboox/gbox\" target=\"_blank\" rel=\"noopener noreferrer\">gbox<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/vm86\" target=\"_blank\" rel=\"noopener noreferrer\">vm86<OutboundLink/></a></li>\n<li><a href=\"http://www.xmake.io\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/itrace\" target=\"_blank\" rel=\"noopener noreferrer\">itrace<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/tbox-projects\" target=\"_blank\" rel=\"noopener noreferrer\">more<OutboundLink/></a></li>\n</ul>\n<h2 id=\"contacts\"><a class=\"header-anchor\" href=\"#contacts\" aria-hidden=\"true\">#</a> Contacts</h2>\n<ul>\n<li>Email:<a href=\"mailto:waruqi@gmail.com\">waruqi@gmail.com</a></li>\n<li>Homepage:<a href=\"http://www.tboox.org\" target=\"_blank\" rel=\"noopener noreferrer\">tboox.org<OutboundLink/></a></li>\n<li>Community:<a href=\"https://www.reddit.com/r/tboox/\" target=\"_blank\" rel=\"noopener noreferrer\">/r/tboox on reddit<OutboundLink/></a></li>\n</ul>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/41c4db0ab7424792e416ac2fe8b2ab74.json b/node_modules/vuepress/node_modules/.cache/vuepress/41c4db0ab7424792e416ac2fe8b2ab74.json new file mode 100644 index 00000000..d2153f9f --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/41c4db0ab7424792e416ac2fe8b2ab74.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexport default {\n name: 'DropdownTransition',\n\n methods: {\n setHeight (items) {\n // explicitly set height so that it can be transitioned\n items.style.height = items.scrollHeight + 'px'\n },\n\n unsetHeight (items) {\n items.style.height = ''\n }\n }\n}\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/41f569314754636536a2760070a8477d.json b/node_modules/vuepress/node_modules/.cache/vuepress/41f569314754636536a2760070a8477d.json new file mode 100644 index 00000000..da700a21 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/41f569314754636536a2760070a8477d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/api.md?vue&type=template&id=1be9b2ee&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/api.md","mtime":1541485547569},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm._m(0)\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _c(\"h1\", { attrs: { id: \"api\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#api\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" API\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"[TODO]\")])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/421893204025250a039374bf34aee1b7.json b/node_modules/vuepress/node_modules/.cache/vuepress/421893204025250a039374bf34aee1b7.json new file mode 100644 index 00000000..37e9418d --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/421893204025250a039374bf34aee1b7.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue?vue&type=template&id=247476d6&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div class=\"sidebar\">\n <NavLinks/>\n <slot name=\"top\"/>\n <ul class=\"sidebar-links\" v-if=\"items.length\">\n <li v-for=\"(item, i) in items\" :key=\"i\">\n <SidebarGroup\n v-if=\"item.type === 'group'\"\n :item=\"item\"\n :first=\"i === 0\"\n :open=\"i === openGroupIndex\"\n :collapsable=\"item.collapsable || item.collapsible\"\n @toggle=\"toggleGroup(i)\"\n />\n <SidebarLink v-else :item=\"item\"/>\n </li>\n </ul>\n <slot name=\"bottom\"/>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/4229f18d329bb390ae9d9cf42715ec4e.json b/node_modules/vuepress/node_modules/.cache/vuepress/4229f18d329bb390ae9d9cf42715ec4e.json new file mode 100644 index 00000000..fe7b303d --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/4229f18d329bb390ae9d9cf42715ec4e.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NotFound.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NotFound.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nconst msgs = [\n `There's nothing here.`,\n `How did we get here?`,\n `That's a Four-Oh-Four.`,\n `Looks like we've got some broken links.`\n]\n\nexport default {\n methods: {\n getMsg () {\n return msgs[Math.floor(Math.random() * msgs.length)]\n }\n }\n}\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/4271e609c8029488489b2174850bca54.json b/node_modules/vuepress/node_modules/.cache/vuepress/4271e609c8029488489b2174850bca54.json new file mode 100644 index 00000000..1fcb21be --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/4271e609c8029488489b2174850bca54.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/zh/guide/introduction.md?vue&type=template&id=6ecdfb78&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/zh/guide/introduction.md","mtime":1541489249205},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"TBOX是一个用c语言实现的跨平台开发库。\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"针对各个平台,封装了统一的接口,简化了各类开发过程中常用操作,使你在开发过程中,更加关注实际应用的开发,而不是把时间浪费在琐碎的接口兼容性上面,并且充分利用了各个平台独有的一些特性进行优化。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"这个项目的目的,是为了使C开发更加的简单高效。\")]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"目前支持的平台有:\")]),\n _vm._v(\" \"),\n _vm._m(1),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"通过\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.xmake.io/cn\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\"支持各种编译模式:\")\n ]),\n _vm._v(\" \"),\n _vm._m(2),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"如果你想了解更多,请参考:\")]),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.tboox.org/cn\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"项目主页\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/tbox/wiki/%E7%9B%AE%E5%BD%95\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"在线文档\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/tbox\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Github\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://gitee.com/tboox/tbox\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Gitee\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm._m(3),\n _vm._v(\" \"),\n _vm._m(4),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"针对http、file、socket、data等流数据,实现统一接口进行读写,并且支持: 阻塞、非阻塞、异步 三种读写模式。\\n支持中间增加多层filter流进行流过滤,实现边读取,内部边进行解压、编码转换、加密等操作,极大的减少了内存使用。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"主要提供以下模块:\")]),\n _vm._v(\" \"),\n _vm._m(5),\n _vm._v(\" \"),\n _vm._m(6),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"快速高效的协程切换支持(具体性能参考:\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://tboox.org/cn/2016/10/28/benchbox-coroutine/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"基准测试报告\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\")\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"提供跨平台支持,核心切换算法参考boost,并且对其进行重写和优化,目前支持架构:x86, x86_64, arm, arm64, mips32\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供channel协程间数据通信支持,基于生产、消费者模型\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供信号量、协程锁支持\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"socket、stream都模块原生支持协程,并且可在线程和协程间进行无缝切换\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"提供http、file等基于协程的简单服务器实例,只需几百行代码,就可以从socket开始写个高性能io服务器,代码逻辑比异步回调模式更加清晰\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"同时提供stackfull, stackless两种协程模式支持,stackless协程更加的轻量(每个协程只占用几十个bytes),切换更快(会牺牲部分易用性)\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"支持epoll, kqueue, poll, select 和 IOCP\")])\n ]),\n _vm._v(\" \"),\n _vm._m(7),\n _vm._v(\" \"),\n _vm._m(8),\n _vm._v(\" \"),\n _vm._m(9),\n _vm._v(\" \"),\n _vm._m(10),\n _vm._v(\" \"),\n _vm._m(11),\n _vm._v(\" \"),\n _vm._m(12),\n _vm._v(\" \"),\n _vm._m(13),\n _vm._v(\" \"),\n _vm._m(14),\n _vm._v(\" \"),\n _vm._m(15),\n _vm._v(\" \"),\n _vm._m(16),\n _vm._v(\" \"),\n _vm._m(17),\n _vm._v(\" \"),\n _vm._m(18),\n _vm._v(\" \"),\n _vm._m(19),\n _vm._v(\" \"),\n _vm._m(20),\n _vm._v(\" \"),\n _vm._m(21),\n _vm._v(\" \"),\n _vm._m(22),\n _vm._v(\" \"),\n _vm._m(23),\n _vm._v(\" \"),\n _vm._m(24),\n _vm._v(\" \"),\n _vm._m(25),\n _vm._v(\" \"),\n _vm._m(26),\n _vm._v(\" \"),\n _vm._m(27),\n _vm._v(\" \"),\n _vm._m(28),\n _vm._v(\" \"),\n _vm._m(29),\n _vm._v(\" \"),\n _vm._m(30),\n _vm._v(\" \"),\n _vm._m(31),\n _vm._v(\" \"),\n _vm._m(32),\n _vm._v(\" \"),\n _vm._m(33),\n _vm._v(\" \"),\n _vm._m(34),\n _vm._v(\" \"),\n _vm._m(35),\n _vm._v(\" \"),\n _vm._m(36),\n _vm._v(\" \"),\n _vm._m(37),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"一些使用tbox的项目\")]),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/gbox\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"gbox\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/vm86\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"vm86\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.xmake.io/cn\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/itrace\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"itrace\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href:\n \"https://github.com/tboox/tbox/wiki/%E4%BD%BF%E7%94%A8tbox%E7%9A%84%E5%BC%80%E6%BA%90%E5%BA%93\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"更多项目\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm._m(38),\n _vm._v(\" \"),\n _c(\"ul\", [\n _vm._m(39),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"主页:\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.tboox.org/cn\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"TBOOX开源工程\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"社区:\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://www.reddit.com/r/tboox/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Reddit论坛\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"QQ群:343118190\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"微信公众号:tboox-os\")])\n ])\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h1\", { attrs: { id: \"简介\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#简介\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 简介\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Windows\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Macosx\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Linux\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Android\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"iOS\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Release: 正式版编译,禁用调试信息、断言,各种检测机制,启用编译器优化\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Debug: 调试模式,默认启用详细调试信息、断言、内存越界检测、内存泄漏、锁竞争分析等检测机制\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Small: 最小化编译,默认禁用所有扩展模块,启用编译器最小化优化\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Micro: 针对嵌入式平台,仅仅编译tbox微内核,仅提供最基础的跨平台接口,生成库仅64K左右(内置轻量libc接口实现)\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"特性\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#特性\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 特性\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"流库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#流库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 流库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _c(\"code\", [_vm._v(\"stream\")]),\n _vm._v(\n \":通用非阻塞流,用于一般的单独io处理,同时支持协程以实现异步传输。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\"code\", [_vm._v(\"transfer\")]),\n _vm._v(\":流传输器,维护两路流的传输。\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\"code\", [_vm._v(\"static_stream\")]),\n _vm._v(\":针对静态数据buffer优化的静态流,用于轻量快速的数据解析。\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"协程库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#协程库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 协程库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"数据库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#数据库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 数据库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"统一并简化数据库操作接口,适配各种数据源,通过统一的url来自动连接打开支持的数据库,数据的枚举采用迭代器模型。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"目前支持sqlite3以及mysql两种关系型数据库,也可自定义扩展使用其他关系型数据库。\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"xml库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#xml库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" xml库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"针对xml提供DOM和SAX两种解析模式,SAX方式采用外部迭代模式,灵活性和性能更高,并且可以选择指定路径,进行解析。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"解析过程完全基于stream,所以是高度流化的,可以实现边下载、边解压、边转码、边解析一条龙服务,使用较低的内存也可以解析大规模数据。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供xml writer以支持对xml生成\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"内存库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#内存库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 内存库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"参考linux内核内存管理机制的实现,并对其进行各种改造和优化,所实现的TBOX独有的一整套内存池管理架构。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"调试模式下,可以轻松检测并定位内存泄露、内存越界溢出、内存重叠覆盖等常见内存问题,并对整体内存的使用进行了统计和简要分析。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"针对大块数据、小块数据、字符串数据进行了充分的利用,避免了大量外部碎片和内部碎片的产生。分配操作进行了各种优化,96%的情况下,效率都是在O(1)。\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"容器库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#容器库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 容器库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"提供哈希、链表、数组、队列、堆栈、最小最大堆等常用容器。\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"支持各种常用成员类型,在原有的容器期初上,其成员类型还可以完全自定义扩展。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"所有容器都支持迭代器操作。\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"大部分容器都可以支持基于stream的序列化和反序列化操作。\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"算法库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#算法库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 算法库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"提供各种排序算法:冒泡排序、堆排序、快速排序、插入排序。\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供各种查找算法:线性遍历、二分法搜索。\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供各种遍历、删除、统计算法。\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"以迭代器为接口,实现算法和容器的分离,类似stl,但是c实现的,更加轻量。\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"网络库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#网络库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 网络库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"实现http客户端模块\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"实现cookies\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"实现dns解析与缓存\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"实现ssl(支持openssl, polarssl, mbedtls)\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"支持ipv4、ipv6\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"支持通过协程实现异步模式\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"数学运算库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#数学运算库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 数学运算库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"提供各种精度的定点运算支持\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供随机数生成器\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"libc库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#libc库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" libc库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"libc的一个轻量级实现,完全跨平台,并且针对不同架构进行了优化。\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"支持大部分字符串、宽字符串操作。\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"扩展字符串、宽字符串的各种大小写不敏感操作接口\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"扩展\"),\n _c(\"code\", [_vm._v(\"memset_u16\")]),\n _vm._v(\"、\"),\n _c(\"code\", [_vm._v(\"memset_u32\")]),\n _vm._v(\"等接口,并对其进行高度优化,尤其适合图形渲染程序\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"libm库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#libm库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" libm库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"libm部分接口的一个轻量级实现,以及对常用系统接口的封装。(目前只实现了部分,之后有时间会完全实现掉)\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"扩展部分常用接口,增加对sqrt、log2等常用函数的整数版本计算,进行高度优化,不涉及浮点运算,适合嵌入式环境使用。\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"object库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#object库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" object库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"轻量级类apple的CoreFoundation库,支持object、dictionary、array、string、number、date、data等常用对象,并且可以方便扩展自定义对象的序列化。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"支持对xml、json、binary以及apple的plist(xplist/bplist)格式序列化和反序列化。\\n并且实现自有的binary序列化格式, 针对明文进行了简单的加密,在不影响性能的前提下,序列化后的大小比bplist节省30%。\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"平台库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#平台库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 平台库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"提供file、directory、socket、thread、time等常用系统接口\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供atomic、atomic64接口\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供高精度、低精度定时器\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供高性能的线程池操作\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"提供event、mutex、semaphore、spinlock等事件、互斥、信号量、自旋锁操作\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供获取函数堆栈信息的接口,方便调试和错误定位\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供跨平台动态库加载接口(如果系统支持的话)\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"提供io轮询器,针对epoll, poll, select, kqueue进行跨平台封装\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"提供跨平台上下文切换接口,主要用于协程实现,切换效率非常高\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"压缩库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#压缩库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 压缩库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"支持zlib/zlibraw/gzip的压缩与解压(需要第三方zlib库支持)。\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"字符编码库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#字符编码库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 字符编码库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"支持utf8、utf16、gbk、gb2312、uc2、uc4 之间的互相转码,并且支持大小端格式。\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"实用工具库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#实用工具库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 实用工具库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"实现base64/32编解码\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"实现crc32、adler32、md5、sha1等常用hash算法\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"实现日志输出、断言等辅助调试工具\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"实现url编解码\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"实现位操作相关接口,支持各种数据格式的解析,可以对8bits、16bits、32bits、64bits、float、double以及任意bits的字段进行解析操作,并且同时支持大端、小端和本地端模式,并针对部分操作进行了优化,像static_stream、stream都有相关接口对其进行了封装,方便在流上进行快速数据解析。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"实现swap16、swap32、swap64等位交换操作,并针对各个平台进行了优化。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"实现一些高级的位处理接口,例如:位0的快速统计、前导0和前导1的快速位计数、后导01的快速位计数\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"实现单例模块,可以对静态对象、实例对象进行快速的单例封装,实现全局线程安全\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"实现option模块,对命令行参数进行解析,提供快速方便的命令行选项建立和解析操作,对于写终端程序还是很有帮助的\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"正则表达式库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#正则表达式库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 正则表达式库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"支持匹配和替换操作\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"支持全局、多行、大小写不敏感等模式\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"使用pcre, pcre2和posix正则库\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"项目例子\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#项目例子\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 项目例子\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"联系方式\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#联系方式\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 联系方式\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"li\", [\n _vm._v(\"邮箱:\"),\n _c(\"a\", { attrs: { href: \"mailto:waruqi@gmail.com\" } }, [\n _vm._v(\"waruqi@gmail.com\")\n ])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/4294dcfa14d458b342c1d882bfc7efc8.json b/node_modules/vuepress/node_modules/.cache/vuepress/4294dcfa14d458b342c1d882bfc7efc8.json new file mode 100644 index 00000000..fb792560 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/4294dcfa14d458b342c1d882bfc7efc8.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/app.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/app.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import \"core-js/modules/es6.object.assign\";\nimport Vue from 'vue';\nimport Router from 'vue-router';\nimport dataMixin from './dataMixin';\nimport store from './store';\nimport { routes } from '@temp/routes';\nimport { siteData } from '@temp/siteData';\nimport enhanceApp from '@temp/enhanceApp';\nimport themeEnhanceApp from '@temp/themeEnhanceApp'; // generated from user config\n\nimport('@temp/style.styl'); // built-in components\n\nimport Content from './components/Content';\nimport OutboundLink from './components/OutboundLink.vue';\nimport ClientOnly from './components/ClientOnly'; // suggest dev server restart on base change\n\nif (module.hot) {\n var prevBase = siteData.base;\n module.hot.accept('./.temp/siteData', function () {\n if (siteData.base !== prevBase) {\n window.alert(\"[vuepress] Site base has changed. \" + \"Please restart dev server to ensure correct asset paths.\");\n }\n });\n}\n\nVue.config.productionTip = false;\nVue.use(Router); // mixin for exposing $site and $page\n\nVue.mixin(dataMixin(siteData)); // component for rendering markdown content and setting title etc.\n\nVue.component('Content', Content);\nVue.component('OutboundLink', OutboundLink);\nVue.component('Badge', function () {\n return import('./components/Badge.vue');\n}); // component for client-only content\n\nVue.component('ClientOnly', ClientOnly); // global helper for adding base path to absolute urls\n\nVue.prototype.$withBase = function (path) {\n var base = this.$site.base;\n\n if (path.charAt(0) === '/') {\n return base + path.slice(1);\n } else {\n return path;\n }\n};\n\nexport function createApp() {\n var router = new Router({\n base: siteData.base,\n mode: 'history',\n fallback: false,\n routes: routes,\n scrollBehavior: function scrollBehavior(to, from, saved) {\n if (saved) {\n return saved;\n } else if (to.hash) {\n if (store.disableScrollBehavior) {\n return false;\n }\n\n return {\n selector: to.hash\n };\n } else {\n return {\n x: 0,\n y: 0\n };\n }\n }\n }); // redirect /foo to /foo/\n\n router.beforeEach(function (to, from, next) {\n if (!/(\\/|\\.html)$/.test(to.path)) {\n next(Object.assign({}, to, {\n path: to.path + '/'\n }));\n } else {\n next();\n }\n });\n var options = {};\n themeEnhanceApp({\n Vue: Vue,\n options: options,\n router: router,\n siteData: siteData\n });\n enhanceApp({\n Vue: Vue,\n options: options,\n router: router,\n siteData: siteData\n });\n var app = new Vue(Object.assign(options, {\n router: router,\n render: function render(h) {\n return h('div', {\n attrs: {\n id: 'app'\n }\n }, [h('router-view', {\n ref: 'layout'\n })]);\n }\n }));\n return {\n app: app,\n router: router\n };\n}",{"version":3,"sources":["node_modules/vuepress/lib/app/app.js"],"names":["Vue","Router","dataMixin","store","routes","siteData","enhanceApp","themeEnhanceApp","Content","OutboundLink","ClientOnly","module","hot","prevBase","base","accept","window","alert","config","productionTip","use","mixin","component","prototype","$withBase","path","$site","charAt","slice","createApp","router","mode","fallback","scrollBehavior","to","from","saved","hash","disableScrollBehavior","selector","x","y","beforeEach","next","test","Object","assign","options","app","render","h","attrs","id","ref"],"mappings":";AAAA,OAAOA,GAAP,MAAgB,KAAhB;AACA,OAAOC,MAAP,MAAmB,YAAnB;AACA,OAAOC,SAAP,MAAsB,aAAtB;AACA,OAAOC,KAAP,MAAkB,SAAlB;AACA,SAASC,MAAT,QAAuB,cAAvB;AACA,SAASC,QAAT,QAAyB,gBAAzB;AACA,OAAOC,UAAP,MAAuB,kBAAvB;AACA,OAAOC,eAAP,MAA4B,uBAA5B,C,CAEA;;AACA,OAAO,kBAAP,E,CAEA;;AACA,OAAOC,OAAP,MAAoB,sBAApB;AACA,OAAOC,YAAP,MAAyB,+BAAzB;AACA,OAAOC,UAAP,MAAuB,yBAAvB,C,CAEA;;AACA,IAAIC,OAAOC,GAAX,EAAgB;AACd,MAAMC,WAAWR,SAASS,IAA1B;AACAH,SAAOC,GAAP,CAAWG,MAAX,CAAkB,kBAAlB,EAAsC,YAAM;AAC1C,QAAIV,SAASS,IAAT,KAAkBD,QAAtB,EAAgC;AAC9BG,aAAOC,KAAP,CACE,iGADF;AAID;AACF,GAPD;AAQD;;AAEDjB,IAAIkB,MAAJ,CAAWC,aAAX,GAA2B,KAA3B;AACAnB,IAAIoB,GAAJ,CAAQnB,MAAR,E,CACA;;AACAD,IAAIqB,KAAJ,CAAUnB,UAAUG,QAAV,CAAV,E,CACA;;AACAL,IAAIsB,SAAJ,CAAc,SAAd,EAAyBd,OAAzB;AACAR,IAAIsB,SAAJ,CAAc,cAAd,EAA8Bb,YAA9B;AACAT,IAAIsB,SAAJ,CAAc,OAAd,EAAuB;AAAA,SAAM,OAAO,wBAAP,CAAN;AAAA,CAAvB,E,CACA;;AACAtB,IAAIsB,SAAJ,CAAc,YAAd,EAA4BZ,UAA5B,E,CAEA;;AACAV,IAAIuB,SAAJ,CAAcC,SAAd,GAA0B,UAAUC,IAAV,EAAgB;AACxC,MAAMX,OAAO,KAAKY,KAAL,CAAWZ,IAAxB;;AACA,MAAIW,KAAKE,MAAL,CAAY,CAAZ,MAAmB,GAAvB,EAA4B;AAC1B,WAAOb,OAAOW,KAAKG,KAAL,CAAW,CAAX,CAAd;AACD,GAFD,MAEO;AACL,WAAOH,IAAP;AACD;AACF,CAPD;;AASA,OAAO,SAASI,SAAT,GAAsB;AAC3B,MAAMC,SAAS,IAAI7B,MAAJ,CAAW;AACxBa,UAAMT,SAASS,IADS;AAExBiB,UAAM,SAFkB;AAGxBC,cAAU,KAHc;AAIxB5B,kBAJwB;AAKxB6B,oBAAgB,wBAACC,EAAD,EAAKC,IAAL,EAAWC,KAAX,EAAqB;AACnC,UAAIA,KAAJ,EAAW;AACT,eAAOA,KAAP;AACD,OAFD,MAEO,IAAIF,GAAGG,IAAP,EAAa;AAClB,YAAIlC,MAAMmC,qBAAV,EAAiC;AAC/B,iBAAO,KAAP;AACD;;AACD,eAAO;AACLC,oBAAUL,GAAGG;AADR,SAAP;AAGD,OAPM,MAOA;AACL,eAAO;AAAEG,aAAG,CAAL;AAAQC,aAAG;AAAX,SAAP;AACD;AACF;AAlBuB,GAAX,CAAf,CAD2B,CAsB3B;;AACAX,SAAOY,UAAP,CAAkB,UAACR,EAAD,EAAKC,IAAL,EAAWQ,IAAX,EAAoB;AACpC,QAAI,CAAC,eAAeC,IAAf,CAAoBV,GAAGT,IAAvB,CAAL,EAAmC;AACjCkB,WAAKE,OAAOC,MAAP,CAAc,EAAd,EAAkBZ,EAAlB,EAAsB;AACzBT,cAAMS,GAAGT,IAAH,GAAU;AADS,OAAtB,CAAL;AAGD,KAJD,MAIO;AACLkB;AACD;AACF,GARD;AAUA,MAAMI,UAAU,EAAhB;AAEAxC,kBAAgB;AAAEP,YAAF;AAAO+C,oBAAP;AAAgBjB,kBAAhB;AAAwBzB;AAAxB,GAAhB;AACAC,aAAW;AAAEN,YAAF;AAAO+C,oBAAP;AAAgBjB,kBAAhB;AAAwBzB;AAAxB,GAAX;AAEA,MAAM2C,MAAM,IAAIhD,GAAJ,CACV6C,OAAOC,MAAP,CAAcC,OAAd,EAAuB;AACrBjB,kBADqB;AAErBmB,UAFqB,kBAEbC,CAFa,EAEV;AACT,aAAOA,EAAE,KAAF,EAAS;AAAEC,eAAO;AAAEC,cAAI;AAAN;AAAT,OAAT,EAAkC,CACvCF,EAAE,aAAF,EAAiB;AAAEG,aAAK;AAAP,OAAjB,CADuC,CAAlC,CAAP;AAGD;AANoB,GAAvB,CADU,CAAZ;AAWA,SAAO;AAAEL,YAAF;AAAOlB;AAAP,GAAP;AACD","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["import Vue from 'vue'\nimport Router from 'vue-router'\nimport dataMixin from './dataMixin'\nimport store from './store'\nimport { routes } from '@temp/routes'\nimport { siteData } from '@temp/siteData'\nimport enhanceApp from '@temp/enhanceApp'\nimport themeEnhanceApp from '@temp/themeEnhanceApp'\n\n// generated from user config\nimport('@temp/style.styl')\n\n// built-in components\nimport Content from './components/Content'\nimport OutboundLink from './components/OutboundLink.vue'\nimport ClientOnly from './components/ClientOnly'\n\n// suggest dev server restart on base change\nif (module.hot) {\n const prevBase = siteData.base\n module.hot.accept('./.temp/siteData', () => {\n if (siteData.base !== prevBase) {\n window.alert(\n `[vuepress] Site base has changed. ` +\n `Please restart dev server to ensure correct asset paths.`\n )\n }\n })\n}\n\nVue.config.productionTip = false\nVue.use(Router)\n// mixin for exposing $site and $page\nVue.mixin(dataMixin(siteData))\n// component for rendering markdown content and setting title etc.\nVue.component('Content', Content)\nVue.component('OutboundLink', OutboundLink)\nVue.component('Badge', () => import('./components/Badge.vue'))\n// component for client-only content\nVue.component('ClientOnly', ClientOnly)\n\n// global helper for adding base path to absolute urls\nVue.prototype.$withBase = function (path) {\n const base = this.$site.base\n if (path.charAt(0) === '/') {\n return base + path.slice(1)\n } else {\n return path\n }\n}\n\nexport function createApp () {\n const router = new Router({\n base: siteData.base,\n mode: 'history',\n fallback: false,\n routes,\n scrollBehavior: (to, from, saved) => {\n if (saved) {\n return saved\n } else if (to.hash) {\n if (store.disableScrollBehavior) {\n return false\n }\n return {\n selector: to.hash\n }\n } else {\n return { x: 0, y: 0 }\n }\n }\n })\n\n // redirect /foo to /foo/\n router.beforeEach((to, from, next) => {\n if (!/(\\/|\\.html)$/.test(to.path)) {\n next(Object.assign({}, to, {\n path: to.path + '/'\n }))\n } else {\n next()\n }\n })\n\n const options = {}\n\n themeEnhanceApp({ Vue, options, router, siteData })\n enhanceApp({ Vue, options, router, siteData })\n\n const app = new Vue(\n Object.assign(options, {\n router,\n render (h) {\n return h('div', { attrs: { id: 'app' }}, [\n h('router-view', { ref: 'layout' })\n ])\n }\n })\n )\n\n return { app, router }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/435d9427dff07af409e6936b3f0c2fb9.json b/node_modules/vuepress/node_modules/.cache/vuepress/435d9427dff07af409e6936b3f0c2fb9.json new file mode 100644 index 00000000..b4f9fb00 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/435d9427dff07af409e6936b3f0c2fb9.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/util.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/util.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import _toConsumableArray from \"/Users/ruki/projects/personal/tbox-docs/node_modules/@babel/runtime/helpers/builtin/es6/toConsumableArray\";\nexport function injectMixins(options, mixins) {\n var _options$mixins;\n\n if (!options.mixins) {\n options.mixins = [];\n }\n\n (_options$mixins = options.mixins).push.apply(_options$mixins, _toConsumableArray(mixins));\n}\nexport function findPageForPath(pages, path) {\n for (var i = 0; i < pages.length; i++) {\n var page = pages[i];\n\n if (page.path === path) {\n return page;\n }\n }\n\n return {\n path: '',\n frontmatter: {}\n };\n}",{"version":3,"sources":["node_modules/vuepress/lib/app/util.js"],"names":["injectMixins","options","mixins","push","findPageForPath","pages","path","i","length","page","frontmatter"],"mappings":";AAAA,OAAO,SAASA,YAAT,CAAuBC,OAAvB,EAAgCC,MAAhC,EAAwC;AAAA;;AAC7C,MAAI,CAACD,QAAQC,MAAb,EAAqB;AACnBD,YAAQC,MAAR,GAAiB,EAAjB;AACD;;AACD,6BAAQA,MAAR,EAAeC,IAAf,2CAAuBD,MAAvB;AACD;AAED,OAAO,SAASE,eAAT,CAA0BC,KAA1B,EAAiCC,IAAjC,EAAuC;AAC5C,OAAK,IAAIC,IAAI,CAAb,EAAgBA,IAAIF,MAAMG,MAA1B,EAAkCD,GAAlC,EAAuC;AACrC,QAAME,OAAOJ,MAAME,CAAN,CAAb;;AACA,QAAIE,KAAKH,IAAL,KAAcA,IAAlB,EAAwB;AACtB,aAAOG,IAAP;AACD;AACF;;AACD,SAAO;AACLH,UAAM,EADD;AAELI,iBAAa;AAFR,GAAP;AAID","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["export function injectMixins (options, mixins) {\n if (!options.mixins) {\n options.mixins = []\n }\n options.mixins.push(...mixins)\n}\n\nexport function findPageForPath (pages, path) {\n for (let i = 0; i < pages.length; i++) {\n const page = pages[i]\n if (page.path === path) {\n return page\n }\n }\n return {\n path: '',\n frontmatter: {}\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/4368263c53b6d42167a01a669cd7d47d.json b/node_modules/vuepress/node_modules/.cache/vuepress/4368263c53b6d42167a01a669cd7d47d.json new file mode 100644 index 00000000..48813231 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/4368263c53b6d42167a01a669cd7d47d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./SidebarButton.vue?vue&type=template&id=67f2a5b2&\"\nvar script = {}\nimport style0 from \"./SidebarButton.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('67f2a5b2', component.options)\n } else {\n api.reload('67f2a5b2', component.options)\n }\n module.hot.accept(\"./SidebarButton.vue?vue&type=template&id=67f2a5b2&\", function () {\n api.rerender('67f2a5b2', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/default-theme/SidebarButton.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/43a3bf833aa2c6aeb535b79187de9813.json b/node_modules/vuepress/node_modules/.cache/vuepress/43a3bf833aa2c6aeb535b79187de9813.json new file mode 100644 index 00000000..d9ab3347 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/43a3bf833aa2c6aeb535b79187de9813.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/README.md?vue&type=template&id=83e02194&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/README.md","mtime":1541513043653},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm._m(0)\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _c(\"div\", { staticClass: \"language-c extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-c\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token macro property\" } }, [\n _vm._v(\"#\"),\n _c(\"span\", { attrs: { class: \"token directive keyword\" } }, [\n _vm._v(\"include\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"tbox/tbox.h\"')\n ])\n ]),\n _vm._v(\"\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"int\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"main\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"(\")\n ]),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"int\")]),\n _vm._v(\" argc\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\",\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"char\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _vm._v(\" argv\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\")\")\n ]),\n _vm._v(\"\\n\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"{\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// init tbox\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"(\")\n ]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"!\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_init\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"(\")\n ]),\n _vm._v(\"tb_null\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\",\")\n ]),\n _vm._v(\" tb_null\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\")\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\")\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [\n _vm._v(\"return\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\";\")\n ]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// init vector\")\n ]),\n _vm._v(\"\\n tb_vector_ref_t vector \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_init\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"(\")\n ]),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\",\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_element_cstr\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"(\")\n ]),\n _vm._v(\"tb_true\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\")\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\")\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\";\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"(\")\n ]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\")\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"{\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// insert item\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_insert_tail\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"(\")\n ]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\",\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"hello\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\")\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\";\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_insert_tail\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"(\")\n ]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\",\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"tbox\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\")\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\";\")\n ]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// dump all items\")\n ]),\n _vm._v(\"\\n tb_for_all \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"(\")\n ]),\n _vm._v(\"tb_char_t \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [\n _vm._v(\"const\")\n ]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\",\")\n ]),\n _vm._v(\" cstr\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\",\")\n ]),\n _vm._v(\" vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\")\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"{\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// trace\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_trace_i\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"(\")\n ]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"%s\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\",\")\n ]),\n _vm._v(\" cstr\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\")\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\";\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"}\")\n ]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// exit vector\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_exit\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"(\")\n ]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\")\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\";\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"}\")\n ]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// exit tbox\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_exit\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"(\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\")\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\";\")\n ]),\n _vm._v(\"\\n\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [\n _vm._v(\"}\")\n ]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/4477c78c37e8cc1d6927e1cf022d0300.json b/node_modules/vuepress/node_modules/.cache/vuepress/4477c78c37e8cc1d6927e1cf022d0300.json new file mode 100644 index 00000000..b6b131f5 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/4477c78c37e8cc1d6927e1cf022d0300.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/store.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/store.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["// It is not yet time to use Vuex to manage the global state\n// singleton object as a global store.\nvar state = {\n disableScrollBehavior: false\n};\nexport default state;",{"version":3,"sources":["node_modules/vuepress/lib/app/store.js"],"names":["state","disableScrollBehavior"],"mappings":"AAAA;AACA;AACA,IAAMA,QAAQ;AACZC,yBAAuB;AADX,CAAd;AAIA,eAAeD,KAAf","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["// It is not yet time to use Vuex to manage the global state\n// singleton object as a global store.\nconst state = {\n disableScrollBehavior: false\n}\n\nexport default state\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/4570b10285e4f3836045e6efbb4e1ea5.json b/node_modules/vuepress/node_modules/.cache/vuepress/4570b10285e4f3836045e6efbb4e1ea5.json new file mode 100644 index 00000000..7de3d9fa --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/4570b10285e4f3836045e6efbb4e1ea5.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/manual/index.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/manual/index.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./index.md?vue&type=template&id=a7d8d386&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"index.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/45c3511df9277b251b3a571c64c73e8c.json b/node_modules/vuepress/node_modules/.cache/vuepress/45c3511df9277b251b3a571c64c73e8c.json new file mode 100644 index 00000000..d606b94b --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/45c3511df9277b251b3a571c64c73e8c.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/api/introduction.md?vue&type=template&id=c58bf996&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/api/introduction.md","mtime":1541569456015},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_c('h1',{attrs:{\"id\":\"title1\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#title1\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Title1\")]),_vm._v(\" \"),_c('p'),_c('div',{staticClass:\"table-of-contents\"},[_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"#title2\"}},[_vm._v(\"Title2\")]),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"#title3\"}},[_vm._v(\"Title3\")])]),_c('li',[_c('a',{attrs:{\"href\":\"#title3\"}},[_vm._v(\"Title3\")])])])]),_c('li',[_c('a',{attrs:{\"href\":\"#title2\"}},[_vm._v(\"Title2\")]),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"#title3\"}},[_vm._v(\"Title3\")])])])])])]),_c('p'),_vm._v(\" \"),_c('h2',{attrs:{\"id\":\"title2\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#title2\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Title2\")]),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"title3\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#title3\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Title3\")]),_vm._v(\" \"),_c('h4',{attrs:{\"id\":\"title4\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#title4\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Title4\")]),_vm._v(\" \"),_c('h5',{attrs:{\"id\":\"title5\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#title5\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Title5\")]),_vm._v(\" \"),_c('p',[_vm._v(\"...\")]),_vm._v(\" \"),_c('h5',{attrs:{\"id\":\"title5-2\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#title5-2\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Title5\")]),_vm._v(\" \"),_c('p',[_vm._v(\"...\")]),_vm._v(\" \"),_c('h4',{attrs:{\"id\":\"title4-2\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#title4-2\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Title4\")]),_vm._v(\" \"),_c('p',[_vm._v(\"...\")]),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"title3-2\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#title3-2\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Title3\")]),_vm._v(\" \"),_c('p',[_vm._v(\"...\")]),_vm._v(\" \"),_c('h2',{attrs:{\"id\":\"title2-2\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#title2-2\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Title2\")]),_vm._v(\" \"),_c('p',[_vm._v(\"...\")]),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"title3-3\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#title3-3\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Title3\")]),_vm._v(\" \"),_c('p',[_vm._v(\"...\")])])}]\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/45d440078e1b51b6f0d86bdd12a82a21.json b/node_modules/vuepress/node_modules/.cache/vuepress/45d440078e1b51b6f0d86bdd12a82a21.json new file mode 100644 index 00000000..9b57611e --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/45d440078e1b51b6f0d86bdd12a82a21.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/README.md?vue&type=template&id=53d784ef&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/README.md","mtime":1541488927605},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/45d46d1416406af918aec9d4309bf74c.json b/node_modules/vuepress/node_modules/.cache/vuepress/45d46d1416406af918aec9d4309bf74c.json new file mode 100644 index 00000000..9f19b86d --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/45d46d1416406af918aec9d4309bf74c.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/es6.array.some\";\nimport { isActive, hashRE, groupHeaders } from './util';\nexport default {\n functional: true,\n props: ['item'],\n render: function render(h, _ref) {\n var _ref$parent = _ref.parent,\n $page = _ref$parent.$page,\n $site = _ref$parent.$site,\n $route = _ref$parent.$route,\n item = _ref.props.item;\n // use custom active class matching logic\n // due to edge case of paths ending with / + hash\n var selfActive = isActive($route, item.path); // for sidebar: auto pages, a hash link should be active if one of its child\n // matches\n\n var active = item.type === 'auto' ? selfActive || item.children.some(function (c) {\n return isActive($route, item.basePath + '#' + c.slug);\n }) : selfActive;\n var link = renderLink(h, item.path, item.title || item.path, active);\n var configDepth = $page.frontmatter.sidebarDepth != null ? $page.frontmatter.sidebarDepth : $site.themeConfig.sidebarDepth;\n var maxDepth = configDepth == null ? 1 : configDepth;\n var displayAllHeaders = !!$site.themeConfig.displayAllHeaders;\n\n if (item.type === 'auto') {\n return [link, renderChildren(h, item.children, item.basePath, $route, maxDepth)];\n } else if ((active || displayAllHeaders) && item.headers && !hashRE.test(item.path)) {\n var children = groupHeaders(item.headers);\n return [link, renderChildren(h, children, item.path, $route, maxDepth)];\n } else {\n return link;\n }\n }\n};\n\nfunction renderLink(h, to, text, active) {\n return h('router-link', {\n props: {\n to: to,\n activeClass: '',\n exactActiveClass: ''\n },\n class: {\n active: active,\n 'sidebar-link': true\n }\n }, text);\n}\n\nfunction renderChildren(h, children, path, route, maxDepth) {\n var depth = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1;\n if (!children || depth > maxDepth) return null;\n return h('ul', {\n class: 'sidebar-sub-headers'\n }, children.map(function (c) {\n var active = isActive(route, path + '#' + c.slug);\n return h('li', {\n class: 'sidebar-sub-header'\n }, [renderLink(h, path + '#' + c.slug, c.title, active), renderChildren(h, c.children, path, route, maxDepth, depth + 1)]);\n }));\n}",{"version":3,"sources":["SidebarLink.vue"],"names":[],"mappings":";;AACA,SAAA,QAAA,EAAA,MAAA,EAAA,YAAA,QAAA,QAAA;AAEA,eAAA;AACA,cAAA,IADA;AAGA,SAAA,CAAA,MAAA,CAHA;AAKA,QALA,kBAKA,CALA,QAKA;AAAA,2BAAA,MAAA;AAAA,QAAA,KAAA,eAAA,KAAA;AAAA,QAAA,KAAA,eAAA,KAAA;AAAA,QAAA,MAAA,eAAA,MAAA;AAAA,QAAA,IAAA,QAAA,KAAA,CAAA,IAAA;AACA;AACA;AACA,QAAA,aAAA,SAAA,MAAA,EAAA,KAAA,IAAA,CAAA,CAHA,CAIA;AACA;;AACA,QAAA,SAAA,KAAA,IAAA,KAAA,MAAA,GACA,cAAA,KAAA,QAAA,CAAA,IAAA,CAAA;AAAA,aAAA,SAAA,MAAA,EAAA,KAAA,QAAA,GAAA,GAAA,GAAA,EAAA,IAAA,CAAA;AAAA,KAAA,CADA,GAEA,UAFA;AAGA,QAAA,OAAA,WAAA,CAAA,EAAA,KAAA,IAAA,EAAA,KAAA,KAAA,IAAA,KAAA,IAAA,EAAA,MAAA,CAAA;AACA,QAAA,cAAA,MAAA,WAAA,CAAA,YAAA,IAAA,IAAA,GACA,MAAA,WAAA,CAAA,YADA,GAEA,MAAA,WAAA,CAAA,YAFA;AAGA,QAAA,WAAA,eAAA,IAAA,GAAA,CAAA,GAAA,WAAA;AACA,QAAA,oBAAA,CAAA,CAAA,MAAA,WAAA,CAAA,iBAAA;;AACA,QAAA,KAAA,IAAA,KAAA,MAAA,EAAA;AACA,aAAA,CAAA,IAAA,EAAA,eAAA,CAAA,EAAA,KAAA,QAAA,EAAA,KAAA,QAAA,EAAA,MAAA,EAAA,QAAA,CAAA,CAAA;AACA,KAFA,MAEA,IAAA,CAAA,UAAA,iBAAA,KAAA,KAAA,OAAA,IAAA,CAAA,OAAA,IAAA,CAAA,KAAA,IAAA,CAAA,EAAA;AACA,UAAA,WAAA,aAAA,KAAA,OAAA,CAAA;AACA,aAAA,CAAA,IAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,KAAA,IAAA,EAAA,MAAA,EAAA,QAAA,CAAA,CAAA;AACA,KAHA,MAGA;AACA,aAAA,IAAA;AACA;AACA;AA5BA,CAAA;;AA+BA,SAAA,UAAA,CAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA;AACA,SAAA,EAAA,aAAA,EAAA;AACA,WAAA;AACA,YADA;AAEA,mBAAA,EAFA;AAGA,wBAAA;AAHA,KADA;AAMA,WAAA;AACA,oBADA;AAEA,sBAAA;AAFA;AANA,GAAA,EAUA,IAVA,CAAA;AAWA;;AAEA,SAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,QAAA,EAAA;AAAA,MAAA,KAAA,uEAAA,CAAA;AACA,MAAA,CAAA,QAAA,IAAA,QAAA,QAAA,EAAA,OAAA,IAAA;AACA,SAAA,EAAA,IAAA,EAAA;AAAA,WAAA;AAAA,GAAA,EAAA,SAAA,GAAA,CAAA,aAAA;AACA,QAAA,SAAA,SAAA,KAAA,EAAA,OAAA,GAAA,GAAA,EAAA,IAAA,CAAA;AACA,WAAA,EAAA,IAAA,EAAA;AAAA,aAAA;AAAA,KAAA,EAAA,CACA,WAAA,CAAA,EAAA,OAAA,GAAA,GAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,MAAA,CADA,EAEA,eAAA,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,QAAA,EAAA,QAAA,CAAA,CAFA,CAAA,CAAA;AAIA,GANA,CAAA,CAAA;AAOA","sourcesContent":["<script>\nimport { isActive, hashRE, groupHeaders } from './util'\n\nexport default {\n functional: true,\n\n props: ['item'],\n\n render (h, { parent: { $page, $site, $route }, props: { item }}) {\n // use custom active class matching logic\n // due to edge case of paths ending with / + hash\n const selfActive = isActive($route, item.path)\n // for sidebar: auto pages, a hash link should be active if one of its child\n // matches\n const active = item.type === 'auto'\n ? selfActive || item.children.some(c => isActive($route, item.basePath + '#' + c.slug))\n : selfActive\n const link = renderLink(h, item.path, item.title || item.path, active)\n const configDepth = $page.frontmatter.sidebarDepth != null\n ? $page.frontmatter.sidebarDepth\n : $site.themeConfig.sidebarDepth\n const maxDepth = configDepth == null ? 1 : configDepth\n const displayAllHeaders = !!$site.themeConfig.displayAllHeaders\n if (item.type === 'auto') {\n return [link, renderChildren(h, item.children, item.basePath, $route, maxDepth)]\n } else if ((active || displayAllHeaders) && item.headers && !hashRE.test(item.path)) {\n const children = groupHeaders(item.headers)\n return [link, renderChildren(h, children, item.path, $route, maxDepth)]\n } else {\n return link\n }\n }\n}\n\nfunction renderLink (h, to, text, active) {\n return h('router-link', {\n props: {\n to,\n activeClass: '',\n exactActiveClass: ''\n },\n class: {\n active,\n 'sidebar-link': true\n }\n }, text)\n}\n\nfunction renderChildren (h, children, path, route, maxDepth, depth = 1) {\n if (!children || depth > maxDepth) return null\n return h('ul', { class: 'sidebar-sub-headers' }, children.map(c => {\n const active = isActive(route, path + '#' + c.slug)\n return h('li', { class: 'sidebar-sub-header' }, [\n renderLink(h, path + '#' + c.slug, c.title, active),\n renderChildren(h, c.children, path, route, maxDepth, depth + 1)\n ])\n }))\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.sidebar .sidebar-sub-headers\n padding-left 1rem\n font-size 0.95em\n\na.sidebar-link\n font-weight 400\n display inline-block\n color $textColor\n border-left 0.25rem solid transparent\n padding 0.35rem 1rem 0.35rem 1.25rem\n line-height 1.4\n width: 100%\n box-sizing: border-box\n &:hover\n color $accentColor\n &.active\n font-weight 600\n color $accentColor\n border-left-color $accentColor\n .sidebar-group &\n padding-left 2rem\n .sidebar-sub-headers &\n padding-top 0.25rem\n padding-bottom 0.25rem\n border-left none\n &.active\n font-weight 500\n</style>\n"],"sourceRoot":"node_modules/vuepress/lib/default-theme"}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/45d8abbf7e28177117605d58eff1e354.json b/node_modules/vuepress/node_modules/.cache/vuepress/45d8abbf7e28177117605d58eff1e354.json new file mode 100644 index 00000000..ba0dca8a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/45d8abbf7e28177117605d58eff1e354.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/introduction.md?vue&type=template&id=60806558&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/introduction.md","mtime":1541489249205},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"简介\"><a class=\"header-anchor\" href=\"#简介\" aria-hidden=\"true\">#</a> 简介</h1>\n<p>TBOX是一个用c语言实现的跨平台开发库。</p>\n<p>针对各个平台,封装了统一的接口,简化了各类开发过程中常用操作,使你在开发过程中,更加关注实际应用的开发,而不是把时间浪费在琐碎的接口兼容性上面,并且充分利用了各个平台独有的一些特性进行优化。</p>\n<p>这个项目的目的,是为了使C开发更加的简单高效。</p>\n<p>目前支持的平台有:</p>\n<ul>\n<li>Windows</li>\n<li>Macosx</li>\n<li>Linux</li>\n<li>Android</li>\n<li>iOS</li>\n</ul>\n<p>通过<a href=\"http://www.xmake.io/cn\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a>支持各种编译模式:</p>\n<ul>\n<li>Release: 正式版编译,禁用调试信息、断言,各种检测机制,启用编译器优化</li>\n<li>Debug: 调试模式,默认启用详细调试信息、断言、内存越界检测、内存泄漏、锁竞争分析等检测机制</li>\n<li>Small: 最小化编译,默认禁用所有扩展模块,启用编译器最小化优化</li>\n<li>Micro: 针对嵌入式平台,仅仅编译tbox微内核,仅提供最基础的跨平台接口,生成库仅64K左右(内置轻量libc接口实现)</li>\n</ul>\n<p>如果你想了解更多,请参考:</p>\n<ul>\n<li><a href=\"http://www.tboox.org/cn\" target=\"_blank\" rel=\"noopener noreferrer\">项目主页<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/%E7%9B%AE%E5%BD%95\" target=\"_blank\" rel=\"noopener noreferrer\">在线文档<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Github<OutboundLink/></a></li>\n<li><a href=\"https://gitee.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Gitee<OutboundLink/></a></li>\n</ul>\n<h2 id=\"特性\"><a class=\"header-anchor\" href=\"#特性\" aria-hidden=\"true\">#</a> 特性</h2>\n<h4 id=\"流库\"><a class=\"header-anchor\" href=\"#流库\" aria-hidden=\"true\">#</a> 流库</h4>\n<p>针对http、file、socket、data等流数据,实现统一接口进行读写,并且支持: 阻塞、非阻塞、异步 三种读写模式。\n支持中间增加多层filter流进行流过滤,实现边读取,内部边进行解压、编码转换、加密等操作,极大的减少了内存使用。</p>\n<p>主要提供以下模块:</p>\n<ul>\n<li><code>stream</code>:通用非阻塞流,用于一般的单独io处理,同时支持协程以实现异步传输。</li>\n<li><code>transfer</code>:流传输器,维护两路流的传输。</li>\n<li><code>static_stream</code>:针对静态数据buffer优化的静态流,用于轻量快速的数据解析。</li>\n</ul>\n<h4 id=\"协程库\"><a class=\"header-anchor\" href=\"#协程库\" aria-hidden=\"true\">#</a> 协程库</h4>\n<ul>\n<li>快速高效的协程切换支持(具体性能参考:<a href=\"http://tboox.org/cn/2016/10/28/benchbox-coroutine/\" target=\"_blank\" rel=\"noopener noreferrer\">基准测试报告<OutboundLink/></a>)</li>\n<li>提供跨平台支持,核心切换算法参考boost,并且对其进行重写和优化,目前支持架构:x86, x86_64, arm, arm64, mips32</li>\n<li>提供channel协程间数据通信支持,基于生产、消费者模型</li>\n<li>提供信号量、协程锁支持</li>\n<li>socket、stream都模块原生支持协程,并且可在线程和协程间进行无缝切换</li>\n<li>提供http、file等基于协程的简单服务器实例,只需几百行代码,就可以从socket开始写个高性能io服务器,代码逻辑比异步回调模式更加清晰</li>\n<li>同时提供stackfull, stackless两种协程模式支持,stackless协程更加的轻量(每个协程只占用几十个bytes),切换更快(会牺牲部分易用性)</li>\n<li>支持epoll, kqueue, poll, select 和 IOCP</li>\n</ul>\n<h4 id=\"数据库\"><a class=\"header-anchor\" href=\"#数据库\" aria-hidden=\"true\">#</a> 数据库</h4>\n<ul>\n<li>统一并简化数据库操作接口,适配各种数据源,通过统一的url来自动连接打开支持的数据库,数据的枚举采用迭代器模型。</li>\n<li>目前支持sqlite3以及mysql两种关系型数据库,也可自定义扩展使用其他关系型数据库。</li>\n</ul>\n<h4 id=\"xml库\"><a class=\"header-anchor\" href=\"#xml库\" aria-hidden=\"true\">#</a> xml库</h4>\n<ul>\n<li>针对xml提供DOM和SAX两种解析模式,SAX方式采用外部迭代模式,灵活性和性能更高,并且可以选择指定路径,进行解析。</li>\n<li>解析过程完全基于stream,所以是高度流化的,可以实现边下载、边解压、边转码、边解析一条龙服务,使用较低的内存也可以解析大规模数据。</li>\n<li>提供xml writer以支持对xml生成</li>\n</ul>\n<h4 id=\"内存库\"><a class=\"header-anchor\" href=\"#内存库\" aria-hidden=\"true\">#</a> 内存库</h4>\n<ul>\n<li>参考linux内核内存管理机制的实现,并对其进行各种改造和优化,所实现的TBOX独有的一整套内存池管理架构。</li>\n<li>调试模式下,可以轻松检测并定位内存泄露、内存越界溢出、内存重叠覆盖等常见内存问题,并对整体内存的使用进行了统计和简要分析。</li>\n<li>针对大块数据、小块数据、字符串数据进行了充分的利用,避免了大量外部碎片和内部碎片的产生。分配操作进行了各种优化,96%的情况下,效率都是在O(1)。</li>\n</ul>\n<h4 id=\"容器库\"><a class=\"header-anchor\" href=\"#容器库\" aria-hidden=\"true\">#</a> 容器库</h4>\n<ul>\n<li>提供哈希、链表、数组、队列、堆栈、最小最大堆等常用容器。</li>\n<li>支持各种常用成员类型,在原有的容器期初上,其成员类型还可以完全自定义扩展。</li>\n<li>所有容器都支持迭代器操作。</li>\n<li>大部分容器都可以支持基于stream的序列化和反序列化操作。</li>\n</ul>\n<h4 id=\"算法库\"><a class=\"header-anchor\" href=\"#算法库\" aria-hidden=\"true\">#</a> 算法库</h4>\n<ul>\n<li>提供各种排序算法:冒泡排序、堆排序、快速排序、插入排序。</li>\n<li>提供各种查找算法:线性遍历、二分法搜索。</li>\n<li>提供各种遍历、删除、统计算法。</li>\n<li>以迭代器为接口,实现算法和容器的分离,类似stl,但是c实现的,更加轻量。</li>\n</ul>\n<h4 id=\"网络库\"><a class=\"header-anchor\" href=\"#网络库\" aria-hidden=\"true\">#</a> 网络库</h4>\n<ul>\n<li>实现http客户端模块</li>\n<li>实现cookies</li>\n<li>实现dns解析与缓存</li>\n<li>实现ssl(支持openssl, polarssl, mbedtls)</li>\n<li>支持ipv4、ipv6</li>\n<li>支持通过协程实现异步模式</li>\n</ul>\n<h4 id=\"数学运算库\"><a class=\"header-anchor\" href=\"#数学运算库\" aria-hidden=\"true\">#</a> 数学运算库</h4>\n<ul>\n<li>提供各种精度的定点运算支持</li>\n<li>提供随机数生成器</li>\n</ul>\n<h4 id=\"libc库\"><a class=\"header-anchor\" href=\"#libc库\" aria-hidden=\"true\">#</a> libc库</h4>\n<ul>\n<li>libc的一个轻量级实现,完全跨平台,并且针对不同架构进行了优化。</li>\n<li>支持大部分字符串、宽字符串操作。</li>\n<li>扩展字符串、宽字符串的各种大小写不敏感操作接口</li>\n<li>扩展<code>memset_u16</code>、<code>memset_u32</code>等接口,并对其进行高度优化,尤其适合图形渲染程序</li>\n</ul>\n<h4 id=\"libm库\"><a class=\"header-anchor\" href=\"#libm库\" aria-hidden=\"true\">#</a> libm库</h4>\n<ul>\n<li>libm部分接口的一个轻量级实现,以及对常用系统接口的封装。(目前只实现了部分,之后有时间会完全实现掉)</li>\n<li>扩展部分常用接口,增加对sqrt、log2等常用函数的整数版本计算,进行高度优化,不涉及浮点运算,适合嵌入式环境使用。</li>\n</ul>\n<h4 id=\"object库\"><a class=\"header-anchor\" href=\"#object库\" aria-hidden=\"true\">#</a> object库</h4>\n<ul>\n<li>轻量级类apple的CoreFoundation库,支持object、dictionary、array、string、number、date、data等常用对象,并且可以方便扩展自定义对象的序列化。</li>\n<li>支持对xml、json、binary以及apple的plist(xplist/bplist)格式序列化和反序列化。\n并且实现自有的binary序列化格式, 针对明文进行了简单的加密,在不影响性能的前提下,序列化后的大小比bplist节省30%。</li>\n</ul>\n<h4 id=\"平台库\"><a class=\"header-anchor\" href=\"#平台库\" aria-hidden=\"true\">#</a> 平台库</h4>\n<ul>\n<li>提供file、directory、socket、thread、time等常用系统接口</li>\n<li>提供atomic、atomic64接口</li>\n<li>提供高精度、低精度定时器</li>\n<li>提供高性能的线程池操作</li>\n<li>提供event、mutex、semaphore、spinlock等事件、互斥、信号量、自旋锁操作</li>\n<li>提供获取函数堆栈信息的接口,方便调试和错误定位</li>\n<li>提供跨平台动态库加载接口(如果系统支持的话)</li>\n<li>提供io轮询器,针对epoll, poll, select, kqueue进行跨平台封装</li>\n<li>提供跨平台上下文切换接口,主要用于协程实现,切换效率非常高</li>\n</ul>\n<h4 id=\"压缩库\"><a class=\"header-anchor\" href=\"#压缩库\" aria-hidden=\"true\">#</a> 压缩库</h4>\n<ul>\n<li>支持zlib/zlibraw/gzip的压缩与解压(需要第三方zlib库支持)。</li>\n</ul>\n<h4 id=\"字符编码库\"><a class=\"header-anchor\" href=\"#字符编码库\" aria-hidden=\"true\">#</a> 字符编码库</h4>\n<ul>\n<li>支持utf8、utf16、gbk、gb2312、uc2、uc4 之间的互相转码,并且支持大小端格式。</li>\n</ul>\n<h4 id=\"实用工具库\"><a class=\"header-anchor\" href=\"#实用工具库\" aria-hidden=\"true\">#</a> 实用工具库</h4>\n<ul>\n<li>实现base64/32编解码</li>\n<li>实现crc32、adler32、md5、sha1等常用hash算法</li>\n<li>实现日志输出、断言等辅助调试工具</li>\n<li>实现url编解码</li>\n<li>实现位操作相关接口,支持各种数据格式的解析,可以对8bits、16bits、32bits、64bits、float、double以及任意bits的字段进行解析操作,并且同时支持大端、小端和本地端模式,并针对部分操作进行了优化,像static_stream、stream都有相关接口对其进行了封装,方便在流上进行快速数据解析。</li>\n<li>实现swap16、swap32、swap64等位交换操作,并针对各个平台进行了优化。</li>\n<li>实现一些高级的位处理接口,例如:位0的快速统计、前导0和前导1的快速位计数、后导01的快速位计数</li>\n<li>实现单例模块,可以对静态对象、实例对象进行快速的单例封装,实现全局线程安全</li>\n<li>实现option模块,对命令行参数进行解析,提供快速方便的命令行选项建立和解析操作,对于写终端程序还是很有帮助的</li>\n</ul>\n<h4 id=\"正则表达式库\"><a class=\"header-anchor\" href=\"#正则表达式库\" aria-hidden=\"true\">#</a> 正则表达式库</h4>\n<ul>\n<li>支持匹配和替换操作</li>\n<li>支持全局、多行、大小写不敏感等模式</li>\n<li>使用pcre, pcre2和posix正则库</li>\n</ul>\n<h2 id=\"项目例子\"><a class=\"header-anchor\" href=\"#项目例子\" aria-hidden=\"true\">#</a> 项目例子</h2>\n<p>一些使用tbox的项目</p>\n<ul>\n<li><a href=\"https://github.com/tboox/gbox\" target=\"_blank\" rel=\"noopener noreferrer\">gbox<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/vm86\" target=\"_blank\" rel=\"noopener noreferrer\">vm86<OutboundLink/></a></li>\n<li><a href=\"http://www.xmake.io/cn\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/itrace\" target=\"_blank\" rel=\"noopener noreferrer\">itrace<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/%E4%BD%BF%E7%94%A8tbox%E7%9A%84%E5%BC%80%E6%BA%90%E5%BA%93\" target=\"_blank\" rel=\"noopener noreferrer\">更多项目<OutboundLink/></a></li>\n</ul>\n<h2 id=\"联系方式\"><a class=\"header-anchor\" href=\"#联系方式\" aria-hidden=\"true\">#</a> 联系方式</h2>\n<ul>\n<li>邮箱:<a href=\"mailto:waruqi@gmail.com\">waruqi@gmail.com</a></li>\n<li>主页:<a href=\"http://www.tboox.org/cn\" target=\"_blank\" rel=\"noopener noreferrer\">TBOOX开源工程<OutboundLink/></a></li>\n<li>社区:<a href=\"https://www.reddit.com/r/tboox/\" target=\"_blank\" rel=\"noopener noreferrer\">Reddit论坛<OutboundLink/></a></li>\n<li>QQ群:343118190</li>\n<li>微信公众号:tboox-os</li>\n</ul>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/45e2ec2ed71590f6fef2fd40225129a9.json b/node_modules/vuepress/node_modules/.cache/vuepress/45e2ec2ed71590f6fef2fd40225129a9.json new file mode 100644 index 00000000..bf458d6a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/45e2ec2ed71590f6fef2fd40225129a9.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/locals.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.sw-update-popup\n position fixed\n right 1em\n bottom 1em\n padding 1em\n border 1px solid $accentColor\n border-radius 3px\n background #fff\n box-shadow 0 4px 16px rgba(0, 0, 0, 0.5)\n text-align center\n\n button\n margin-top 0.5em\n padding 0.25em 2em\n\n.sw-update-popup-enter-active, .sw-update-popup-leave-active\n transition opacity 0.3s, transform 0.3s\n\n.sw-update-popup-enter, .sw-update-popup-leave-to\n opacity 0\n transform translate(0, 50%) scale(0.5)\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/466c042d278347da3d4f538b3277af94.json b/node_modules/vuepress/node_modules/.cache/vuepress/466c042d278347da3d4f538b3277af94.json new file mode 100644 index 00000000..b6194e28 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/466c042d278347da3d4f538b3277af94.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Home.vue?vue&type=template&id=b8539214&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Home.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"home\" },\n [\n _c(\"div\", { staticClass: \"hero\" }, [\n _vm.data.heroImage\n ? _c(\"img\", {\n attrs: { src: _vm.$withBase(_vm.data.heroImage), alt: \"hero\" }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"h1\", [_vm._v(_vm._s(_vm.data.heroText || _vm.$title || \"Hello\"))]),\n _vm._v(\" \"),\n _c(\"p\", { staticClass: \"description\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.data.tagline ||\n _vm.$description ||\n \"Welcome to your VuePress site\"\n ) +\n \"\\n \"\n )\n ]),\n _vm._v(\" \"),\n _vm.data.actionText && _vm.data.actionLink\n ? _c(\n \"p\",\n { staticClass: \"action\" },\n [\n _c(\"NavLink\", {\n staticClass: \"action-button\",\n attrs: { item: _vm.actionLink }\n })\n ],\n 1\n )\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _vm.data.features && _vm.data.features.length\n ? _c(\n \"div\",\n { staticClass: \"features\" },\n _vm._l(_vm.data.features, function(feature, index) {\n return _c(\"div\", { key: index, staticClass: \"feature\" }, [\n _c(\"h2\", [_vm._v(_vm._s(feature.title))]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(_vm._s(feature.details))])\n ])\n })\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"Content\", { attrs: { custom: \"\" } }),\n _vm._v(\" \"),\n _vm.data.footer\n ? _c(\"div\", { staticClass: \"footer\" }, [\n _vm._v(\"\\n \" + _vm._s(_vm.data.footer) + \"\\n \")\n ])\n : _vm._e()\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/468e891393d5fe7ba3e4b37f70356efc.json b/node_modules/vuepress/node_modules/.cache/vuepress/468e891393d5fe7ba3e4b37f70356efc.json new file mode 100644 index 00000000..8dea2261 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/468e891393d5fe7ba3e4b37f70356efc.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport NavLink from './NavLink.vue'\n\nexport default {\n components: { NavLink },\n\n computed: {\n data () {\n return this.$page.frontmatter\n },\n\n actionLink () {\n return {\n link: this.data.actionLink,\n text: this.data.actionText\n }\n }\n }\n}\n",{"version":3,"sources":["Home.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"Home.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <div class=\"home\">\n <div class=\"hero\">\n <img\n v-if=\"data.heroImage\"\n :src=\"$withBase(data.heroImage)\"\n alt=\"hero\"\n >\n\n <h1>{{ data.heroText || $title || 'Hello' }}</h1>\n\n <p class=\"description\">\n {{ data.tagline || $description || 'Welcome to your VuePress site' }}\n </p>\n\n <p\n class=\"action\"\n v-if=\"data.actionText && data.actionLink\"\n >\n <NavLink\n class=\"action-button\"\n :item=\"actionLink\"\n />\n </p>\n </div>\n\n <div\n class=\"features\"\n v-if=\"data.features && data.features.length\"\n >\n <div\n class=\"feature\"\n v-for=\"(feature, index) in data.features\"\n :key=\"index\"\n >\n <h2>{{ feature.title }}</h2>\n <p>{{ feature.details }}</p>\n </div>\n </div>\n\n <Content custom/>\n\n <div\n class=\"footer\"\n v-if=\"data.footer\"\n >\n {{ data.footer }}\n </div>\n </div>\n</template>\n\n<script>\nimport NavLink from './NavLink.vue'\n\nexport default {\n components: { NavLink },\n\n computed: {\n data () {\n return this.$page.frontmatter\n },\n\n actionLink () {\n return {\n link: this.data.actionLink,\n text: this.data.actionText\n }\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.home\n padding $navbarHeight 2rem 0\n max-width 960px\n margin 0px auto\n .hero\n text-align center\n img\n max-height 280px\n display block\n margin 3rem auto 1.5rem\n h1\n font-size 3rem\n h1, .description, .action\n margin 1.8rem auto\n .description\n max-width 35rem\n font-size 1.6rem\n line-height 1.3\n color lighten($textColor, 40%)\n .action-button\n display inline-block\n font-size 1.2rem\n color #fff\n background-color $accentColor\n padding 0.8rem 1.6rem\n border-radius 4px\n transition background-color .1s ease\n box-sizing border-box\n border-bottom 1px solid darken($accentColor, 10%)\n &:hover\n background-color lighten($accentColor, 10%)\n .features\n border-top 1px solid $borderColor\n padding 1.2rem 0\n margin-top 2.5rem\n display flex\n flex-wrap wrap\n align-items flex-start\n align-content stretch\n justify-content space-between\n .feature\n flex-grow 1\n flex-basis 30%\n max-width 30%\n h2\n font-size 1.4rem\n font-weight 500\n border-bottom none\n padding-bottom 0\n color lighten($textColor, 10%)\n p\n color lighten($textColor, 25%)\n .footer\n padding 2.5rem\n border-top 1px solid $borderColor\n text-align center\n color lighten($textColor, 25%)\n\n@media (max-width: $MQMobile)\n .home\n .features\n flex-direction column\n .feature\n max-width 100%\n padding 0 2.5rem\n\n@media (max-width: $MQMobileNarrow)\n .home\n padding-left 1.5rem\n padding-right 1.5rem\n .hero\n img\n max-height 210px\n margin 2rem auto 1.2rem\n h1\n font-size 2rem\n h1, .description, .action\n margin 1.2rem auto\n .description\n font-size 1.2rem\n .action-button\n font-size 1rem\n padding 0.6rem 1.2rem\n .feature\n h2\n font-size 1.25rem\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/46e635d43d62379e16c9337a74b1650c.json b/node_modules/vuepress/node_modules/.cache/vuepress/46e635d43d62379e16c9337a74b1650c.json new file mode 100644 index 00000000..be786d4c --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/46e635d43d62379e16c9337a74b1650c.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/root-mixins/activeHeaderLinks.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/root-mixins/activeHeaderLinks.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import \"core-js/modules/es6.regexp.replace\";\nimport \"core-js/modules/es6.array.some\";\nimport \"core-js/modules/es6.array.filter\";\nimport store from '@app/store';\nimport throttle from 'lodash.throttle';\nexport default {\n mounted: function mounted() {\n window.addEventListener('scroll', this.onScroll);\n },\n methods: {\n onScroll: throttle(function () {\n this.setActiveHash();\n }, 300),\n setActiveHash: function setActiveHash() {\n var _this = this;\n\n var sidebarLinks = [].slice.call(document.querySelectorAll('.sidebar-link'));\n var anchors = [].slice.call(document.querySelectorAll('.header-anchor')).filter(function (anchor) {\n return sidebarLinks.some(function (sidebarLink) {\n return sidebarLink.hash === anchor.hash;\n });\n });\n var scrollTop = Math.max(window.pageYOffset, document.documentElement.scrollTop, document.body.scrollTop);\n\n for (var i = 0; i < anchors.length; i++) {\n var anchor = anchors[i];\n var nextAnchor = anchors[i + 1];\n var isActive = i === 0 && scrollTop === 0 || scrollTop >= anchor.parentElement.offsetTop + 10 && (!nextAnchor || scrollTop < nextAnchor.parentElement.offsetTop - 10);\n\n if (isActive && decodeURIComponent(this.$route.hash) !== decodeURIComponent(anchor.hash)) {\n store.disableScrollBehavior = true;\n this.$router.replace(decodeURIComponent(anchor.hash), function () {\n // execute after scrollBehavior handler.\n _this.$nextTick(function () {\n store.disableScrollBehavior = false;\n });\n });\n return;\n }\n }\n }\n },\n beforeDestroy: function beforeDestroy() {\n window.removeEventListener('scroll', this.onScroll);\n }\n};",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/47dbadb0e1322a84685265482f7f1125.json b/node_modules/vuepress/node_modules/.cache/vuepress/47dbadb0e1322a84685265482f7f1125.json new file mode 100644 index 00000000..0d5b6a98 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/47dbadb0e1322a84685265482f7f1125.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import \"core-js/modules/es6.regexp.constructor\";\nimport \"core-js/modules/es6.regexp.match\";\nimport \"core-js/modules/es6.object.assign\";\nimport _toConsumableArray from \"/Users/ruki/projects/personal/xmake-docs/node_modules/@babel/runtime/helpers/builtin/es6/toConsumableArray\";\nimport \"core-js/modules/es6.array.some\";\nimport \"core-js/modules/es6.regexp.replace\";\nimport \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.iterator\";\nimport \"core-js/modules/es6.object.keys\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport DropdownLink from './DropdownLink.vue';\nimport { resolveNavLinkItem } from './util';\nimport NavLink from './NavLink.vue';\nexport default {\n components: {\n NavLink: NavLink,\n DropdownLink: DropdownLink\n },\n computed: {\n userNav: function userNav() {\n return this.$themeLocaleConfig.nav || this.$site.themeConfig.nav || [];\n },\n nav: function nav() {\n var _this = this;\n\n var locales = this.$site.locales;\n\n if (locales && Object.keys(locales).length > 1) {\n var currentLink = this.$page.path;\n var routes = this.$router.options.routes;\n var themeLocales = this.$site.themeConfig.locales || {};\n var languageDropdown = {\n text: this.$themeLocaleConfig.selectText || 'Languages',\n items: Object.keys(locales).map(function (path) {\n var locale = locales[path];\n var text = themeLocales[path] && themeLocales[path].label || locale.lang;\n var link; // Stay on the current page\n\n if (locale.lang === _this.$lang) {\n link = currentLink;\n } else {\n // Try to stay on the same page\n link = currentLink.replace(_this.$localeConfig.path, path); // fallback to homepage\n\n if (!routes.some(function (route) {\n return route.path === link;\n })) {\n link = path;\n }\n }\n\n return {\n text: text,\n link: link\n };\n })\n };\n return _toConsumableArray(this.userNav).concat([languageDropdown]);\n }\n\n return this.userNav;\n },\n userLinks: function userLinks() {\n return (this.nav || []).map(function (link) {\n return Object.assign(resolveNavLinkItem(link), {\n items: (link.items || []).map(resolveNavLinkItem)\n });\n });\n },\n repoLink: function repoLink() {\n var repo = this.$site.themeConfig.repo;\n\n if (repo) {\n return /^https?:/.test(repo) ? repo : \"https://github.com/\".concat(repo);\n }\n },\n repoLabel: function repoLabel() {\n if (!this.repoLink) return;\n\n if (this.$site.themeConfig.repoLabel) {\n return this.$site.themeConfig.repoLabel;\n }\n\n var repoHost = this.repoLink.match(/^https?:\\/\\/[^/]+/)[0];\n var platforms = ['GitHub', 'GitLab', 'Bitbucket'];\n\n for (var i = 0; i < platforms.length; i++) {\n var platform = platforms[i];\n\n if (new RegExp(platform, 'i').test(repoHost)) {\n return platform;\n }\n }\n\n return 'Source';\n }\n }\n};",{"version":3,"sources":["NavLinks.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,OAAA,YAAA,MAAA,oBAAA;AACA,SAAA,kBAAA,QAAA,QAAA;AACA,OAAA,OAAA,MAAA,eAAA;AAEA,eAAA;AACA,cAAA;AAAA,oBAAA;AAAA;AAAA,GADA;AAGA,YAAA;AACA,WADA,qBACA;AACA,aAAA,KAAA,kBAAA,CAAA,GAAA,IAAA,KAAA,KAAA,CAAA,WAAA,CAAA,GAAA,IAAA,EAAA;AACA,KAHA;AAKA,OALA,iBAKA;AAAA;;AAAA,UACA,OADA,GACA,KAAA,KADA,CACA,OADA;;AAEA,UAAA,WAAA,OAAA,IAAA,CAAA,OAAA,EAAA,MAAA,GAAA,CAAA,EAAA;AACA,YAAA,cAAA,KAAA,KAAA,CAAA,IAAA;AACA,YAAA,SAAA,KAAA,OAAA,CAAA,OAAA,CAAA,MAAA;AACA,YAAA,eAAA,KAAA,KAAA,CAAA,WAAA,CAAA,OAAA,IAAA,EAAA;AACA,YAAA,mBAAA;AACA,gBAAA,KAAA,kBAAA,CAAA,UAAA,IAAA,WADA;AAEA,iBAAA,OAAA,IAAA,CAAA,OAAA,EAAA,GAAA,CAAA,gBAAA;AACA,gBAAA,SAAA,QAAA,IAAA,CAAA;AACA,gBAAA,OAAA,aAAA,IAAA,KAAA,aAAA,IAAA,EAAA,KAAA,IAAA,OAAA,IAAA;AACA,gBAAA,IAAA,CAHA,CAIA;;AACA,gBAAA,OAAA,IAAA,KAAA,MAAA,KAAA,EAAA;AACA,qBAAA,WAAA;AACA,aAFA,MAEA;AACA;AACA,qBAAA,YAAA,OAAA,CAAA,MAAA,aAAA,CAAA,IAAA,EAAA,IAAA,CAAA,CAFA,CAGA;;AACA,kBAAA,CAAA,OAAA,IAAA,CAAA;AAAA,uBAAA,MAAA,IAAA,KAAA,IAAA;AAAA,eAAA,CAAA,EAAA;AACA,uBAAA,IAAA;AACA;AACA;;AACA,mBAAA;AAAA,wBAAA;AAAA;AAAA,aAAA;AACA,WAhBA;AAFA,SAAA;AAoBA,kCAAA,KAAA,OAAA,UAAA,gBAAA;AACA;;AACA,aAAA,KAAA,OAAA;AACA,KAlCA;AAoCA,aApCA,uBAoCA;AACA,aAAA,CAAA,KAAA,GAAA,IAAA,EAAA,EAAA,GAAA,CAAA,gBAAA;AACA,eAAA,OAAA,MAAA,CAAA,mBAAA,IAAA,CAAA,EAAA;AACA,iBAAA,CAAA,KAAA,KAAA,IAAA,EAAA,EAAA,GAAA,CAAA,kBAAA;AADA,SAAA,CAAA;AAGA,OAJA,CAAA;AAKA,KA1CA;AA4CA,YA5CA,sBA4CA;AAAA,UACA,IADA,GACA,KAAA,KAAA,CAAA,WADA,CACA,IADA;;AAEA,UAAA,IAAA,EAAA;AACA,eAAA,WAAA,IAAA,CAAA,IAAA,IACA,IADA,gCAEA,IAFA,CAAA;AAGA;AACA,KAnDA;AAqDA,aArDA,uBAqDA;AACA,UAAA,CAAA,KAAA,QAAA,EAAA;;AACA,UAAA,KAAA,KAAA,CAAA,WAAA,CAAA,SAAA,EAAA;AACA,eAAA,KAAA,KAAA,CAAA,WAAA,CAAA,SAAA;AACA;;AAEA,UAAA,WAAA,KAAA,QAAA,CAAA,KAAA,CAAA,mBAAA,EAAA,CAAA,CAAA;AACA,UAAA,YAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,CAAA;;AACA,WAAA,IAAA,IAAA,CAAA,EAAA,IAAA,UAAA,MAAA,EAAA,GAAA,EAAA;AACA,YAAA,WAAA,UAAA,CAAA,CAAA;;AACA,YAAA,IAAA,MAAA,CAAA,QAAA,EAAA,GAAA,EAAA,IAAA,CAAA,QAAA,CAAA,EAAA;AACA,iBAAA,QAAA;AACA;AACA;;AAEA,aAAA,QAAA;AACA;AArEA;AAHA,CAAA","sourcesContent":["<template>\n <nav\n class=\"nav-links\"\n v-if=\"userLinks.length || repoLink\"\n >\n <!-- user links -->\n <div\n class=\"nav-item\"\n v-for=\"item in userLinks\"\n :key=\"item.link\"\n >\n <DropdownLink\n v-if=\"item.type === 'links'\"\n :item=\"item\"\n />\n <NavLink\n v-else\n :item=\"item\"\n />\n </div>\n\n <!-- repo link -->\n <a\n v-if=\"repoLink\"\n :href=\"repoLink\"\n class=\"repo-link\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {{ repoLabel }}\n <OutboundLink/>\n </a>\n </nav>\n</template>\n\n<script>\nimport DropdownLink from './DropdownLink.vue'\nimport { resolveNavLinkItem } from './util'\nimport NavLink from './NavLink.vue'\n\nexport default {\n components: { NavLink, DropdownLink },\n\n computed: {\n userNav () {\n return this.$themeLocaleConfig.nav || this.$site.themeConfig.nav || []\n },\n\n nav () {\n const { locales } = this.$site\n if (locales && Object.keys(locales).length > 1) {\n const currentLink = this.$page.path\n const routes = this.$router.options.routes\n const themeLocales = this.$site.themeConfig.locales || {}\n const languageDropdown = {\n text: this.$themeLocaleConfig.selectText || 'Languages',\n items: Object.keys(locales).map(path => {\n const locale = locales[path]\n const text = themeLocales[path] && themeLocales[path].label || locale.lang\n let link\n // Stay on the current page\n if (locale.lang === this.$lang) {\n link = currentLink\n } else {\n // Try to stay on the same page\n link = currentLink.replace(this.$localeConfig.path, path)\n // fallback to homepage\n if (!routes.some(route => route.path === link)) {\n link = path\n }\n }\n return { text, link }\n })\n }\n return [...this.userNav, languageDropdown]\n }\n return this.userNav\n },\n\n userLinks () {\n return (this.nav || []).map(link => {\n return Object.assign(resolveNavLinkItem(link), {\n items: (link.items || []).map(resolveNavLinkItem)\n })\n })\n },\n\n repoLink () {\n const { repo } = this.$site.themeConfig\n if (repo) {\n return /^https?:/.test(repo)\n ? repo\n : `https://github.com/${repo}`\n }\n },\n\n repoLabel () {\n if (!this.repoLink) return\n if (this.$site.themeConfig.repoLabel) {\n return this.$site.themeConfig.repoLabel\n }\n\n const repoHost = this.repoLink.match(/^https?:\\/\\/[^/]+/)[0]\n const platforms = ['GitHub', 'GitLab', 'Bitbucket']\n for (let i = 0; i < platforms.length; i++) {\n const platform = platforms[i]\n if (new RegExp(platform, 'i').test(repoHost)) {\n return platform\n }\n }\n\n return 'Source'\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.nav-links\n display inline-block\n a\n line-height 1.4rem\n color inherit\n &:hover, &.router-link-active\n color $accentColor\n .nav-item\n position relative\n display inline-block\n margin-left 1.5rem\n line-height 2rem\n &:first-child\n margin-left 0\n .repo-link\n margin-left 1.5rem\n\n@media (max-width: $MQMobile)\n .nav-links\n .nav-item, .repo-link\n margin-left 0\n\n@media (min-width: $MQMobile)\n .nav-links a\n &:hover, &.router-link-active\n color $textColor\n .nav-item > a:not(.external)\n &:hover, &.router-link-active\n margin-bottom -2px\n border-bottom 2px solid lighten($accentColor, 8%)\n</style>\n"],"sourceRoot":"node_modules/vuepress/lib/default-theme"}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/47df7589b9a646abc9754734ab6f3b1a.json b/node_modules/vuepress/node_modules/.cache/vuepress/47df7589b9a646abc9754734ab6f3b1a.json new file mode 100644 index 00000000..31097c76 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/47df7589b9a646abc9754734ab6f3b1a.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/zh/manual.md?vue&type=template&id=0a36aeef&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/zh/manual.md","mtime":1489213929000},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/47fd6088413f9077232e41984224f52a.json b/node_modules/vuepress/node_modules/.cache/vuepress/47fd6088413f9077232e41984224f52a.json new file mode 100644 index 00000000..1ec9b666 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/47fd6088413f9077232e41984224f52a.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue?vue&type=template&id=e27c5110&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"transition\", { attrs: { name: \"sw-update-popup\" } }, [\n _vm.enabled\n ? _c(\"div\", { staticClass: \"sw-update-popup\" }, [\n _vm._v(\"\\n \" + _vm._s(_vm.message)),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"button\", { on: { click: _vm.reload } }, [\n _vm._v(_vm._s(_vm.buttonText))\n ])\n ])\n : _vm._e()\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/4830cc112db25d5828d2c7c2ba1f754e.json b/node_modules/vuepress/node_modules/.cache/vuepress/4830cc112db25d5828d2c7c2ba1f754e.json new file mode 100644 index 00000000..a6bfe713 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/4830cc112db25d5828d2c7c2ba1f754e.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/getting-started.md?vue&type=template&id=10a0f75e&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/getting-started.md","mtime":1541488106036},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"Please install xmake first: \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _vm._m(1),\n _vm._m(2),\n _vm._v(\" \"),\n _vm._m(3)\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h1\", { attrs: { id: \"getting-started\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#getting-started\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Getting Started\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-console extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-text\" } }, [\n _c(\"code\", [\n _vm._v(\n \"# build for the host platform\\n$ cd ./tbox\\n$ xmake\\n\\n# build for the mingw platform\\n$ cd ./tbox\\n$ xmake f -p mingw --sdk=/home/mingwsdk \\n$ xmake\\n\\n# build for the iphoneos platform\\n$ cd ./tbox\\n$ xmake f -p iphoneos \\n$ xmake\\n\\n# build for the android platform\\n$ cd ./tbox\\n$ xmake f -p android --ndk=xxxxx\\n$ xmake\\n\\n# build for the linux cross-platform\\n$ cd ./tbox\\n$ xmake f -p linux --sdk=/home/sdk # --bin=/home/sdk/bin\\n$ xmake\\n\"\n )\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"example\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#example\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Example\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-c extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-c\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token macro property\" } }, [\n _vm._v(\"#\"),\n _c(\"span\", { attrs: { class: \"token directive keyword\" } }, [\n _vm._v(\"include\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"tbox/tbox.h\"')\n ])\n ]),\n _vm._v(\"\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"int\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"main\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"int\")]),\n _vm._v(\" argc\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"char\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _vm._v(\" argv\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// init tbox\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"!\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_init\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"tb_null\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" tb_null\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"return\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// trace\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_trace_i\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"hello tbox\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// init vector\")\n ]),\n _vm._v(\"\\n tb_vector_ref_t vector \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_init\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_element_cstr\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"tb_true\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// insert item\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_insert_tail\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"hello\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_insert_tail\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"tbox\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// dump all items\")\n ]),\n _vm._v(\"\\n tb_for_all \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"tb_char_t \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"const\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" cstr\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// trace\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_trace_i\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"%s\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" cstr\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// exit vector\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_exit\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// init stream\")\n ]),\n _vm._v(\"\\n tb_stream_ref_t stream \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_init_from_url\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"http://www.xxx.com/file.txt\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// open stream\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_open\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// read line\")\n ]),\n _vm._v(\"\\n tb_long_t size \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n tb_char_t line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"TB_STREAM_BLOCK_MAXN\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"while\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"size \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_bread_line\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"sizeof\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\">=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// trace\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_trace_i\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"line: %s\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// exit stream\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_exit\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// wait \")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"getchar\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// exit tbox\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_exit\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"return\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/49e82905b6b0df7cf0cb0b329ff9764a.json b/node_modules/vuepress/node_modules/.cache/vuepress/49e82905b6b0df7cf0cb0b329ff9764a.json new file mode 100644 index 00000000..10ecbfd5 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/49e82905b6b0df7cf0cb0b329ff9764a.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/ClientOnly.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/ClientOnly.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["export default {\n functional: true,\n render: function render(h, _ref) {\n var parent = _ref.parent,\n children = _ref.children;\n\n if (parent._isMounted) {\n return children;\n } else {\n parent.$once('hook:mounted', function () {\n parent.$forceUpdate();\n });\n }\n }\n};",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/4acaab5a349c42e398cd09cdeff7672d.json b/node_modules/vuepress/node_modules/.cache/vuepress/4acaab5a349c42e398cd09cdeff7672d.json new file mode 100644 index 00000000..1b321fae --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/4acaab5a349c42e398cd09cdeff7672d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/guide/getting-started.md?vue&type=template&id=bbea027a&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/guide/getting-started.md","mtime":1541488106036},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"getting-started\"><a class=\"header-anchor\" href=\"#getting-started\" aria-hidden=\"true\">#</a> Getting Started</h1>\n<p>Please install xmake first: <a href=\"https://github.com/tboox/xmake\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></p>\n<!--beforebegin--><div class=\"language-console extra-class\"><!--afterbegin--><pre v-pre class=\"language-text\"><code># build for the host platform\n$ cd ./tbox\n$ xmake\n\n# build for the mingw platform\n$ cd ./tbox\n$ xmake f -p mingw --sdk=/home/mingwsdk \n$ xmake\n\n# build for the iphoneos platform\n$ cd ./tbox\n$ xmake f -p iphoneos \n$ xmake\n\n# build for the android platform\n$ cd ./tbox\n$ xmake f -p android --ndk=xxxxx\n$ xmake\n\n# build for the linux cross-platform\n$ cd ./tbox\n$ xmake f -p linux --sdk=/home/sdk # --bin=/home/sdk/bin\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"example\"><a class=\"header-anchor\" href=\"#example\" aria-hidden=\"true\">#</a> Example</h2>\n<!--beforebegin--><div class=\"language-c extra-class\"><!--afterbegin--><pre v-pre class=\"language-c\"><code><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">\"tbox/tbox.h\"</span></span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> argc<span class=\"token punctuation\">,</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span> argv<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// init tbox</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">tb_init</span><span class=\"token punctuation\">(</span>tb_null<span class=\"token punctuation\">,</span> tb_null<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"hello tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// init vector</span>\n tb_vector_ref_t vector <span class=\"token operator\">=</span> <span class=\"token function\">tb_vector_init</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">tb_element_cstr</span><span class=\"token punctuation\">(</span>tb_true<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// insert item</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// dump all items</span>\n tb_for_all <span class=\"token punctuation\">(</span>tb_char_t <span class=\"token keyword\">const</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">,</span> vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%s\"</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit vector</span>\n <span class=\"token function\">tb_vector_exit</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// init stream</span>\n tb_stream_ref_t stream <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_init_from_url</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"http://www.xxx.com/file.txt\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// open stream</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token function\">tb_stream_open</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// read line</span>\n tb_long_t size <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n tb_char_t line<span class=\"token punctuation\">[</span>TB_STREAM_BLOCK_MAXN<span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">while</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>size <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_bread_line</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">,</span> <span class=\"token keyword\">sizeof</span><span class=\"token punctuation\">(</span>line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">>=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"line: %s\"</span><span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit stream</span>\n <span class=\"token function\">tb_stream_exit</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// wait </span>\n <span class=\"token function\">getchar</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// exit tbox</span>\n <span class=\"token function\">tb_exit</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/4ad7af1f2ff56d10f37f44b6ce6b7a6b.json b/node_modules/vuepress/node_modules/.cache/vuepress/4ad7af1f2ff56d10f37f44b6ce6b7a6b.json new file mode 100644 index 00000000..22aca4df --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/4ad7af1f2ff56d10f37f44b6ce6b7a6b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue?vue&type=template&id=18ca159a&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"sidebar-group\",\n class: { first: _vm.first, collapsable: _vm.collapsable }\n },\n [\n _c(\n \"p\",\n {\n staticClass: \"sidebar-heading\",\n class: { open: _vm.open },\n on: {\n click: function($event) {\n _vm.$emit(\"toggle\")\n }\n }\n },\n [\n _c(\"span\", [_vm._v(_vm._s(_vm.item.title))]),\n _vm._v(\" \"),\n _vm.collapsable\n ? _c(\"span\", {\n staticClass: \"arrow\",\n class: _vm.open ? \"down\" : \"right\"\n })\n : _vm._e()\n ]\n ),\n _vm._v(\" \"),\n _c(\"DropdownTransition\", [\n _vm.open || !_vm.collapsable\n ? _c(\n \"ul\",\n { ref: \"items\", staticClass: \"sidebar-group-items\" },\n _vm._l(_vm.item.children, function(child) {\n return _c(\n \"li\",\n [_c(\"SidebarLink\", { attrs: { item: child } })],\n 1\n )\n })\n )\n : _vm._e()\n ])\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/4aea7676d456ccb466226dce6bd2ed72.json b/node_modules/vuepress/node_modules/.cache/vuepress/4aea7676d456ccb466226dce6bd2ed72.json new file mode 100644 index 00000000..69de7f7e --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/4aea7676d456ccb466226dce6bd2ed72.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport SidebarButton from './SidebarButton.vue';\nimport AlgoliaSearchBox from '@AlgoliaSearchBox';\nimport SearchBox from './SearchBox.vue';\nimport NavLinks from './NavLinks.vue';\nexport default {\n components: {\n SidebarButton: SidebarButton,\n NavLinks: NavLinks,\n SearchBox: SearchBox,\n AlgoliaSearchBox: AlgoliaSearchBox\n },\n data: function data() {\n return {\n linksWrapMaxWidth: null\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n var MOBILE_DESKTOP_BREAKPOINT = 719; // refer to config.styl\n\n var NAVBAR_VERTICAL_PADDING = parseInt(css(this.$el, 'paddingLeft')) + parseInt(css(this.$el, 'paddingRight'));\n\n var handleLinksWrapWidth = function handleLinksWrapWidth() {\n if (document.documentElement.clientWidth < MOBILE_DESKTOP_BREAKPOINT) {\n _this.linksWrapMaxWidth = null;\n } else {\n _this.linksWrapMaxWidth = _this.$el.offsetWidth - NAVBAR_VERTICAL_PADDING - (_this.$refs.siteName && _this.$refs.siteName.offsetWidth || 0);\n }\n };\n\n handleLinksWrapWidth();\n window.addEventListener('resize', handleLinksWrapWidth, false);\n },\n computed: {\n algolia: function algolia() {\n return this.$themeLocaleConfig.algolia || this.$site.themeConfig.algolia || {};\n },\n isAlgoliaSearch: function isAlgoliaSearch() {\n return this.algolia && this.algolia.apiKey && this.algolia.indexName;\n }\n }\n};\n\nfunction css(el, property) {\n // NOTE: Known bug, will return 'auto' if style value is 'auto'\n var win = el.ownerDocument.defaultView; // null means not to return pseudo styles\n\n return win.getComputedStyle(el, null)[property];\n}",{"version":3,"sources":["node_modules/vuepress/lib/default-theme/Navbar.vue"],"names":["SidebarButton","AlgoliaSearchBox","SearchBox","NavLinks","components","data","linksWrapMaxWidth","mounted","MOBILE_DESKTOP_BREAKPOINT","NAVBAR_VERTICAL_PADDING","parseInt","css","$el","handleLinksWrapWidth","document","documentElement","clientWidth","offsetWidth","$refs","siteName","window","addEventListener","computed","algolia","$themeLocaleConfig","$site","themeConfig","isAlgoliaSearch","apiKey","indexName","el","property","win","ownerDocument","defaultView","getComputedStyle"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,OAAOA,aAAP,MAA0B,qBAA1B;AACA,OAAOC,gBAAP,MAA6B,mBAA7B;AACA,OAAOC,SAAP,MAAsB,iBAAtB;AACA,OAAOC,QAAP,MAAqB,gBAArB;AAEA,eAAe;AACbC,cAAY;AAAEJ,gCAAF;AAAiBG,sBAAjB;AAA2BD,wBAA3B;AAAsCD;AAAtC,GADC;AAGbI,MAHa,kBAGL;AACN,WAAO;AACLC,yBAAmB;AADd,KAAP;AAGD,GAPY;AASbC,SATa,qBASF;AAAA;;AACT,QAAMC,4BAA4B,GAAlC,CADS,CAC6B;;AACtC,QAAMC,0BAA0BC,SAASC,IAAI,KAAKC,GAAT,EAAc,aAAd,CAAT,IAAyCF,SAASC,IAAI,KAAKC,GAAT,EAAc,cAAd,CAAT,CAAzE;;AACA,QAAMC,uBAAuB,SAAvBA,oBAAuB,GAAM;AACjC,UAAIC,SAASC,eAAT,CAAyBC,WAAzB,GAAuCR,yBAA3C,EAAsE;AACpE,cAAKF,iBAAL,GAAyB,IAAzB;AACD,OAFD,MAEO;AACL,cAAKA,iBAAL,GAAyB,MAAKM,GAAL,CAASK,WAAT,GAAuBR,uBAAvB,IACtB,MAAKS,KAAL,CAAWC,QAAX,IAAuB,MAAKD,KAAL,CAAWC,QAAX,CAAoBF,WAA3C,IAA0D,CADpC,CAAzB;AAED;AACF,KAPD;;AAQAJ;AACAO,WAAOC,gBAAP,CAAwB,QAAxB,EAAkCR,oBAAlC,EAAwD,KAAxD;AACD,GAtBY;AAwBbS,YAAU;AACRC,WADQ,qBACG;AACT,aAAO,KAAKC,kBAAL,CAAwBD,OAAxB,IAAmC,KAAKE,KAAL,CAAWC,WAAX,CAAuBH,OAA1D,IAAqE,EAA5E;AACD,KAHO;AAKRI,mBALQ,6BAKW;AACjB,aAAO,KAAKJ,OAAL,IAAgB,KAAKA,OAAL,CAAaK,MAA7B,IAAuC,KAAKL,OAAL,CAAaM,SAA3D;AACD;AAPO;AAxBG,CAAf;;AAmCA,SAASlB,GAAT,CAAcmB,EAAd,EAAkBC,QAAlB,EAA4B;AAC1B;AACA,MAAMC,MAAMF,GAAGG,aAAH,CAAiBC,WAA7B,CAF0B,CAG1B;;AACA,SAAOF,IAAIG,gBAAJ,CAAqBL,EAArB,EAAyB,IAAzB,EAA+BC,QAA/B,CAAP;AACD","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport SidebarButton from './SidebarButton.vue'\nimport AlgoliaSearchBox from '@AlgoliaSearchBox'\nimport SearchBox from './SearchBox.vue'\nimport NavLinks from './NavLinks.vue'\n\nexport default {\n components: { SidebarButton, NavLinks, SearchBox, AlgoliaSearchBox },\n\n data () {\n return {\n linksWrapMaxWidth: null\n }\n },\n\n mounted () {\n const MOBILE_DESKTOP_BREAKPOINT = 719 // refer to config.styl\n const NAVBAR_VERTICAL_PADDING = parseInt(css(this.$el, 'paddingLeft')) + parseInt(css(this.$el, 'paddingRight'))\n const handleLinksWrapWidth = () => {\n if (document.documentElement.clientWidth < MOBILE_DESKTOP_BREAKPOINT) {\n this.linksWrapMaxWidth = null\n } else {\n this.linksWrapMaxWidth = this.$el.offsetWidth - NAVBAR_VERTICAL_PADDING -\n (this.$refs.siteName && this.$refs.siteName.offsetWidth || 0)\n }\n }\n handleLinksWrapWidth()\n window.addEventListener('resize', handleLinksWrapWidth, false)\n },\n\n computed: {\n algolia () {\n return this.$themeLocaleConfig.algolia || this.$site.themeConfig.algolia || {}\n },\n\n isAlgoliaSearch () {\n return this.algolia && this.algolia.apiKey && this.algolia.indexName\n }\n }\n}\n\nfunction css (el, property) {\n // NOTE: Known bug, will return 'auto' if style value is 'auto'\n const win = el.ownerDocument.defaultView\n // null means not to return pseudo styles\n return win.getComputedStyle(el, null)[property]\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/4b26c965066b0acb50c92321649f4933.json b/node_modules/vuepress/node_modules/.cache/vuepress/4b26c965066b0acb50c92321649f4933.json new file mode 100644 index 00000000..07e4ac5f --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/4b26c965066b0acb50c92321649f4933.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue?vue&type=template&id=1bddee00&functional=true&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<svg class=\"icon outbound\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" x=\"0px\" y=\"0px\" viewBox=\"0 0 100 100\" width=\"15\" height=\"15\">\n <path fill=\"currentColor\" d=\"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z\"></path>\n <polygon fill=\"currentColor\" points=\"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9\"></polygon>\n</svg>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/4b9b76c9c9434974a31a6dd3be8ae511.json b/node_modules/vuepress/node_modules/.cache/vuepress/4b9b76c9c9434974a31a6dd3be8ae511.json new file mode 100644 index 00000000..1e9bb763 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/4b9b76c9c9434974a31a6dd3be8ae511.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/src/.vuepress/enhanceApp.js","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/.vuepress/enhanceApp.js","mtime":1541578721015},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["function integrateGitalk(router) {\n var linkGitalk = document.createElement('link');\n linkGitalk.href = '/assets/css/gitalk.css';\n linkGitalk.rel = 'stylesheet';\n document.body.appendChild(linkGitalk);\n var scriptGitalk = document.createElement('script');\n scriptGitalk.src = '/assets/js/gitalk.min.js';\n document.body.appendChild(scriptGitalk);\n router.afterEach(function (to) {\n if (scriptGitalk.onload) {\n loadGitalk(to);\n } else {\n scriptGitalk.onload = function () {\n loadGitalk(to);\n };\n }\n });\n\n function loadGitalk(to) {\n var commentsContainer = document.createElement('div');\n commentsContainer.id = 'gitalk-container';\n commentsContainer.classList.add('content');\n var $page = document.querySelector('.page');\n\n if ($page) {\n $page.appendChild(commentsContainer);\n renderGitalk(to.fullPath);\n }\n }\n\n function renderGitalk(fullPath) {\n var gitalk = new Gitalk({\n clientID: 'cb53dd42b1b654202a55',\n clientSecret: '8a9a0e7feadc575b8bba9770cd9454d7423028ac',\n repo: 'xmake-docs',\n owner: 'waruqi',\n admin: ['waruqi'],\n id: 'comment',\n distractionFreeMode: false\n });\n gitalk.render('gitalk-container');\n }\n}\n\nexport default (function (_ref) {\n var Vue = _ref.Vue,\n options = _ref.options,\n router = _ref.router,\n siteData = _ref.siteData;\n\n try {\n document && integrateGitalk(router);\n } catch (e) {\n console.error(e.message);\n }\n});",{"version":3,"sources":["src/.vuepress/enhanceApp.js"],"names":["integrateGitalk","router","linkGitalk","document","createElement","href","rel","body","appendChild","scriptGitalk","src","afterEach","to","onload","loadGitalk","commentsContainer","id","classList","add","$page","querySelector","renderGitalk","fullPath","gitalk","Gitalk","clientID","clientSecret","repo","owner","admin","distractionFreeMode","render","Vue","options","siteData","e","console","error","message"],"mappings":"AAAA,SAASA,eAAT,CAAyBC,MAAzB,EAAiC;AAC/B,MAAMC,aAAaC,SAASC,aAAT,CAAuB,MAAvB,CAAnB;AACAF,aAAWG,IAAX,GAAkB,wBAAlB;AACAH,aAAWI,GAAX,GAAiB,YAAjB;AACAH,WAASI,IAAT,CAAcC,WAAd,CAA0BN,UAA1B;AACA,MAAMO,eAAeN,SAASC,aAAT,CAAuB,QAAvB,CAArB;AACAK,eAAaC,GAAb,GAAmB,0BAAnB;AACAP,WAASI,IAAT,CAAcC,WAAd,CAA0BC,YAA1B;AAEAR,SAAOU,SAAP,CAAiB,UAACC,EAAD,EAAQ;AACvB,QAAIH,aAAaI,MAAjB,EAAyB;AACvBC,iBAAWF,EAAX;AACD,KAFD,MAEO;AACLH,mBAAaI,MAAb,GAAsB,YAAM;AAC1BC,mBAAWF,EAAX;AACD,OAFD;AAGD;AACF,GARD;;AAUA,WAASE,UAAT,CAAoBF,EAApB,EAAwB;AACtB,QAAMG,oBAAoBZ,SAASC,aAAT,CAAuB,KAAvB,CAA1B;AACAW,sBAAkBC,EAAlB,GAAuB,kBAAvB;AACAD,sBAAkBE,SAAlB,CAA4BC,GAA5B,CAAgC,SAAhC;AACA,QAAMC,QAAQhB,SAASiB,aAAT,CAAuB,OAAvB,CAAd;;AACA,QAAID,KAAJ,EAAW;AACTA,YAAMX,WAAN,CAAkBO,iBAAlB;AACAM,mBAAaT,GAAGU,QAAhB;AACD;AACF;;AACD,WAASD,YAAT,CAAsBC,QAAtB,EAAgC;AAC9B,QAAMC,SAAS,IAAIC,MAAJ,CAAW;AACxBC,gBAAU,sBADc;AAExBC,oBAAc,0CAFU;AAGxBC,YAAM,YAHkB;AAIxBC,aAAO,QAJiB;AAKxBC,aAAO,CAAC,QAAD,CALiB;AAMxBb,UAAI,SANoB;AAOxBc,2BAAqB;AAPG,KAAX,CAAf;AASAP,WAAOQ,MAAP,CAAc,kBAAd;AACD;AACF;;AAED,gBAAe,gBAAsC;AAAA,MAApCC,GAAoC,QAApCA,GAAoC;AAAA,MAA/BC,OAA+B,QAA/BA,OAA+B;AAAA,MAAtBhC,MAAsB,QAAtBA,MAAsB;AAAA,MAAdiC,QAAc,QAAdA,QAAc;;AACnD,MAAI;AACF/B,gBAAYH,gBAAgBC,MAAhB,CAAZ;AACD,GAFD,CAEE,OAAOkC,CAAP,EAAU;AACVC,YAAQC,KAAR,CAAcF,EAAEG,OAAhB;AACD;AACF,CAND","sourceRoot":"/Users/ruki/projects/personal/xmake-docs","sourcesContent":["function integrateGitalk(router) {\n const linkGitalk = document.createElement('link')\n linkGitalk.href = '/assets/css/gitalk.css'\n linkGitalk.rel = 'stylesheet'\n document.body.appendChild(linkGitalk)\n const scriptGitalk = document.createElement('script')\n scriptGitalk.src = '/assets/js/gitalk.min.js'\n document.body.appendChild(scriptGitalk)\n\n router.afterEach((to) => {\n if (scriptGitalk.onload) {\n loadGitalk(to)\n } else {\n scriptGitalk.onload = () => {\n loadGitalk(to)\n }\n }\n })\n\n function loadGitalk(to) {\n const commentsContainer = document.createElement('div')\n commentsContainer.id = 'gitalk-container'\n commentsContainer.classList.add('content')\n const $page = document.querySelector('.page')\n if ($page) {\n $page.appendChild(commentsContainer)\n renderGitalk(to.fullPath)\n }\n }\n function renderGitalk(fullPath) {\n const gitalk = new Gitalk({\n clientID: 'cb53dd42b1b654202a55',\n clientSecret: '8a9a0e7feadc575b8bba9770cd9454d7423028ac',\n repo: 'xmake-docs',\n owner: 'waruqi',\n admin: ['waruqi'],\n id: 'comment',\n distractionFreeMode: false \n })\n gitalk.render('gitalk-container')\n }\n}\n\nexport default ({Vue, options, router, siteData}) => {\n try {\n document && integrateGitalk(router)\n } catch (e) {\n console.error(e.message)\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/4bb5c9d7cb5401790517fc3142dce405.json b/node_modules/vuepress/node_modules/.cache/vuepress/4bb5c9d7cb5401790517fc3142dce405.json new file mode 100644 index 00000000..2109aef1 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/4bb5c9d7cb5401790517fc3142dce405.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue?vue&type=template&id=18ca159a&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div\n class=\"sidebar-group\"\n :class=\"{ first, collapsable }\"\n>\n <p\n class=\"sidebar-heading\"\n :class=\"{ open }\"\n @click=\"$emit('toggle')\"\n >\n <span>{{ item.title }}</span>\n <span\n class=\"arrow\"\n v-if=\"collapsable\"\n :class=\"open ? 'down' : 'right'\">\n </span>\n </p>\n\n <DropdownTransition>\n <ul\n ref=\"items\"\n class=\"sidebar-group-items\"\n v-if=\"open || !collapsable\"\n >\n <li v-for=\"child in item.children\">\n <SidebarLink :item=\"child\"/>\n </li>\n </ul>\n </DropdownTransition>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/4bc15fdbc9e56440d735d7ab1bf58299.json b/node_modules/vuepress/node_modules/.cache/vuepress/4bc15fdbc9e56440d735d7ab1bf58299.json new file mode 100644 index 00000000..16a82fbb --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/4bc15fdbc9e56440d735d7ab1bf58299.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./SidebarGroup.vue?vue&type=template&id=0ec87fea&\"\nimport script from \"./SidebarGroup.vue?vue&type=script&lang=js&\"\nexport * from \"./SidebarGroup.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SidebarGroup.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"SidebarGroup.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/4bcb27b51d2f6ea13fdb363ab658b0f8.json b/node_modules/vuepress/node_modules/.cache/vuepress/4bcb27b51d2f6ea13fdb363ab658b0f8.json new file mode 100644 index 00000000..96306853 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/4bcb27b51d2f6ea13fdb363ab658b0f8.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.nav-links\n display inline-block\n a\n line-height 1.4rem\n color inherit\n &:hover, &.router-link-active\n color $accentColor\n .nav-item\n position relative\n display inline-block\n margin-left 1.5rem\n line-height 2rem\n &:first-child\n margin-left 0\n .repo-link\n margin-left 1.5rem\n\n@media (max-width: $MQMobile)\n .nav-links\n .nav-item, .repo-link\n margin-left 0\n\n@media (min-width: $MQMobile)\n .nav-links a\n &:hover, &.router-link-active\n color $textColor\n .nav-item > a:not(.external)\n &:hover, &.router-link-active\n margin-bottom -2px\n border-bottom 2px solid lighten($accentColor, 8%)\n",{"version":3,"sources":["NavLinks.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsHA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"NavLinks.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <nav\n class=\"nav-links\"\n v-if=\"userLinks.length || repoLink\"\n >\n <!-- user links -->\n <div\n class=\"nav-item\"\n v-for=\"item in userLinks\"\n :key=\"item.link\"\n >\n <DropdownLink\n v-if=\"item.type === 'links'\"\n :item=\"item\"\n />\n <NavLink\n v-else\n :item=\"item\"\n />\n </div>\n\n <!-- repo link -->\n <a\n v-if=\"repoLink\"\n :href=\"repoLink\"\n class=\"repo-link\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {{ repoLabel }}\n <OutboundLink/>\n </a>\n </nav>\n</template>\n\n<script>\nimport DropdownLink from './DropdownLink.vue'\nimport { resolveNavLinkItem } from './util'\nimport NavLink from './NavLink.vue'\n\nexport default {\n components: { NavLink, DropdownLink },\n\n computed: {\n userNav () {\n return this.$themeLocaleConfig.nav || this.$site.themeConfig.nav || []\n },\n\n nav () {\n const { locales } = this.$site\n if (locales && Object.keys(locales).length > 1) {\n const currentLink = this.$page.path\n const routes = this.$router.options.routes\n const themeLocales = this.$site.themeConfig.locales || {}\n const languageDropdown = {\n text: this.$themeLocaleConfig.selectText || 'Languages',\n items: Object.keys(locales).map(path => {\n const locale = locales[path]\n const text = themeLocales[path] && themeLocales[path].label || locale.lang\n let link\n // Stay on the current page\n if (locale.lang === this.$lang) {\n link = currentLink\n } else {\n // Try to stay on the same page\n link = currentLink.replace(this.$localeConfig.path, path)\n // fallback to homepage\n if (!routes.some(route => route.path === link)) {\n link = path\n }\n }\n return { text, link }\n })\n }\n return [...this.userNav, languageDropdown]\n }\n return this.userNav\n },\n\n userLinks () {\n return (this.nav || []).map(link => {\n return Object.assign(resolveNavLinkItem(link), {\n items: (link.items || []).map(resolveNavLinkItem)\n })\n })\n },\n\n repoLink () {\n const { repo } = this.$site.themeConfig\n if (repo) {\n return /^https?:/.test(repo)\n ? repo\n : `https://github.com/${repo}`\n }\n },\n\n repoLabel () {\n if (!this.repoLink) return\n if (this.$site.themeConfig.repoLabel) {\n return this.$site.themeConfig.repoLabel\n }\n\n const repoHost = this.repoLink.match(/^https?:\\/\\/[^/]+/)[0]\n const platforms = ['GitHub', 'GitLab', 'Bitbucket']\n for (let i = 0; i < platforms.length; i++) {\n const platform = platforms[i]\n if (new RegExp(platform, 'i').test(repoHost)) {\n return platform\n }\n }\n\n return 'Source'\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.nav-links\n display inline-block\n a\n line-height 1.4rem\n color inherit\n &:hover, &.router-link-active\n color $accentColor\n .nav-item\n position relative\n display inline-block\n margin-left 1.5rem\n line-height 2rem\n &:first-child\n margin-left 0\n .repo-link\n margin-left 1.5rem\n\n@media (max-width: $MQMobile)\n .nav-links\n .nav-item, .repo-link\n margin-left 0\n\n@media (min-width: $MQMobile)\n .nav-links a\n &:hover, &.router-link-active\n color $textColor\n .nav-item > a:not(.external)\n &:hover, &.router-link-active\n margin-bottom -2px\n border-bottom 2px solid lighten($accentColor, 8%)\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/4bf8675bed9978b6176ad2a41c701ccb.json b/node_modules/vuepress/node_modules/.cache/vuepress/4bf8675bed9978b6176ad2a41c701ccb.json new file mode 100644 index 00000000..9fc790cb --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/4bf8675bed9978b6176ad2a41c701ccb.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/.temp/routes.js","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/.temp/routes.js","mtime":1541598695621},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import Vue from 'vue';\nimport ThemeLayout from '@themeLayout';\nimport ThemeNotFound from '@themeNotFound';\nimport { injectMixins } from '@app/util';\nimport rootMixins from '@app/root-mixins';\ninjectMixins(ThemeLayout, rootMixins);\ninjectMixins(ThemeNotFound, rootMixins);\nexport var routes = [{\n name: \"v-ddf4be195b958\",\n path: \"/\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/xmake-docs/src/README.md\").then(function (comp) {\n Vue.component(\"v-ddf4be195b958\", comp.default);\n next();\n });\n }\n}, {\n path: \"/index.html\",\n redirect: \"/\"\n}, {\n name: \"v-8644851cf91dd\",\n path: \"/api/introduction.html\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/xmake-docs/src/api/introduction.md\").then(function (comp) {\n Vue.component(\"v-8644851cf91dd\", comp.default);\n next();\n });\n }\n}, {\n name: \"v-b6ee77db64501\",\n path: \"/guide/faq.html\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/xmake-docs/src/guide/faq.md\").then(function (comp) {\n Vue.component(\"v-b6ee77db64501\", comp.default);\n next();\n });\n }\n}, {\n name: \"v-fcba2a8896d43\",\n path: \"/guide/getting-started.html\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/xmake-docs/src/guide/getting-started.md\").then(function (comp) {\n Vue.component(\"v-fcba2a8896d43\", comp.default);\n next();\n });\n }\n}, {\n name: \"v-cda17500cdb0c\",\n path: \"/guide/introduction.html\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/xmake-docs/src/guide/introduction.md\").then(function (comp) {\n Vue.component(\"v-cda17500cdb0c\", comp.default);\n next();\n });\n }\n}, {\n name: \"v-745d22bfe3ef4\",\n path: \"/guide/sponsors.html\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/xmake-docs/src/guide/sponsors.md\").then(function (comp) {\n Vue.component(\"v-745d22bfe3ef4\", comp.default);\n next();\n });\n }\n}, {\n name: \"v-360e42fea8e33\",\n path: \"/plugin/introduction.html\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/xmake-docs/src/plugin/introduction.md\").then(function (comp) {\n Vue.component(\"v-360e42fea8e33\", comp.default);\n next();\n });\n }\n}, {\n name: \"v-1856b116362c7\",\n path: \"/zh/\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/xmake-docs/src/zh/README.md\").then(function (comp) {\n Vue.component(\"v-1856b116362c7\", comp.default);\n next();\n });\n }\n}, {\n path: \"/zh/index.html\",\n redirect: \"/zh/\"\n}, {\n name: \"v-6812df0250aa3\",\n path: \"/zh/api/introduction.html\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/xmake-docs/src/zh/api/introduction.md\").then(function (comp) {\n Vue.component(\"v-6812df0250aa3\", comp.default);\n next();\n });\n }\n}, {\n name: \"v-d3636509f8935\",\n path: \"/zh/guide/faq.html\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/xmake-docs/src/zh/guide/faq.md\").then(function (comp) {\n Vue.component(\"v-d3636509f8935\", comp.default);\n next();\n });\n }\n}, {\n name: \"v-53a48e3593d7c\",\n path: \"/zh/guide/getting-started.html\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/xmake-docs/src/zh/guide/getting-started.md\").then(function (comp) {\n Vue.component(\"v-53a48e3593d7c\", comp.default);\n next();\n });\n }\n}, {\n name: \"v-cd45bc6f8fdb\",\n path: \"/zh/guide/introduction.html\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/xmake-docs/src/zh/guide/introduction.md\").then(function (comp) {\n Vue.component(\"v-cd45bc6f8fdb\", comp.default);\n next();\n });\n }\n}, {\n name: \"v-bef402580c1cc\",\n path: \"/zh/guide/sponsors.html\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/xmake-docs/src/zh/guide/sponsors.md\").then(function (comp) {\n Vue.component(\"v-bef402580c1cc\", comp.default);\n next();\n });\n }\n}, {\n name: \"v-faf113f1b77ae\",\n path: \"/zh/plugin/introduction.html\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/xmake-docs/src/zh/plugin/introduction.md\").then(function (comp) {\n Vue.component(\"v-faf113f1b77ae\", comp.default);\n next();\n });\n }\n}, {\n path: '*',\n component: ThemeNotFound\n}];",{"version":3,"sources":["node_modules/vuepress/lib/app/.temp/routes.js"],"names":["Vue","ThemeLayout","ThemeNotFound","injectMixins","rootMixins","routes","name","path","component","beforeEnter","to","from","next","then","comp","default","redirect"],"mappings":"AAAA,OAAOA,GAAP,MAAgB,KAAhB;AAEA,OAAOC,WAAP,MAAwB,cAAxB;AACA,OAAOC,aAAP,MAA0B,gBAA1B;AACA,SAASC,YAAT,QAA6B,WAA7B;AACA,OAAOC,UAAP,MAAuB,kBAAvB;AAEAD,aAAaF,WAAb,EAA0BG,UAA1B;AACAD,aAAaD,aAAb,EAA4BE,UAA5B;AAEA,OAAO,IAAMC,SAAS,CACpB;AACEC,QAAM,iBADR;AAEEC,QAAM,GAFR;AAGEC,aAAWP,WAHb;AAIEQ,eAAa,qBAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AAC/B,WAAO,wDAAP,EAAiEC,IAAjE,CAAsE,gBAAQ;AAC5Eb,UAAIQ,SAAJ,CAAc,iBAAd,EAAiCM,KAAKC,OAAtC;AACAH;AACD,KAHD;AAID;AATH,CADoB,EAYpB;AACEL,QAAM,aADR;AAEES,YAAU;AAFZ,CAZoB,EAgBpB;AACEV,QAAM,iBADR;AAEEC,QAAM,wBAFR;AAGEC,aAAWP,WAHb;AAIEQ,eAAa,qBAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AAC/B,WAAO,kEAAP,EAA2EC,IAA3E,CAAgF,gBAAQ;AACtFb,UAAIQ,SAAJ,CAAc,iBAAd,EAAiCM,KAAKC,OAAtC;AACAH;AACD,KAHD;AAID;AATH,CAhBoB,EA2BpB;AACEN,QAAM,iBADR;AAEEC,QAAM,iBAFR;AAGEC,aAAWP,WAHb;AAIEQ,eAAa,qBAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AAC/B,WAAO,2DAAP,EAAoEC,IAApE,CAAyE,gBAAQ;AAC/Eb,UAAIQ,SAAJ,CAAc,iBAAd,EAAiCM,KAAKC,OAAtC;AACAH;AACD,KAHD;AAID;AATH,CA3BoB,EAsCpB;AACEN,QAAM,iBADR;AAEEC,QAAM,6BAFR;AAGEC,aAAWP,WAHb;AAIEQ,eAAa,qBAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AAC/B,WAAO,uEAAP,EAAgFC,IAAhF,CAAqF,gBAAQ;AAC3Fb,UAAIQ,SAAJ,CAAc,iBAAd,EAAiCM,KAAKC,OAAtC;AACAH;AACD,KAHD;AAID;AATH,CAtCoB,EAiDpB;AACEN,QAAM,iBADR;AAEEC,QAAM,0BAFR;AAGEC,aAAWP,WAHb;AAIEQ,eAAa,qBAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AAC/B,WAAO,oEAAP,EAA6EC,IAA7E,CAAkF,gBAAQ;AACxFb,UAAIQ,SAAJ,CAAc,iBAAd,EAAiCM,KAAKC,OAAtC;AACAH;AACD,KAHD;AAID;AATH,CAjDoB,EA4DpB;AACEN,QAAM,iBADR;AAEEC,QAAM,sBAFR;AAGEC,aAAWP,WAHb;AAIEQ,eAAa,qBAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AAC/B,WAAO,gEAAP,EAAyEC,IAAzE,CAA8E,gBAAQ;AACpFb,UAAIQ,SAAJ,CAAc,iBAAd,EAAiCM,KAAKC,OAAtC;AACAH;AACD,KAHD;AAID;AATH,CA5DoB,EAuEpB;AACEN,QAAM,iBADR;AAEEC,QAAM,2BAFR;AAGEC,aAAWP,WAHb;AAIEQ,eAAa,qBAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AAC/B,WAAO,qEAAP,EAA8EC,IAA9E,CAAmF,gBAAQ;AACzFb,UAAIQ,SAAJ,CAAc,iBAAd,EAAiCM,KAAKC,OAAtC;AACAH;AACD,KAHD;AAID;AATH,CAvEoB,EAkFpB;AACEN,QAAM,iBADR;AAEEC,QAAM,MAFR;AAGEC,aAAWP,WAHb;AAIEQ,eAAa,qBAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AAC/B,WAAO,2DAAP,EAAoEC,IAApE,CAAyE,gBAAQ;AAC/Eb,UAAIQ,SAAJ,CAAc,iBAAd,EAAiCM,KAAKC,OAAtC;AACAH;AACD,KAHD;AAID;AATH,CAlFoB,EA6FpB;AACEL,QAAM,gBADR;AAEES,YAAU;AAFZ,CA7FoB,EAiGpB;AACEV,QAAM,iBADR;AAEEC,QAAM,2BAFR;AAGEC,aAAWP,WAHb;AAIEQ,eAAa,qBAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AAC/B,WAAO,qEAAP,EAA8EC,IAA9E,CAAmF,gBAAQ;AACzFb,UAAIQ,SAAJ,CAAc,iBAAd,EAAiCM,KAAKC,OAAtC;AACAH;AACD,KAHD;AAID;AATH,CAjGoB,EA4GpB;AACEN,QAAM,iBADR;AAEEC,QAAM,oBAFR;AAGEC,aAAWP,WAHb;AAIEQ,eAAa,qBAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AAC/B,WAAO,8DAAP,EAAuEC,IAAvE,CAA4E,gBAAQ;AAClFb,UAAIQ,SAAJ,CAAc,iBAAd,EAAiCM,KAAKC,OAAtC;AACAH;AACD,KAHD;AAID;AATH,CA5GoB,EAuHpB;AACEN,QAAM,iBADR;AAEEC,QAAM,gCAFR;AAGEC,aAAWP,WAHb;AAIEQ,eAAa,qBAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AAC/B,WAAO,0EAAP,EAAmFC,IAAnF,CAAwF,gBAAQ;AAC9Fb,UAAIQ,SAAJ,CAAc,iBAAd,EAAiCM,KAAKC,OAAtC;AACAH;AACD,KAHD;AAID;AATH,CAvHoB,EAkIpB;AACEN,QAAM,gBADR;AAEEC,QAAM,6BAFR;AAGEC,aAAWP,WAHb;AAIEQ,eAAa,qBAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AAC/B,WAAO,uEAAP,EAAgFC,IAAhF,CAAqF,gBAAQ;AAC3Fb,UAAIQ,SAAJ,CAAc,gBAAd,EAAgCM,KAAKC,OAArC;AACAH;AACD,KAHD;AAID;AATH,CAlIoB,EA6IpB;AACEN,QAAM,iBADR;AAEEC,QAAM,yBAFR;AAGEC,aAAWP,WAHb;AAIEQ,eAAa,qBAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AAC/B,WAAO,mEAAP,EAA4EC,IAA5E,CAAiF,gBAAQ;AACvFb,UAAIQ,SAAJ,CAAc,iBAAd,EAAiCM,KAAKC,OAAtC;AACAH;AACD,KAHD;AAID;AATH,CA7IoB,EAwJpB;AACEN,QAAM,iBADR;AAEEC,QAAM,8BAFR;AAGEC,aAAWP,WAHb;AAIEQ,eAAa,qBAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AAC/B,WAAO,wEAAP,EAAiFC,IAAjF,CAAsF,gBAAQ;AAC5Fb,UAAIQ,SAAJ,CAAc,iBAAd,EAAiCM,KAAKC,OAAtC;AACAH;AACD,KAHD;AAID;AATH,CAxJoB,EAmKpB;AACEL,QAAM,GADR;AAEEC,aAAWN;AAFb,CAnKoB,CAAf","sourceRoot":"/Users/ruki/projects/personal/xmake-docs","sourcesContent":["import Vue from 'vue'\n\nimport ThemeLayout from '@themeLayout'\nimport ThemeNotFound from '@themeNotFound'\nimport { injectMixins } from '@app/util'\nimport rootMixins from '@app/root-mixins'\n\ninjectMixins(ThemeLayout, rootMixins)\ninjectMixins(ThemeNotFound, rootMixins)\n\nexport const routes = [\n {\n name: \"v-ddf4be195b958\",\n path: \"/\",\n component: ThemeLayout,\n beforeEnter: (to, from, next) => {\n import(\"/Users/ruki/projects/personal/xmake-docs/src/README.md\").then(comp => {\n Vue.component(\"v-ddf4be195b958\", comp.default)\n next()\n })\n }\n },\n {\n path: \"/index.html\",\n redirect: \"/\"\n },\n {\n name: \"v-8644851cf91dd\",\n path: \"/api/introduction.html\",\n component: ThemeLayout,\n beforeEnter: (to, from, next) => {\n import(\"/Users/ruki/projects/personal/xmake-docs/src/api/introduction.md\").then(comp => {\n Vue.component(\"v-8644851cf91dd\", comp.default)\n next()\n })\n }\n },\n {\n name: \"v-b6ee77db64501\",\n path: \"/guide/faq.html\",\n component: ThemeLayout,\n beforeEnter: (to, from, next) => {\n import(\"/Users/ruki/projects/personal/xmake-docs/src/guide/faq.md\").then(comp => {\n Vue.component(\"v-b6ee77db64501\", comp.default)\n next()\n })\n }\n },\n {\n name: \"v-fcba2a8896d43\",\n path: \"/guide/getting-started.html\",\n component: ThemeLayout,\n beforeEnter: (to, from, next) => {\n import(\"/Users/ruki/projects/personal/xmake-docs/src/guide/getting-started.md\").then(comp => {\n Vue.component(\"v-fcba2a8896d43\", comp.default)\n next()\n })\n }\n },\n {\n name: \"v-cda17500cdb0c\",\n path: \"/guide/introduction.html\",\n component: ThemeLayout,\n beforeEnter: (to, from, next) => {\n import(\"/Users/ruki/projects/personal/xmake-docs/src/guide/introduction.md\").then(comp => {\n Vue.component(\"v-cda17500cdb0c\", comp.default)\n next()\n })\n }\n },\n {\n name: \"v-745d22bfe3ef4\",\n path: \"/guide/sponsors.html\",\n component: ThemeLayout,\n beforeEnter: (to, from, next) => {\n import(\"/Users/ruki/projects/personal/xmake-docs/src/guide/sponsors.md\").then(comp => {\n Vue.component(\"v-745d22bfe3ef4\", comp.default)\n next()\n })\n }\n },\n {\n name: \"v-360e42fea8e33\",\n path: \"/plugin/introduction.html\",\n component: ThemeLayout,\n beforeEnter: (to, from, next) => {\n import(\"/Users/ruki/projects/personal/xmake-docs/src/plugin/introduction.md\").then(comp => {\n Vue.component(\"v-360e42fea8e33\", comp.default)\n next()\n })\n }\n },\n {\n name: \"v-1856b116362c7\",\n path: \"/zh/\",\n component: ThemeLayout,\n beforeEnter: (to, from, next) => {\n import(\"/Users/ruki/projects/personal/xmake-docs/src/zh/README.md\").then(comp => {\n Vue.component(\"v-1856b116362c7\", comp.default)\n next()\n })\n }\n },\n {\n path: \"/zh/index.html\",\n redirect: \"/zh/\"\n },\n {\n name: \"v-6812df0250aa3\",\n path: \"/zh/api/introduction.html\",\n component: ThemeLayout,\n beforeEnter: (to, from, next) => {\n import(\"/Users/ruki/projects/personal/xmake-docs/src/zh/api/introduction.md\").then(comp => {\n Vue.component(\"v-6812df0250aa3\", comp.default)\n next()\n })\n }\n },\n {\n name: \"v-d3636509f8935\",\n path: \"/zh/guide/faq.html\",\n component: ThemeLayout,\n beforeEnter: (to, from, next) => {\n import(\"/Users/ruki/projects/personal/xmake-docs/src/zh/guide/faq.md\").then(comp => {\n Vue.component(\"v-d3636509f8935\", comp.default)\n next()\n })\n }\n },\n {\n name: \"v-53a48e3593d7c\",\n path: \"/zh/guide/getting-started.html\",\n component: ThemeLayout,\n beforeEnter: (to, from, next) => {\n import(\"/Users/ruki/projects/personal/xmake-docs/src/zh/guide/getting-started.md\").then(comp => {\n Vue.component(\"v-53a48e3593d7c\", comp.default)\n next()\n })\n }\n },\n {\n name: \"v-cd45bc6f8fdb\",\n path: \"/zh/guide/introduction.html\",\n component: ThemeLayout,\n beforeEnter: (to, from, next) => {\n import(\"/Users/ruki/projects/personal/xmake-docs/src/zh/guide/introduction.md\").then(comp => {\n Vue.component(\"v-cd45bc6f8fdb\", comp.default)\n next()\n })\n }\n },\n {\n name: \"v-bef402580c1cc\",\n path: \"/zh/guide/sponsors.html\",\n component: ThemeLayout,\n beforeEnter: (to, from, next) => {\n import(\"/Users/ruki/projects/personal/xmake-docs/src/zh/guide/sponsors.md\").then(comp => {\n Vue.component(\"v-bef402580c1cc\", comp.default)\n next()\n })\n }\n },\n {\n name: \"v-faf113f1b77ae\",\n path: \"/zh/plugin/introduction.html\",\n component: ThemeLayout,\n beforeEnter: (to, from, next) => {\n import(\"/Users/ruki/projects/personal/xmake-docs/src/zh/plugin/introduction.md\").then(comp => {\n Vue.component(\"v-faf113f1b77ae\", comp.default)\n next()\n })\n }\n },\n {\n path: '*',\n component: ThemeNotFound\n }\n]"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/4c448eefbf8258323e536e6479416926.json b/node_modules/vuepress/node_modules/.cache/vuepress/4c448eefbf8258323e536e6479416926.json new file mode 100644 index 00000000..6401e040 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/4c448eefbf8258323e536e6479416926.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/README.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/README.md","mtime":1541513043653},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./README.md?vue&type=template&id=48a1fb61&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"README.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/4d35f7b7f06e929be2af7323fe795ff9.json b/node_modules/vuepress/node_modules/.cache/vuepress/4d35f7b7f06e929be2af7323fe795ff9.json new file mode 100644 index 00000000..2e14e0dc --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/4d35f7b7f06e929be2af7323fe795ff9.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./SidebarButton.vue?vue&type=template&id=67f2a5b2&\"\nvar script = {}\nimport style0 from \"./SidebarButton.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('67f2a5b2', component.options)\n } else {\n api.reload('67f2a5b2', component.options)\n }\n module.hot.accept(\"./SidebarButton.vue?vue&type=template&id=67f2a5b2&\", function () {\n api.rerender('67f2a5b2', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/default-theme/SidebarButton.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/4e4cf13bace327aac1e9fdf45dab2e94.json b/node_modules/vuepress/node_modules/.cache/vuepress/4e4cf13bace327aac1e9fdf45dab2e94.json new file mode 100644 index 00000000..c57e2bcb --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/4e4cf13bace327aac1e9fdf45dab2e94.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/manual/index.md?vue&type=template&id=1750b30a&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/manual/index.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm._m(0)\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _c(\"h1\", { attrs: { id: \"manual\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#manual\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Manual\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"[TODO]\")])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/4e59a2a77ed9e38accb703356d90b3c0.json b/node_modules/vuepress/node_modules/.cache/vuepress/4e59a2a77ed9e38accb703356d90b3c0.json new file mode 100644 index 00000000..a616bca8 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/4e59a2a77ed9e38accb703356d90b3c0.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NavLink.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NavLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport { isExternal, isMailto, isTel, ensureExt } from './util'\n\nexport default {\n props: {\n item: {\n required: true\n }\n },\n\n computed: {\n link () {\n return ensureExt(this.item.link)\n },\n\n exact () {\n if (this.$site.locales) {\n return Object.keys(this.$site.locales).some(rootLink => rootLink === this.link)\n }\n return this.link === '/'\n }\n },\n\n methods: {\n isExternal,\n isMailto,\n isTel\n }\n}\n",{"version":3,"sources":["NavLink.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAoBA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA","file":"NavLink.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <router-link\n class=\"nav-link\"\n :to=\"link\"\n v-if=\"!isExternal(link)\"\n :exact=\"exact\"\n >{{ item.text }}</router-link>\n <a\n v-else\n :href=\"link\"\n class=\"nav-link external\"\n :target=\"isMailto(link) || isTel(link) ? null : '_blank'\"\n :rel=\"isMailto(link) || isTel(link) ? null : 'noopener noreferrer'\"\n >\n {{ item.text }}\n <OutboundLink/>\n </a>\n</template>\n\n<script>\nimport { isExternal, isMailto, isTel, ensureExt } from './util'\n\nexport default {\n props: {\n item: {\n required: true\n }\n },\n\n computed: {\n link () {\n return ensureExt(this.item.link)\n },\n\n exact () {\n if (this.$site.locales) {\n return Object.keys(this.$site.locales).some(rootLink => rootLink === this.link)\n }\n return this.link === '/'\n }\n },\n\n methods: {\n isExternal,\n isMailto,\n isTel\n }\n}\n</script>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/4e6d86260721fab261ebff1bd144b5b6.json b/node_modules/vuepress/node_modules/.cache/vuepress/4e6d86260721fab261ebff1bd144b5b6.json new file mode 100644 index 00000000..2b6a2bd5 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/4e6d86260721fab261ebff1bd144b5b6.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.home\n padding $navbarHeight 2rem 0\n max-width 960px\n margin 0px auto\n .hero\n text-align center\n img\n max-height 280px\n display block\n margin 3rem auto 1.5rem\n h1\n font-size 3rem\n h1, .description, .action\n margin 1.8rem auto\n .description\n max-width 35rem\n font-size 1.6rem\n line-height 1.3\n color lighten($textColor, 40%)\n .action-button\n display inline-block\n font-size 1.2rem\n color #fff\n background-color $accentColor\n padding 0.8rem 1.6rem\n border-radius 4px\n transition background-color .1s ease\n box-sizing border-box\n border-bottom 1px solid darken($accentColor, 10%)\n &:hover\n background-color lighten($accentColor, 10%)\n .features\n border-top 1px solid $borderColor\n padding 1.2rem 0\n margin-top 2.5rem\n display flex\n flex-wrap wrap\n align-items flex-start\n align-content stretch\n justify-content space-between\n .feature\n flex-grow 1\n flex-basis 30%\n max-width 30%\n h2\n font-size 1.4rem\n font-weight 500\n border-bottom none\n padding-bottom 0\n color lighten($textColor, 10%)\n p\n color lighten($textColor, 25%)\n .footer\n padding 2.5rem\n border-top 1px solid $borderColor\n text-align center\n color lighten($textColor, 25%)\n\n@media (max-width: $MQMobile)\n .home\n .features\n flex-direction column\n .feature\n max-width 100%\n padding 0 2.5rem\n\n@media (max-width: $MQMobileNarrow)\n .home\n padding-left 1.5rem\n padding-right 1.5rem\n .hero\n img\n max-height 210px\n margin 2rem auto 1.2rem\n h1\n font-size 2rem\n h1, .description, .action\n margin 1.2rem auto\n .description\n font-size 1.2rem\n .action-button\n font-size 1rem\n padding 0.6rem 1.2rem\n .feature\n h2\n font-size 1.25rem\n",{"version":3,"sources":["Home.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"Home.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <div class=\"home\">\n <div class=\"hero\">\n <img\n v-if=\"data.heroImage\"\n :src=\"$withBase(data.heroImage)\"\n alt=\"hero\"\n >\n\n <h1>{{ data.heroText || $title || 'Hello' }}</h1>\n\n <p class=\"description\">\n {{ data.tagline || $description || 'Welcome to your VuePress site' }}\n </p>\n\n <p\n class=\"action\"\n v-if=\"data.actionText && data.actionLink\"\n >\n <NavLink\n class=\"action-button\"\n :item=\"actionLink\"\n />\n </p>\n </div>\n\n <div\n class=\"features\"\n v-if=\"data.features && data.features.length\"\n >\n <div\n class=\"feature\"\n v-for=\"(feature, index) in data.features\"\n :key=\"index\"\n >\n <h2>{{ feature.title }}</h2>\n <p>{{ feature.details }}</p>\n </div>\n </div>\n\n <Content custom/>\n\n <div\n class=\"footer\"\n v-if=\"data.footer\"\n >\n {{ data.footer }}\n </div>\n </div>\n</template>\n\n<script>\nimport NavLink from './NavLink.vue'\n\nexport default {\n components: { NavLink },\n\n computed: {\n data () {\n return this.$page.frontmatter\n },\n\n actionLink () {\n return {\n link: this.data.actionLink,\n text: this.data.actionText\n }\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.home\n padding $navbarHeight 2rem 0\n max-width 960px\n margin 0px auto\n .hero\n text-align center\n img\n max-height 280px\n display block\n margin 3rem auto 1.5rem\n h1\n font-size 3rem\n h1, .description, .action\n margin 1.8rem auto\n .description\n max-width 35rem\n font-size 1.6rem\n line-height 1.3\n color lighten($textColor, 40%)\n .action-button\n display inline-block\n font-size 1.2rem\n color #fff\n background-color $accentColor\n padding 0.8rem 1.6rem\n border-radius 4px\n transition background-color .1s ease\n box-sizing border-box\n border-bottom 1px solid darken($accentColor, 10%)\n &:hover\n background-color lighten($accentColor, 10%)\n .features\n border-top 1px solid $borderColor\n padding 1.2rem 0\n margin-top 2.5rem\n display flex\n flex-wrap wrap\n align-items flex-start\n align-content stretch\n justify-content space-between\n .feature\n flex-grow 1\n flex-basis 30%\n max-width 30%\n h2\n font-size 1.4rem\n font-weight 500\n border-bottom none\n padding-bottom 0\n color lighten($textColor, 10%)\n p\n color lighten($textColor, 25%)\n .footer\n padding 2.5rem\n border-top 1px solid $borderColor\n text-align center\n color lighten($textColor, 25%)\n\n@media (max-width: $MQMobile)\n .home\n .features\n flex-direction column\n .feature\n max-width 100%\n padding 0 2.5rem\n\n@media (max-width: $MQMobileNarrow)\n .home\n padding-left 1.5rem\n padding-right 1.5rem\n .hero\n img\n max-height 210px\n margin 2rem auto 1.2rem\n h1\n font-size 2rem\n h1, .description, .action\n margin 1.2rem auto\n .description\n font-size 1.2rem\n .action-button\n font-size 1rem\n padding 0.6rem 1.2rem\n .feature\n h2\n font-size 1.25rem\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/4f7fad8d71acb8fe82da03093f52e666.json b/node_modules/vuepress/node_modules/.cache/vuepress/4f7fad8d71acb8fe82da03093f52e666.json new file mode 100644 index 00000000..e83c0600 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/4f7fad8d71acb8fe82da03093f52e666.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/getting-started.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/getting-started.md","mtime":1541488106036},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./getting-started.md?vue&type=template&id=09de92a0&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n \"451f9d60\"\n \n)\n\ncomponent.options.__file = \"getting-started.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/4fa4d8535441c3e2a785a24bdb2e62db.json b/node_modules/vuepress/node_modules/.cache/vuepress/4fa4d8535441c3e2a785a24bdb2e62db.json new file mode 100644 index 00000000..de05cd87 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/4fa4d8535441c3e2a785a24bdb2e62db.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.sidebar .sidebar-sub-headers\n padding-left 1rem\n font-size 0.95em\n\na.sidebar-link\n font-weight 400\n display inline-block\n color $textColor\n border-left 0.25rem solid transparent\n padding 0.35rem 1rem 0.35rem 1.25rem\n line-height 1.4\n width: 100%\n box-sizing: border-box\n &:hover\n color $accentColor\n &.active\n font-weight 600\n color $accentColor\n border-left-color $accentColor\n .sidebar-group &\n padding-left 2rem\n .sidebar-sub-headers &\n padding-top 0.25rem\n padding-bottom 0.25rem\n border-left none\n &.active\n font-weight 500\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/4fbf58ba72bfa49a4b2a945001f10af2.json b/node_modules/vuepress/node_modules/.cache/vuepress/4fbf58ba72bfa49a4b2a945001f10af2.json new file mode 100644 index 00000000..1e244304 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/4fbf58ba72bfa49a4b2a945001f10af2.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import \"core-js/modules/es6.object.assign\";\nimport \"core-js/modules/es6.array.index-of\";\nimport \"core-js/modules/es6.string.trim\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nexport default {\n data: function data() {\n return {\n query: '',\n focused: false,\n focusIndex: 0\n };\n },\n computed: {\n showSuggestions: function showSuggestions() {\n return this.focused && this.suggestions && this.suggestions.length;\n },\n suggestions: function suggestions() {\n var query = this.query.trim().toLowerCase();\n\n if (!query) {\n return;\n }\n\n var _this$$site = this.$site,\n pages = _this$$site.pages,\n themeConfig = _this$$site.themeConfig;\n var max = themeConfig.searchMaxSuggestions || 5;\n var localePath = this.$localePath;\n\n var matches = function matches(item) {\n return item.title && item.title.toLowerCase().indexOf(query) > -1;\n };\n\n var res = [];\n\n for (var i = 0; i < pages.length; i++) {\n if (res.length >= max) break;\n var p = pages[i]; // filter out results that do not match current locale\n\n if (this.getPageLocalePath(p) !== localePath) {\n continue;\n }\n\n if (matches(p)) {\n res.push(p);\n } else if (p.headers) {\n for (var j = 0; j < p.headers.length; j++) {\n if (res.length >= max) break;\n var h = p.headers[j];\n\n if (matches(h)) {\n res.push(Object.assign({}, p, {\n path: p.path + '#' + h.slug,\n header: h\n }));\n }\n }\n }\n }\n\n return res;\n },\n // make suggestions align right when there are not enough items\n alignRight: function alignRight() {\n var navCount = (this.$site.themeConfig.nav || []).length;\n var repo = this.$site.repo ? 1 : 0;\n return navCount + repo <= 2;\n }\n },\n methods: {\n getPageLocalePath: function getPageLocalePath(page) {\n for (var localePath in this.$site.locales || {}) {\n if (localePath !== '/' && page.path.indexOf(localePath) === 0) {\n return localePath;\n }\n }\n\n return '/';\n },\n onUp: function onUp() {\n if (this.showSuggestions) {\n if (this.focusIndex > 0) {\n this.focusIndex--;\n } else {\n this.focusIndex = this.suggestions.length - 1;\n }\n }\n },\n onDown: function onDown() {\n if (this.showSuggestions) {\n if (this.focusIndex < this.suggestions.length - 1) {\n this.focusIndex++;\n } else {\n this.focusIndex = 0;\n }\n }\n },\n go: function go(i) {\n if (!this.showSuggestions) {\n return;\n }\n\n this.$router.push(this.suggestions[i].path);\n this.query = '';\n this.focusIndex = 0;\n },\n focus: function focus(i) {\n this.focusIndex = i;\n },\n unfocus: function unfocus() {\n this.focusIndex = -1;\n }\n }\n};",{"version":3,"sources":["SearchBox.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,eAAA;AACA,MADA,kBACA;AACA,WAAA;AACA,aAAA,EADA;AAEA,eAAA,KAFA;AAGA,kBAAA;AAHA,KAAA;AAKA,GAPA;AASA,YAAA;AACA,mBADA,6BACA;AACA,aACA,KAAA,OAAA,IACA,KAAA,WADA,IAEA,KAAA,WAAA,CAAA,MAHA;AAKA,KAPA;AASA,eATA,yBASA;AACA,UAAA,QAAA,KAAA,KAAA,CAAA,IAAA,GAAA,WAAA,EAAA;;AACA,UAAA,CAAA,KAAA,EAAA;AACA;AACA;;AAJA,wBAMA,KAAA,KANA;AAAA,UAMA,KANA,eAMA,KANA;AAAA,UAMA,WANA,eAMA,WANA;AAOA,UAAA,MAAA,YAAA,oBAAA,IAAA,CAAA;AACA,UAAA,aAAA,KAAA,WAAA;;AACA,UAAA,UAAA,SAAA,OAAA;AAAA,eACA,KAAA,KAAA,IACA,KAAA,KAAA,CAAA,WAAA,GAAA,OAAA,CAAA,KAAA,IAAA,CAAA,CAFA;AAAA,OAAA;;AAIA,UAAA,MAAA,EAAA;;AACA,WAAA,IAAA,IAAA,CAAA,EAAA,IAAA,MAAA,MAAA,EAAA,GAAA,EAAA;AACA,YAAA,IAAA,MAAA,IAAA,GAAA,EAAA;AACA,YAAA,IAAA,MAAA,CAAA,CAAA,CAFA,CAGA;;AACA,YAAA,KAAA,iBAAA,CAAA,CAAA,MAAA,UAAA,EAAA;AACA;AACA;;AACA,YAAA,QAAA,CAAA,CAAA,EAAA;AACA,cAAA,IAAA,CAAA,CAAA;AACA,SAFA,MAEA,IAAA,EAAA,OAAA,EAAA;AACA,eAAA,IAAA,IAAA,CAAA,EAAA,IAAA,EAAA,OAAA,CAAA,MAAA,EAAA,GAAA,EAAA;AACA,gBAAA,IAAA,MAAA,IAAA,GAAA,EAAA;AACA,gBAAA,IAAA,EAAA,OAAA,CAAA,CAAA,CAAA;;AACA,gBAAA,QAAA,CAAA,CAAA,EAAA;AACA,kBAAA,IAAA,CAAA,OAAA,MAAA,CAAA,EAAA,EAAA,CAAA,EAAA;AACA,sBAAA,EAAA,IAAA,GAAA,GAAA,GAAA,EAAA,IADA;AAEA,wBAAA;AAFA,eAAA,CAAA;AAIA;AACA;AACA;AACA;;AACA,aAAA,GAAA;AACA,KA9CA;AAgDA;AACA,cAjDA,wBAiDA;AACA,UAAA,WAAA,CAAA,KAAA,KAAA,CAAA,WAAA,CAAA,GAAA,IAAA,EAAA,EAAA,MAAA;AACA,UAAA,OAAA,KAAA,KAAA,CAAA,IAAA,GAAA,CAAA,GAAA,CAAA;AACA,aAAA,WAAA,IAAA,IAAA,CAAA;AACA;AArDA,GATA;AAiEA,WAAA;AACA,qBADA,6BACA,IADA,EACA;AACA,WAAA,IAAA,UAAA,IAAA,KAAA,KAAA,CAAA,OAAA,IAAA,EAAA,EAAA;AACA,YAAA,eAAA,GAAA,IAAA,KAAA,IAAA,CAAA,OAAA,CAAA,UAAA,MAAA,CAAA,EAAA;AACA,iBAAA,UAAA;AACA;AACA;;AACA,aAAA,GAAA;AACA,KARA;AAUA,QAVA,kBAUA;AACA,UAAA,KAAA,eAAA,EAAA;AACA,YAAA,KAAA,UAAA,GAAA,CAAA,EAAA;AACA,eAAA,UAAA;AACA,SAFA,MAEA;AACA,eAAA,UAAA,GAAA,KAAA,WAAA,CAAA,MAAA,GAAA,CAAA;AACA;AACA;AACA,KAlBA;AAoBA,UApBA,oBAoBA;AACA,UAAA,KAAA,eAAA,EAAA;AACA,YAAA,KAAA,UAAA,GAAA,KAAA,WAAA,CAAA,MAAA,GAAA,CAAA,EAAA;AACA,eAAA,UAAA;AACA,SAFA,MAEA;AACA,eAAA,UAAA,GAAA,CAAA;AACA;AACA;AACA,KA5BA;AA8BA,MA9BA,cA8BA,CA9BA,EA8BA;AACA,UAAA,CAAA,KAAA,eAAA,EAAA;AACA;AACA;;AACA,WAAA,OAAA,CAAA,IAAA,CAAA,KAAA,WAAA,CAAA,CAAA,EAAA,IAAA;AACA,WAAA,KAAA,GAAA,EAAA;AACA,WAAA,UAAA,GAAA,CAAA;AACA,KArCA;AAuCA,SAvCA,iBAuCA,CAvCA,EAuCA;AACA,WAAA,UAAA,GAAA,CAAA;AACA,KAzCA;AA2CA,WA3CA,qBA2CA;AACA,WAAA,UAAA,GAAA,CAAA,CAAA;AACA;AA7CA;AAjEA,CAAA","sourcesContent":["<template>\n <div class=\"search-box\">\n <input\n @input=\"query = $event.target.value\"\n aria-label=\"Search\"\n :value=\"query\"\n :class=\"{ 'focused': focused }\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n @focus=\"focused = true\"\n @blur=\"focused = false\"\n @keyup.enter=\"go(focusIndex)\"\n @keyup.up=\"onUp\"\n @keyup.down=\"onDown\"\n >\n <ul\n class=\"suggestions\"\n v-if=\"showSuggestions\"\n :class=\"{ 'align-right': alignRight }\"\n @mouseleave=\"unfocus\"\n >\n <li\n class=\"suggestion\"\n v-for=\"(s, i) in suggestions\"\n :class=\"{ focused: i === focusIndex }\"\n @mousedown=\"go(i)\"\n @mouseenter=\"focus(i)\"\n >\n <a :href=\"s.path\" @click.prevent>\n <span class=\"page-title\">{{ s.title || s.path }}</span>\n <span v-if=\"s.header\" class=\"header\">> {{ s.header.title }}</span>\n </a>\n </li>\n </ul>\n </div>\n</template>\n\n<script>\nexport default {\n data () {\n return {\n query: '',\n focused: false,\n focusIndex: 0\n }\n },\n\n computed: {\n showSuggestions () {\n return (\n this.focused &&\n this.suggestions &&\n this.suggestions.length\n )\n },\n\n suggestions () {\n const query = this.query.trim().toLowerCase()\n if (!query) {\n return\n }\n\n const { pages, themeConfig } = this.$site\n const max = themeConfig.searchMaxSuggestions || 5\n const localePath = this.$localePath\n const matches = item => (\n item.title &&\n item.title.toLowerCase().indexOf(query) > -1\n )\n const res = []\n for (let i = 0; i < pages.length; i++) {\n if (res.length >= max) break\n const p = pages[i]\n // filter out results that do not match current locale\n if (this.getPageLocalePath(p) !== localePath) {\n continue\n }\n if (matches(p)) {\n res.push(p)\n } else if (p.headers) {\n for (let j = 0; j < p.headers.length; j++) {\n if (res.length >= max) break\n const h = p.headers[j]\n if (matches(h)) {\n res.push(Object.assign({}, p, {\n path: p.path + '#' + h.slug,\n header: h\n }))\n }\n }\n }\n }\n return res\n },\n\n // make suggestions align right when there are not enough items\n alignRight () {\n const navCount = (this.$site.themeConfig.nav || []).length\n const repo = this.$site.repo ? 1 : 0\n return navCount + repo <= 2\n }\n },\n\n methods: {\n getPageLocalePath (page) {\n for (const localePath in this.$site.locales || {}) {\n if (localePath !== '/' && page.path.indexOf(localePath) === 0) {\n return localePath\n }\n }\n return '/'\n },\n\n onUp () {\n if (this.showSuggestions) {\n if (this.focusIndex > 0) {\n this.focusIndex--\n } else {\n this.focusIndex = this.suggestions.length - 1\n }\n }\n },\n\n onDown () {\n if (this.showSuggestions) {\n if (this.focusIndex < this.suggestions.length - 1) {\n this.focusIndex++\n } else {\n this.focusIndex = 0\n }\n }\n },\n\n go (i) {\n if (!this.showSuggestions) {\n return\n }\n this.$router.push(this.suggestions[i].path)\n this.query = ''\n this.focusIndex = 0\n },\n\n focus (i) {\n this.focusIndex = i\n },\n\n unfocus () {\n this.focusIndex = -1\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.search-box\n display inline-block\n position relative\n margin-right 1rem\n input\n cursor text\n width 10rem\n color lighten($textColor, 25%)\n display inline-block\n border 1px solid darken($borderColor, 10%)\n border-radius 2rem\n font-size 0.9rem\n line-height 2rem\n padding 0 0.5rem 0 2rem\n outline none\n transition all .2s ease\n background #fff url(./search.svg) 0.6rem 0.5rem no-repeat\n background-size 1rem\n &:focus\n cursor auto\n border-color $accentColor\n .suggestions\n background #fff\n width 20rem\n position absolute\n top 1.5rem\n border 1px solid darken($borderColor, 10%)\n border-radius 6px\n padding 0.4rem\n list-style-type none\n &.align-right\n right 0\n .suggestion\n line-height 1.4\n padding 0.4rem 0.6rem\n border-radius 4px\n cursor pointer\n a\n white-space normal\n color lighten($textColor, 35%)\n .page-title\n font-weight 600\n .header\n font-size 0.9em\n margin-left 0.25em\n &.focused\n background-color #f3f4f5\n a\n color $accentColor\n\n@media (max-width: $MQNarrow)\n .search-box\n input\n cursor pointer\n width 0\n border-color transparent\n position relative\n &:focus\n cursor text\n left 0\n width 10rem\n\n@media (max-width: $MQNarrow) and (min-width: $MQMobile)\n .search-box\n .suggestions\n left 0\n\n@media (max-width: $MQMobile)\n .search-box\n margin-right 0\n input\n left 1rem\n .suggestions\n right 0\n\n@media (max-width: $MQMobileNarrow)\n .search-box\n .suggestions\n width calc(100vw - 4rem)\n input:focus\n width 8rem\n</style>\n"],"sourceRoot":"node_modules/vuepress/lib/default-theme"}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/50b635324e65e71c9bf5dac54235b363.json b/node_modules/vuepress/node_modules/.cache/vuepress/50b635324e65e71c9bf5dac54235b363.json new file mode 100644 index 00000000..1b321fae --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/50b635324e65e71c9bf5dac54235b363.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/guide/getting-started.md?vue&type=template&id=bbea027a&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/guide/getting-started.md","mtime":1541488106036},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"getting-started\"><a class=\"header-anchor\" href=\"#getting-started\" aria-hidden=\"true\">#</a> Getting Started</h1>\n<p>Please install xmake first: <a href=\"https://github.com/tboox/xmake\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></p>\n<!--beforebegin--><div class=\"language-console extra-class\"><!--afterbegin--><pre v-pre class=\"language-text\"><code># build for the host platform\n$ cd ./tbox\n$ xmake\n\n# build for the mingw platform\n$ cd ./tbox\n$ xmake f -p mingw --sdk=/home/mingwsdk \n$ xmake\n\n# build for the iphoneos platform\n$ cd ./tbox\n$ xmake f -p iphoneos \n$ xmake\n\n# build for the android platform\n$ cd ./tbox\n$ xmake f -p android --ndk=xxxxx\n$ xmake\n\n# build for the linux cross-platform\n$ cd ./tbox\n$ xmake f -p linux --sdk=/home/sdk # --bin=/home/sdk/bin\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"example\"><a class=\"header-anchor\" href=\"#example\" aria-hidden=\"true\">#</a> Example</h2>\n<!--beforebegin--><div class=\"language-c extra-class\"><!--afterbegin--><pre v-pre class=\"language-c\"><code><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">\"tbox/tbox.h\"</span></span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> argc<span class=\"token punctuation\">,</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span> argv<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// init tbox</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">tb_init</span><span class=\"token punctuation\">(</span>tb_null<span class=\"token punctuation\">,</span> tb_null<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"hello tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// init vector</span>\n tb_vector_ref_t vector <span class=\"token operator\">=</span> <span class=\"token function\">tb_vector_init</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">tb_element_cstr</span><span class=\"token punctuation\">(</span>tb_true<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// insert item</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// dump all items</span>\n tb_for_all <span class=\"token punctuation\">(</span>tb_char_t <span class=\"token keyword\">const</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">,</span> vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%s\"</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit vector</span>\n <span class=\"token function\">tb_vector_exit</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// init stream</span>\n tb_stream_ref_t stream <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_init_from_url</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"http://www.xxx.com/file.txt\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// open stream</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token function\">tb_stream_open</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// read line</span>\n tb_long_t size <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n tb_char_t line<span class=\"token punctuation\">[</span>TB_STREAM_BLOCK_MAXN<span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">while</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>size <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_bread_line</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">,</span> <span class=\"token keyword\">sizeof</span><span class=\"token punctuation\">(</span>line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">>=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"line: %s\"</span><span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit stream</span>\n <span class=\"token function\">tb_stream_exit</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// wait </span>\n <span class=\"token function\">getchar</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// exit tbox</span>\n <span class=\"token function\">tb_exit</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/50dcd719989806724351dce45b220798.json b/node_modules/vuepress/node_modules/.cache/vuepress/50dcd719989806724351dce45b220798.json new file mode 100644 index 00000000..8ce5acde --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/50dcd719989806724351dce45b220798.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/guide/getting-started.md?vue&type=template&id=31f01bcd&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/getting-started.md","mtime":1541554744255},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('p',[_vm._v(\"请先安装: \"),_c('a',{attrs:{\"href\":\"https://github.com/tboox/xmake\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"xmake\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_vm._m(2),_vm._m(3),_vm._v(\" \"),_vm._m(4)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h1',{attrs:{\"id\":\"快速开始\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#快速开始\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 快速开始\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',{attrs:{\"id\":\"编译\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#编译\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 编译\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"language-bash extra-class\"},[_c('pre',{pre:true,attrs:{\"class\":\"language-bash\"}},[_c('code',[_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"# 默认直接编译当前主机平台\")]),_vm._v(\"\\n$ \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"cd\")]),_vm._v(\" ./tbox\\n$ xmake\\n\\n\"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"# 编译mingw平台\")]),_vm._v(\"\\n$ \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"cd\")]),_vm._v(\" ./tbox\\n$ xmake f -p mingw --sdk\"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\"/home/mingwsdk \\n$ xmake\\n\\n\"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"# 编译iphoneos平台\")]),_vm._v(\"\\n$ \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"cd\")]),_vm._v(\" ./tbox\\n$ xmake f -p iphoneos \\n$ xmake\\n\\n\"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"# 编译android平台\")]),_vm._v(\"\\n$ \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"cd\")]),_vm._v(\" ./tbox\\n$ xmake f -p android --ndk\"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\"xxxxx\\n$ xmake\\n\\n\"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"# 交叉编译\")]),_vm._v(\"\\n$ \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"cd\")]),_vm._v(\" ./tbox\\n$ xmake f -p linux --sdk\"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\"/home/sdk \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"#--bin=/home/sdk/bin\")]),_vm._v(\"\\n$ xmake\\n\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',{attrs:{\"id\":\"例子\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#例子\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 例子\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"language-c extra-class\"},[_c('pre',{pre:true,attrs:{\"class\":\"language-c\"}},[_c('code',[_c('span',{attrs:{\"class\":\"token macro property\"}},[_vm._v(\"#\"),_c('span',{attrs:{\"class\":\"token directive keyword\"}},[_vm._v(\"include\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"tbox/tbox.h\\\"\")])]),_vm._v(\"\\n\\n\"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"int\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"main\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"int\")]),_vm._v(\" argc\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"char\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"*\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"*\")]),_vm._v(\" argv\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// init tbox\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"!\")]),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_init\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"tb_null\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" tb_null\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"return\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// trace\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_trace_i\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"hello tbox\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// init vector\")]),_vm._v(\"\\n tb_vector_ref_t vector \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_init\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_element_cstr\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"tb_true\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// insert item\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_insert_tail\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"hello\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_insert_tail\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"tbox\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// dump all items\")]),_vm._v(\"\\n tb_for_all \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"tb_char_t \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"const\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"*\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" cstr\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// trace\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_trace_i\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"%s\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" cstr\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// exit vector\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_exit\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// init stream\")]),_vm._v(\"\\n tb_stream_ref_t stream \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_stream_init_from_url\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"http://www.xxx.com/file.txt\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"stream\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// open stream\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_stream_open\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"stream\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// read line\")]),_vm._v(\"\\n tb_long_t size \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n tb_char_t line\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"[\")]),_vm._v(\"TB_STREAM_BLOCK_MAXN\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"]\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"while\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"size \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_stream_bread_line\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"stream\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" line\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"sizeof\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"line\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\">=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// trace\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_trace_i\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"line: %s\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" line\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// exit stream\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_stream_exit\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"stream\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// wait \")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"getchar\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// exit tbox\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_exit\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"return\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\")])])])}]\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/51057941b40e2c3be957ca9d6d155b59.json b/node_modules/vuepress/node_modules/.cache/vuepress/51057941b40e2c3be957ca9d6d155b59.json new file mode 100644 index 00000000..a680e720 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/51057941b40e2c3be957ca9d6d155b59.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Navbar.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Navbar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport SidebarButton from './SidebarButton.vue'\nimport AlgoliaSearchBox from '@AlgoliaSearchBox'\nimport SearchBox from './SearchBox.vue'\nimport NavLinks from './NavLinks.vue'\n\nexport default {\n components: { SidebarButton, NavLinks, SearchBox, AlgoliaSearchBox },\n\n data () {\n return {\n linksWrapMaxWidth: null\n }\n },\n\n mounted () {\n const MOBILE_DESKTOP_BREAKPOINT = 719 // refer to config.styl\n const NAVBAR_VERTICAL_PADDING = parseInt(css(this.$el, 'paddingLeft')) + parseInt(css(this.$el, 'paddingRight'))\n const handleLinksWrapWidth = () => {\n if (document.documentElement.clientWidth < MOBILE_DESKTOP_BREAKPOINT) {\n this.linksWrapMaxWidth = null\n } else {\n this.linksWrapMaxWidth = this.$el.offsetWidth - NAVBAR_VERTICAL_PADDING -\n (this.$refs.siteName && this.$refs.siteName.offsetWidth || 0)\n }\n }\n handleLinksWrapWidth()\n window.addEventListener('resize', handleLinksWrapWidth, false)\n },\n\n computed: {\n algolia () {\n return this.$themeLocaleConfig.algolia || this.$site.themeConfig.algolia || {}\n },\n\n isAlgoliaSearch () {\n return this.algolia && this.algolia.apiKey && this.algolia.indexName\n }\n }\n}\n\nfunction css (el, property) {\n // NOTE: Known bug, will return 'auto' if style value is 'auto'\n const win = el.ownerDocument.defaultView\n // null means not to return pseudo styles\n return win.getComputedStyle(el, null)[property]\n}\n",{"version":3,"sources":["Navbar.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA","file":"Navbar.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <header class=\"navbar\">\n <SidebarButton @toggle-sidebar=\"$emit('toggle-sidebar')\"/>\n\n <router-link\n :to=\"$localePath\"\n class=\"home-link\"\n >\n <img\n class=\"logo\"\n v-if=\"$site.themeConfig.logo\"\n :src=\"$withBase($site.themeConfig.logo)\"\n :alt=\"$siteTitle\"\n >\n <span\n ref=\"siteName\"\n class=\"site-name\"\n v-if=\"$siteTitle\"\n :class=\"{ 'can-hide': $site.themeConfig.logo }\"\n >{{ $siteTitle }}</span>\n </router-link>\n\n <div\n class=\"links\"\n :style=\"{\n 'max-width': linksWrapMaxWidth + 'px'\n }\"\n >\n <AlgoliaSearchBox\n v-if=\"isAlgoliaSearch\"\n :options=\"algolia\"\n />\n <SearchBox v-else-if=\"$site.themeConfig.search !== false\"/>\n <NavLinks class=\"can-hide\"/>\n </div>\n </header>\n</template>\n\n<script>\nimport SidebarButton from './SidebarButton.vue'\nimport AlgoliaSearchBox from '@AlgoliaSearchBox'\nimport SearchBox from './SearchBox.vue'\nimport NavLinks from './NavLinks.vue'\n\nexport default {\n components: { SidebarButton, NavLinks, SearchBox, AlgoliaSearchBox },\n\n data () {\n return {\n linksWrapMaxWidth: null\n }\n },\n\n mounted () {\n const MOBILE_DESKTOP_BREAKPOINT = 719 // refer to config.styl\n const NAVBAR_VERTICAL_PADDING = parseInt(css(this.$el, 'paddingLeft')) + parseInt(css(this.$el, 'paddingRight'))\n const handleLinksWrapWidth = () => {\n if (document.documentElement.clientWidth < MOBILE_DESKTOP_BREAKPOINT) {\n this.linksWrapMaxWidth = null\n } else {\n this.linksWrapMaxWidth = this.$el.offsetWidth - NAVBAR_VERTICAL_PADDING -\n (this.$refs.siteName && this.$refs.siteName.offsetWidth || 0)\n }\n }\n handleLinksWrapWidth()\n window.addEventListener('resize', handleLinksWrapWidth, false)\n },\n\n computed: {\n algolia () {\n return this.$themeLocaleConfig.algolia || this.$site.themeConfig.algolia || {}\n },\n\n isAlgoliaSearch () {\n return this.algolia && this.algolia.apiKey && this.algolia.indexName\n }\n }\n}\n\nfunction css (el, property) {\n // NOTE: Known bug, will return 'auto' if style value is 'auto'\n const win = el.ownerDocument.defaultView\n // null means not to return pseudo styles\n return win.getComputedStyle(el, null)[property]\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n$navbar-vertical-padding = 0.7rem\n$navbar-horizontal-padding = 1.5rem\n\n.navbar\n padding $navbar-vertical-padding $navbar-horizontal-padding\n line-height $navbarHeight - 1.4rem\n position relative\n a, span, img\n display inline-block\n .logo\n height $navbarHeight - 1.4rem\n min-width $navbarHeight - 1.4rem\n margin-right 0.8rem\n vertical-align top\n .site-name\n font-size 1.3rem\n font-weight 600\n color $textColor\n position relative\n .links\n padding-left 1.5rem\n box-sizing border-box\n background-color white\n white-space nowrap\n font-size 0.9rem\n position absolute\n right $navbar-horizontal-padding\n top $navbar-vertical-padding\n display flex\n .search-box\n flex: 0 0 auto\n vertical-align top\n .nav-links\n flex 1\n\n@media (max-width: $MQMobile)\n .navbar\n padding-left 4rem\n .can-hide\n display none\n .links\n padding-left 1.5rem\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/52003517f1933b9082b1981727cfb1a5.json b/node_modules/vuepress/node_modules/.cache/vuepress/52003517f1933b9082b1981727cfb1a5.json new file mode 100644 index 00000000..bbe245a5 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/52003517f1933b9082b1981727cfb1a5.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue?vue&type=template&id=e27c5110&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"transition\", { attrs: { name: \"sw-update-popup\" } }, [\n _vm.enabled\n ? _c(\"div\", { staticClass: \"sw-update-popup\" }, [\n _vm._v(\"\\n \" + _vm._s(_vm.message)),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"button\", { on: { click: _vm.reload } }, [\n _vm._v(_vm._s(_vm.buttonText))\n ])\n ])\n : _vm._e()\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/52217c808ce6262982e3eef6f0cf4f0b.json b/node_modules/vuepress/node_modules/.cache/vuepress/52217c808ce6262982e3eef6f0cf4f0b.json new file mode 100644 index 00000000..5d478cb9 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/52217c808ce6262982e3eef6f0cf4f0b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/introduction.md?vue&type=template&id=6b40630c&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/introduction.md","mtime":1541488030814},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"introduction\"><a class=\"header-anchor\" href=\"#introduction\" aria-hidden=\"true\">#</a> Introduction</h1>\n<p>TBOX is a glib-like cross-platform C library that is simple to use yet powerful in nature.</p>\n<p>The project focuses on making C development easier and provides many modules (.e.g stream, coroutine, regex, container, algorithm ...),\nso that any developer can quickly pick it up and enjoy the productivity boost when developing in C language.</p>\n<p>It supports the following platforms:</p>\n<ul>\n<li>Windows</li>\n<li>Macosx</li>\n<li>Linux</li>\n<li>Android</li>\n<li>iOS</li>\n</ul>\n<p>And it provides many compiling options using <a href=\"http://www.xmake.io\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a>:</p>\n<ul>\n<li>Release: Disable debug information, assertion, memory checking and enable optimization.</li>\n<li>Debug: Enable debug information, assertion, memory checking and disable optimization.</li>\n<li>Small: Disable all extensional modules and enable space optimization.</li>\n<li>Micro: compiling micro library (~64K) for the embed system.</li>\n</ul>\n<p>If you want to know more, please refer to:</p>\n<ul>\n<li><a href=\"http://tboox.org\" target=\"_blank\" rel=\"noopener noreferrer\">HomePage<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/documents\" target=\"_blank\" rel=\"noopener noreferrer\">Documents<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Github<OutboundLink/></a></li>\n<li><a href=\"https://gitee.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Gitee<OutboundLink/></a></li>\n</ul>\n<h2 id=\"features\"><a class=\"header-anchor\" href=\"#features\" aria-hidden=\"true\">#</a> Features</h2>\n<h4 id=\"the-stream-library\"><a class=\"header-anchor\" href=\"#the-stream-library\" aria-hidden=\"true\">#</a> The stream library</h4>\n<ul>\n<li>Supports file, data, http and socket source</li>\n<li>Supports the stream filter for gzip, charset and...</li>\n<li>Implements stream transfer</li>\n<li>Implements the static buffer stream for parsing data</li>\n<li>Supports coroutine and implements asynchronous operation</li>\n</ul>\n<h4 id=\"the-coroutine-library\"><a class=\"header-anchor\" href=\"#the-coroutine-library\" aria-hidden=\"true\">#</a> The coroutine library</h4>\n<ul>\n<li>Provides high-performance coroutine switch(refer to <a href=\"http://tboox.org/2016/10/28/benchbox-coroutine/\" target=\"_blank\" rel=\"noopener noreferrer\">reports<OutboundLink/></a>)</li>\n<li>Supports arm, arm64, x86, x86_64 ..</li>\n<li>Provides channel interfaces</li>\n<li>Provides semaphore and lock interfaces</li>\n<li>Supports io socket and stream operation in coroutine</li>\n<li>Provides some io servers (http ..) using coroutine</li>\n<li>Provides stackfull and stackless coroutines</li>\n<li>Support epoll, kqueue, poll, select and IOCP</li>\n</ul>\n<h4 id=\"the-database-library\"><a class=\"header-anchor\" href=\"#the-database-library\" aria-hidden=\"true\">#</a> The database library</h4>\n<ul>\n<li>Supports mysql and sqlite3 database and enumerates data using the iterator mode</li>\n</ul>\n<h4 id=\"the-xml-parser-library\"><a class=\"header-anchor\" href=\"#the-xml-parser-library\" aria-hidden=\"true\">#</a> The xml parser library</h4>\n<ul>\n<li>Supports DOM and SAX mode and Supports xpath</li>\n</ul>\n<h4 id=\"the-serialization-and-deserialization-library\"><a class=\"header-anchor\" href=\"#the-serialization-and-deserialization-library\" aria-hidden=\"true\">#</a> The serialization and deserialization library</h4>\n<ul>\n<li>Supports xml, json, bplist, xplist, binary formats</li>\n</ul>\n<h4 id=\"the-memory-library\"><a class=\"header-anchor\" href=\"#the-memory-library\" aria-hidden=\"true\">#</a> The memory library</h4>\n<ul>\n<li>Implements some memory pools for optimizing memory</li>\n<li>Supports fast memory error detecting. it can detect the following types of bugs for the debug mode:\n<ul>\n<li>out-of-bounds accesses to heap and globals</li>\n<li>use-after-free</li>\n<li>double-free, invalid free</li>\n<li>memory leaks</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"the-container-library\"><a class=\"header-anchor\" href=\"#the-container-library\" aria-hidden=\"true\">#</a> The container library</h4>\n<ul>\n<li>Implements hash table, single list, double list, vector, stack, queue\nand min/max heap. Supports iterator mode for algorithm</li>\n</ul>\n<h4 id=\"the-algorithm-library\"><a class=\"header-anchor\" href=\"#the-algorithm-library\" aria-hidden=\"true\">#</a> The algorithm library</h4>\n<ul>\n<li>Uses the iterator mode</li>\n<li>Implements find, binary find and reverse find algorithm</li>\n<li>Implements sort, bubble sort, quick sort, heap sort and insert sort algorithm</li>\n<li>Implements count, walk items, reverse walk items, for_all and rfor_all</li>\n</ul>\n<h4 id=\"the-network-library\"><a class=\"header-anchor\" href=\"#the-network-library\" aria-hidden=\"true\">#</a> The network library</h4>\n<ul>\n<li>Implements dns(cached)</li>\n<li>Implements ssl(openssl, polarssl, mbedtls)</li>\n<li>Implements http</li>\n<li>Implements cookies</li>\n<li>Supports ipv4, ipv6</li>\n<li>Supports coroutine</li>\n</ul>\n<h4 id=\"the-platform-library\"><a class=\"header-anchor\" href=\"#the-platform-library\" aria-hidden=\"true\">#</a> The platform library</h4>\n<ul>\n<li>Implements timer, fast and low precision timer</li>\n<li>Implements atomic and atomic64 operation</li>\n<li>Implements spinlock, mutex, event, semaphore, thread and thread pool</li>\n<li>Implements file, socket operation</li>\n<li>Implements poller using epoll, poll, select, kqueue ...</li>\n<li>Implements switch context interfaces for coroutine</li>\n</ul>\n<h4 id=\"the-charset-library\"><a class=\"header-anchor\" href=\"#the-charset-library\" aria-hidden=\"true\">#</a> The charset library</h4>\n<ul>\n<li>Supports utf8, utf16, gbk, gb2312, uc2 and uc4</li>\n<li>Supports big endian and little endian mode</li>\n</ul>\n<h4 id=\"the-zip-library\"><a class=\"header-anchor\" href=\"#the-zip-library\" aria-hidden=\"true\">#</a> The zip library</h4>\n<ul>\n<li>Supports gzip, zlibraw, zlib formats using the zlib library if exists</li>\n<li>Implements lzsw, lz77 and rlc algorithm</li>\n</ul>\n<h4 id=\"the-utils-library\"><a class=\"header-anchor\" href=\"#the-utils-library\" aria-hidden=\"true\">#</a> The utils library</h4>\n<ul>\n<li>Implements base32, base64 encoder and decoder</li>\n<li>Implements assert and trace output for the debug mode</li>\n<li>Implements bits operation for parsing u8, u16, u32, u64 data</li>\n</ul>\n<h4 id=\"the-math-library\"><a class=\"header-anchor\" href=\"#the-math-library\" aria-hidden=\"true\">#</a> The math library</h4>\n<ul>\n<li>Implements random generator</li>\n<li>Implements fast fixed-point calculation, Supports 6-bits, 16-bits, 30-bits fixed-point number</li>\n</ul>\n<h4 id=\"the-libc-library\"><a class=\"header-anchor\" href=\"#the-libc-library\" aria-hidden=\"true\">#</a> The libc library</h4>\n<ul>\n<li>Implements lightweight libc library interfaces, the interface name contains <code>tb_xxx</code> prefix for avoiding conflict</li>\n<li>Implements strixxx strrxxx wcsixxx wcsrxxx interface extension</li>\n<li>Optimizes some frequently-used interface, .e.g. memset, memcpy, strcpy ...</li>\n<li>Implements <code>memset_u16</code>, <code>memset_u32</code>, <code>memset_u64</code> extension interfaces</li>\n</ul>\n<h4 id=\"the-libm-library\"><a class=\"header-anchor\" href=\"#the-libm-library\" aria-hidden=\"true\">#</a> The libm library</h4>\n<ul>\n<li>Implements lightweight libm library interfaces, the interface name contains <code>tb_xxx</code> prefix for avoiding conflict</li>\n<li>Supports float and double type</li>\n</ul>\n<h4 id=\"the-regex-library\"><a class=\"header-anchor\" href=\"#the-regex-library\" aria-hidden=\"true\">#</a> The regex library</h4>\n<ul>\n<li>Supports match and replace</li>\n<li>Supports global/multiline/caseless mode</li>\n<li>Uses pcre, pcre2 and posix regex modules</li>\n</ul>\n<h4 id=\"the-hash-library\"><a class=\"header-anchor\" href=\"#the-hash-library\" aria-hidden=\"true\">#</a> The hash library</h4>\n<ul>\n<li>Implements crc32, adler32, md5 and sha1 hash algorithm</li>\n<li>Implements some string hash algorithms (.e.g bkdr, fnv32, fnv64, sdbm, djb2, rshash, aphash ...)</li>\n<li>Implements uuid generator</li>\n</ul>\n<h2 id=\"projects\"><a class=\"header-anchor\" href=\"#projects\" aria-hidden=\"true\">#</a> Projects</h2>\n<p>Some projects using tbox:</p>\n<ul>\n<li><a href=\"https://github.com/tboox/gbox\" target=\"_blank\" rel=\"noopener noreferrer\">gbox<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/vm86\" target=\"_blank\" rel=\"noopener noreferrer\">vm86<OutboundLink/></a></li>\n<li><a href=\"http://www.xmake.io\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/itrace\" target=\"_blank\" rel=\"noopener noreferrer\">itrace<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/tbox-projects\" target=\"_blank\" rel=\"noopener noreferrer\">more<OutboundLink/></a></li>\n</ul>\n<h2 id=\"contacts\"><a class=\"header-anchor\" href=\"#contacts\" aria-hidden=\"true\">#</a> Contacts</h2>\n<ul>\n<li>Email:<a href=\"mailto:waruqi@gmail.com\">waruqi@gmail.com</a></li>\n<li>Homepage:<a href=\"http://www.tboox.org\" target=\"_blank\" rel=\"noopener noreferrer\">tboox.org<OutboundLink/></a></li>\n<li>Community:<a href=\"https://www.reddit.com/r/tboox/\" target=\"_blank\" rel=\"noopener noreferrer\">/r/tboox on reddit<OutboundLink/></a></li>\n</ul>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/5249bd4c8a6cb466397ecc20c8091c75.json b/node_modules/vuepress/node_modules/.cache/vuepress/5249bd4c8a6cb466397ecc20c8091c75.json new file mode 100644 index 00000000..960f9df0 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/5249bd4c8a6cb466397ecc20c8091c75.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue?vue&type=template&id=02a4f89d&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<transition\n name=\"dropdown\"\n @enter=\"setHeight\"\n @after-enter=\"unsetHeight\"\n @before-leave=\"setHeight\"\n>\n <slot/>\n</transition>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/5292e80762332df960941078aacff35a.json b/node_modules/vuepress/node_modules/.cache/vuepress/5292e80762332df960941078aacff35a.json new file mode 100644 index 00000000..45235fdb --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/5292e80762332df960941078aacff35a.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./Sidebar.vue?vue&type=template&id=247476d6&\"\nimport script from \"./Sidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./Sidebar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Sidebar.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('247476d6', component.options)\n } else {\n api.reload('247476d6', component.options)\n }\n module.hot.accept(\"./Sidebar.vue?vue&type=template&id=247476d6&\", function () {\n api.rerender('247476d6', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/default-theme/Sidebar.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/537d0618eaeae9170794ea268f23d7f5.json b/node_modules/vuepress/node_modules/.cache/vuepress/537d0618eaeae9170794ea268f23d7f5.json new file mode 100644 index 00000000..90fa4039 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/537d0618eaeae9170794ea268f23d7f5.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/README.md?vue&type=template&id=271aadf1&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/README.md","mtime":1541486439372},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/53a5b0c1688b8261bb7cd0b4d4915d70.json b/node_modules/vuepress/node_modules/.cache/vuepress/53a5b0c1688b8261bb7cd0b4d4915d70.json new file mode 100644 index 00000000..4cfd91df --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/53a5b0c1688b8261bb7cd0b4d4915d70.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/locals.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n$navbar-vertical-padding = 0.7rem\n$navbar-horizontal-padding = 1.5rem\n\n.navbar\n padding $navbar-vertical-padding $navbar-horizontal-padding\n line-height $navbarHeight - 1.4rem\n position relative\n a, span, img\n display inline-block\n .logo\n height $navbarHeight - 1.4rem\n min-width $navbarHeight - 1.4rem\n margin-right 0.8rem\n vertical-align top\n .site-name\n font-size 1.3rem\n font-weight 600\n color $textColor\n position relative\n .links\n padding-left 1.5rem\n box-sizing border-box\n background-color white\n white-space nowrap\n font-size 0.9rem\n position absolute\n right $navbar-horizontal-padding\n top $navbar-vertical-padding\n display flex\n .search-box\n flex: 0 0 auto\n vertical-align top\n .nav-links\n flex 1\n\n@media (max-width: $MQMobile)\n .navbar\n padding-left 4rem\n .can-hide\n display none\n .links\n padding-left 1.5rem\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/53ad882a7cfb92117144f8a14158bbc3.json b/node_modules/vuepress/node_modules/.cache/vuepress/53ad882a7cfb92117144f8a14158bbc3.json new file mode 100644 index 00000000..a84a5eb6 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/53ad882a7cfb92117144f8a14158bbc3.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NotFound.vue?vue&type=template&id=52d5a9f4&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NotFound.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"theme-container\" }, [\n _c(\n \"div\",\n { staticClass: \"content\" },\n [\n _c(\"h1\", [_vm._v(\"404\")]),\n _vm._v(\" \"),\n _c(\"blockquote\", [_vm._v(_vm._s(_vm.getMsg()))]),\n _vm._v(\" \"),\n _c(\"router-link\", { attrs: { to: \"/\" } }, [_vm._v(\"Take me home.\")])\n ],\n 1\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/5463e9130c240135f2bfd2259f22c204.json b/node_modules/vuepress/node_modules/.cache/vuepress/5463e9130c240135f2bfd2259f22c204.json new file mode 100644 index 00000000..95186c2d --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/5463e9130c240135f2bfd2259f22c204.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/manual/introduction.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/manual/introduction.md","mtime":1541555949495},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./introduction.md?vue&type=template&id=3bcc74a3&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('3bcc74a3', component.options)\n } else {\n api.reload('3bcc74a3', component.options)\n }\n module.hot.accept(\"./introduction.md?vue&type=template&id=3bcc74a3&\", function () {\n api.rerender('3bcc74a3', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/manual/introduction.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/5588267ebf1f5a0a62466a95da08c235.json b/node_modules/vuepress/node_modules/.cache/vuepress/5588267ebf1f5a0a62466a95da08c235.json new file mode 100644 index 00000000..b8606f5a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/5588267ebf1f5a0a62466a95da08c235.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/locals.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.search-box\n display inline-block\n position relative\n margin-right 1rem\n input\n cursor text\n width 10rem\n color lighten($textColor, 25%)\n display inline-block\n border 1px solid darken($borderColor, 10%)\n border-radius 2rem\n font-size 0.9rem\n line-height 2rem\n padding 0 0.5rem 0 2rem\n outline none\n transition all .2s ease\n background #fff url(./search.svg) 0.6rem 0.5rem no-repeat\n background-size 1rem\n &:focus\n cursor auto\n border-color $accentColor\n .suggestions\n background #fff\n width 20rem\n position absolute\n top 1.5rem\n border 1px solid darken($borderColor, 10%)\n border-radius 6px\n padding 0.4rem\n list-style-type none\n &.align-right\n right 0\n .suggestion\n line-height 1.4\n padding 0.4rem 0.6rem\n border-radius 4px\n cursor pointer\n a\n white-space normal\n color lighten($textColor, 35%)\n .page-title\n font-weight 600\n .header\n font-size 0.9em\n margin-left 0.25em\n &.focused\n background-color #f3f4f5\n a\n color $accentColor\n\n@media (max-width: $MQNarrow)\n .search-box\n input\n cursor pointer\n width 0\n border-color transparent\n position relative\n &:focus\n cursor text\n left 0\n width 10rem\n\n@media (max-width: $MQNarrow) and (min-width: $MQMobile)\n .search-box\n .suggestions\n left 0\n\n@media (max-width: $MQMobile)\n .search-box\n margin-right 0\n input\n left 1rem\n .suggestions\n right 0\n\n@media (max-width: $MQMobileNarrow)\n .search-box\n .suggestions\n width calc(100vw - 4rem)\n input:focus\n width 8rem\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/5590d74a71b3b40c4037e6c00b8683f9.json b/node_modules/vuepress/node_modules/.cache/vuepress/5590d74a71b3b40c4037e6c00b8683f9.json new file mode 100644 index 00000000..a3cd225a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/5590d74a71b3b40c4037e6c00b8683f9.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/README.md?vue&type=template&id=8a4bbf68&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/README.md","mtime":1541488927605},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/55cb203ce65aaeb218735c906a90b072.json b/node_modules/vuepress/node_modules/.cache/vuepress/55cb203ce65aaeb218735c906a90b072.json new file mode 100644 index 00000000..17a98c8a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/55cb203ce65aaeb218735c906a90b072.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue?vue&type=template&id=7eb32c3c&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div class=\"page\">\n <slot name=\"top\"/>\n\n <Content :custom=\"false\"/>\n\n <div class=\"page-edit\">\n <div\n class=\"edit-link\"\n v-if=\"editLink\"\n >\n <a\n :href=\"editLink\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >{{ editLinkText }}</a>\n <OutboundLink/>\n </div>\n\n <div\n class=\"last-updated\"\n v-if=\"lastUpdated\"\n >\n <span class=\"prefix\">{{ lastUpdatedText }}: </span>\n <span class=\"time\">{{ lastUpdated }}</span>\n </div>\n </div>\n\n <div class=\"page-nav\" v-if=\"prev || next\">\n <p class=\"inner\">\n <span\n v-if=\"prev\"\n class=\"prev\"\n >\n ←\n <router-link\n v-if=\"prev\"\n class=\"prev\"\n :to=\"prev.path\"\n >\n {{ prev.title || prev.path }}\n </router-link>\n </span>\n\n <span\n v-if=\"next\"\n class=\"next\"\n >\n <router-link\n v-if=\"next\"\n :to=\"next.path\"\n >\n {{ next.title || next.path }}\n </router-link>\n →\n </span>\n </p>\n </div>\n\n <slot name=\"bottom\"/>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/56da608be7e8e0788fd6da57f670e7bb.json b/node_modules/vuepress/node_modules/.cache/vuepress/56da608be7e8e0788fd6da57f670e7bb.json new file mode 100644 index 00000000..a4b97499 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/56da608be7e8e0788fd6da57f670e7bb.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/plugin/introduction.md","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/plugin/introduction.md","mtime":1541580922619},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./introduction.md?vue&type=template&id=35ee8210&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('35ee8210', component.options)\n } else {\n api.reload('35ee8210', component.options)\n }\n module.hot.accept(\"./introduction.md?vue&type=template&id=35ee8210&\", function () {\n api.rerender('35ee8210', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/plugin/introduction.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/5718cb31972b205c02829475caa8d554.json b/node_modules/vuepress/node_modules/.cache/vuepress/5718cb31972b205c02829475caa8d554.json new file mode 100644 index 00000000..cebf0a2a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/5718cb31972b205c02829475caa8d554.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NotFound.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NotFound.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./NotFound.vue?vue&type=template&id=5c808f81&\"\nimport script from \"./NotFound.vue?vue&type=script&lang=js&\"\nexport * from \"./NotFound.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"NotFound.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/57941ab8828536dbc8073ae0eb724906.json b/node_modules/vuepress/node_modules/.cache/vuepress/57941ab8828536dbc8073ae0eb724906.json new file mode 100644 index 00000000..890ea037 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/57941ab8828536dbc8073ae0eb724906.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/zh/README.md?vue&type=template&id=691ca007&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/zh/README.md","mtime":1534123204913},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><div align=\"center\">\n <h1>tbox</h1>\n <div>\n <a href=\"https://travis-ci.org/tboox/tbox\">\n <img src=\"https://img.shields.io/travis/tboox/tbox/master.svg?style=flat-square\" alt=\"travis-ci\" />\n </a>\n <a href=\"https://ci.appveyor.com/project/waruqi/tbox/branch/master\">\n <img src=\"https://img.shields.io/appveyor/ci/waruqi/tbox/master.svg?style=flat-square\" alt=\"appveyor-ci\" />\n </a>\n <a href=\"https://codecov.io/gh/tboox/tbox\">\n <img src=\"https://img.shields.io/codecov/c/github/tboox/tbox/master.svg?style=flat-square\" alt=\"Coverage\" />\n </a>\n <a href=\"https://github.com/tboox/tbox/releases\">\n <img src=\"https://img.shields.io/github/release/tboox/tbox.svg?style=flat-square\" alt=\"Github All Releases\" />\n </a>\n </div>\n <div>\n <a href=\"https://github.com/tboox/tbox/blob/master/LICENSE.md\">\n <img src=\"https://img.shields.io/github/license/tboox/tbox.svg?colorB=f48041&style=flat-square\" alt=\"license\" />\n </a>\n <a href=\"https://www.reddit.com/r/tboox/\">\n <img src=\"https://img.shields.io/badge/chat-on%20reddit-ff3f34.svg?style=flat-square\" alt=\"Reddit\" />\n </a>\n <a href=\"https://gitter.im/tboox/tboox?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\">\n <img src=\"https://img.shields.io/gitter/room/tboox/tboox.svg?style=flat-square&colorB=96c312\" alt=\"Gitter\" />\n </a>\n <a href=\"https://t.me/tbooxorg\">\n <img src=\"https://img.shields.io/badge/chat-on%20telegram-blue.svg?style=flat-square\" alt=\"Telegram\" />\n </a>\n <a href=\"https://jq.qq.com/?_wv=1027&k=5hpwWFv\">\n <img src=\"https://img.shields.io/badge/chat-on%20QQ-ff69b4.svg?style=flat-square\" alt=\"QQ\" />\n </a>\n <a href=\"http://tboox.org/donation/\">\n <img src=\"https://img.shields.io/badge/donate-us-orange.svg?style=flat-square\" alt=\"Donate\" />\n </a>\n </div>\n <p>一个用c语言实现的跨平台开发库</p>\n</div>\n<h2 id=\"简介\"><a class=\"header-anchor\" href=\"#简介\" aria-hidden=\"true\">#</a> 简介</h2>\n<p>TBOX是一个用c语言实现的跨平台开发库。</p>\n<p>针对各个平台,封装了统一的接口,简化了各类开发过程中常用操作,使你在开发过程中,更加关注实际应用的开发,而不是把时间浪费在琐碎的接口兼容性上面,并且充分利用了各个平台独有的一些特性进行优化。</p>\n<p>这个项目的目的,是为了使C开发更加的简单高效。</p>\n<p>目前支持的平台有:</p>\n<ul>\n<li>Windows</li>\n<li>Macosx</li>\n<li>Linux</li>\n<li>Android</li>\n<li>iOS</li>\n</ul>\n<p>通过<a href=\"http://www.xmake.io/cn\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a>支持各种编译模式:</p>\n<ul>\n<li>Release: 正式版编译,禁用调试信息、断言,各种检测机制,启用编译器优化</li>\n<li>Debug: 调试模式,默认启用详细调试信息、断言、内存越界检测、内存泄漏、锁竞争分析等检测机制</li>\n<li>Small: 最小化编译,默认禁用所有扩展模块,启用编译器最小化优化</li>\n<li>Micro: 针对嵌入式平台,仅仅编译tbox微内核,仅提供最基础的跨平台接口,生成库仅64K左右(内置轻量libc接口实现)</li>\n</ul>\n<p>如果你想了解更多,请参考:</p>\n<ul>\n<li><a href=\"http://www.tboox.org/cn\" target=\"_blank\" rel=\"noopener noreferrer\">项目主页<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/%E7%9B%AE%E5%BD%95\" target=\"_blank\" rel=\"noopener noreferrer\">在线文档<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Github<OutboundLink/></a></li>\n<li><a href=\"https://gitee.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Gitee<OutboundLink/></a></li>\n</ul>\n<h2 id=\"特性\"><a class=\"header-anchor\" href=\"#特性\" aria-hidden=\"true\">#</a> 特性</h2>\n<h4 id=\"流库\"><a class=\"header-anchor\" href=\"#流库\" aria-hidden=\"true\">#</a> 流库</h4>\n<p>针对http、file、socket、data等流数据,实现统一接口进行读写,并且支持: 阻塞、非阻塞、异步 三种读写模式。\n支持中间增加多层filter流进行流过滤,实现边读取,内部边进行解压、编码转换、加密等操作,极大的减少了内存使用。</p>\n<p>主要提供以下模块:</p>\n<ul>\n<li><code>stream</code>:通用非阻塞流,用于一般的单独io处理,同时支持协程以实现异步传输。</li>\n<li><code>transfer</code>:流传输器,维护两路流的传输。</li>\n<li><code>static_stream</code>:针对静态数据buffer优化的静态流,用于轻量快速的数据解析。</li>\n</ul>\n<h4 id=\"协程库\"><a class=\"header-anchor\" href=\"#协程库\" aria-hidden=\"true\">#</a> 协程库</h4>\n<ul>\n<li>快速高效的协程切换支持(具体性能参考:<a href=\"http://tboox.org/cn/2016/10/28/benchbox-coroutine/\" target=\"_blank\" rel=\"noopener noreferrer\">基准测试报告<OutboundLink/></a>)</li>\n<li>提供跨平台支持,核心切换算法参考boost,并且对其进行重写和优化,目前支持架构:x86, x86_64, arm, arm64, mips32</li>\n<li>提供channel协程间数据通信支持,基于生产、消费者模型</li>\n<li>提供信号量、协程锁支持</li>\n<li>socket、stream都模块原生支持协程,并且可在线程和协程间进行无缝切换</li>\n<li>提供http、file等基于协程的简单服务器实例,只需几百行代码,就可以从socket开始写个高性能io服务器,代码逻辑比异步回调模式更加清晰</li>\n<li>同时提供stackfull, stackless两种协程模式支持,stackless协程更加的轻量(每个协程只占用几十个bytes),切换更快(会牺牲部分易用性)</li>\n<li>支持epoll, kqueue, poll, select 和 IOCP</li>\n</ul>\n<h4 id=\"数据库\"><a class=\"header-anchor\" href=\"#数据库\" aria-hidden=\"true\">#</a> 数据库</h4>\n<ul>\n<li>统一并简化数据库操作接口,适配各种数据源,通过统一的url来自动连接打开支持的数据库,数据的枚举采用迭代器模型。</li>\n<li>目前支持sqlite3以及mysql两种关系型数据库,也可自定义扩展使用其他关系型数据库。</li>\n</ul>\n<h4 id=\"xml库\"><a class=\"header-anchor\" href=\"#xml库\" aria-hidden=\"true\">#</a> xml库</h4>\n<ul>\n<li>针对xml提供DOM和SAX两种解析模式,SAX方式采用外部迭代模式,灵活性和性能更高,并且可以选择指定路径,进行解析。</li>\n<li>解析过程完全基于stream,所以是高度流化的,可以实现边下载、边解压、边转码、边解析一条龙服务,使用较低的内存也可以解析大规模数据。</li>\n<li>提供xml writer以支持对xml生成</li>\n</ul>\n<h4 id=\"内存库\"><a class=\"header-anchor\" href=\"#内存库\" aria-hidden=\"true\">#</a> 内存库</h4>\n<ul>\n<li>参考linux内核内存管理机制的实现,并对其进行各种改造和优化,所实现的TBOX独有的一整套内存池管理架构。</li>\n<li>调试模式下,可以轻松检测并定位内存泄露、内存越界溢出、内存重叠覆盖等常见内存问题,并对整体内存的使用进行了统计和简要分析。</li>\n<li>针对大块数据、小块数据、字符串数据进行了充分的利用,避免了大量外部碎片和内部碎片的产生。分配操作进行了各种优化,96%的情况下,效率都是在O(1)。</li>\n</ul>\n<h4 id=\"容器库\"><a class=\"header-anchor\" href=\"#容器库\" aria-hidden=\"true\">#</a> 容器库</h4>\n<ul>\n<li>提供哈希、链表、数组、队列、堆栈、最小最大堆等常用容器。</li>\n<li>支持各种常用成员类型,在原有的容器期初上,其成员类型还可以完全自定义扩展。</li>\n<li>所有容器都支持迭代器操作。</li>\n<li>大部分容器都可以支持基于stream的序列化和反序列化操作。</li>\n</ul>\n<h4 id=\"算法库\"><a class=\"header-anchor\" href=\"#算法库\" aria-hidden=\"true\">#</a> 算法库</h4>\n<ul>\n<li>提供各种排序算法:冒泡排序、堆排序、快速排序、插入排序。</li>\n<li>提供各种查找算法:线性遍历、二分法搜索。</li>\n<li>提供各种遍历、删除、统计算法。</li>\n<li>以迭代器为接口,实现算法和容器的分离,类似stl,但是c实现的,更加轻量。</li>\n</ul>\n<h4 id=\"网络库\"><a class=\"header-anchor\" href=\"#网络库\" aria-hidden=\"true\">#</a> 网络库</h4>\n<ul>\n<li>实现http客户端模块</li>\n<li>实现cookies</li>\n<li>实现dns解析与缓存</li>\n<li>实现ssl(支持openssl, polarssl, mbedtls)</li>\n<li>支持ipv4、ipv6</li>\n<li>支持通过协程实现异步模式</li>\n</ul>\n<h4 id=\"数学运算库\"><a class=\"header-anchor\" href=\"#数学运算库\" aria-hidden=\"true\">#</a> 数学运算库</h4>\n<ul>\n<li>提供各种精度的定点运算支持</li>\n<li>提供随机数生成器</li>\n</ul>\n<h4 id=\"libc库\"><a class=\"header-anchor\" href=\"#libc库\" aria-hidden=\"true\">#</a> libc库</h4>\n<ul>\n<li>libc的一个轻量级实现,完全跨平台,并且针对不同架构进行了优化。</li>\n<li>支持大部分字符串、宽字符串操作。</li>\n<li>扩展字符串、宽字符串的各种大小写不敏感操作接口</li>\n<li>扩展<code>memset_u16</code>、<code>memset_u32</code>等接口,并对其进行高度优化,尤其适合图形渲染程序</li>\n</ul>\n<h4 id=\"libm库\"><a class=\"header-anchor\" href=\"#libm库\" aria-hidden=\"true\">#</a> libm库</h4>\n<ul>\n<li>libm部分接口的一个轻量级实现,以及对常用系统接口的封装。(目前只实现了部分,之后有时间会完全实现掉)</li>\n<li>扩展部分常用接口,增加对sqrt、log2等常用函数的整数版本计算,进行高度优化,不涉及浮点运算,适合嵌入式环境使用。</li>\n</ul>\n<h4 id=\"object库\"><a class=\"header-anchor\" href=\"#object库\" aria-hidden=\"true\">#</a> object库</h4>\n<ul>\n<li>轻量级类apple的CoreFoundation库,支持object、dictionary、array、string、number、date、data等常用对象,并且可以方便扩展自定义对象的序列化。</li>\n<li>支持对xml、json、binary以及apple的plist(xplist/bplist)格式序列化和反序列化。\n并且实现自有的binary序列化格式, 针对明文进行了简单的加密,在不影响性能的前提下,序列化后的大小比bplist节省30%。</li>\n</ul>\n<h4 id=\"平台库\"><a class=\"header-anchor\" href=\"#平台库\" aria-hidden=\"true\">#</a> 平台库</h4>\n<ul>\n<li>提供file、directory、socket、thread、time等常用系统接口</li>\n<li>提供atomic、atomic64接口</li>\n<li>提供高精度、低精度定时器</li>\n<li>提供高性能的线程池操作</li>\n<li>提供event、mutex、semaphore、spinlock等事件、互斥、信号量、自旋锁操作</li>\n<li>提供获取函数堆栈信息的接口,方便调试和错误定位</li>\n<li>提供跨平台动态库加载接口(如果系统支持的话)</li>\n<li>提供io轮询器,针对epoll, poll, select, kqueue进行跨平台封装</li>\n<li>提供跨平台上下文切换接口,主要用于协程实现,切换效率非常高</li>\n</ul>\n<h4 id=\"压缩库\"><a class=\"header-anchor\" href=\"#压缩库\" aria-hidden=\"true\">#</a> 压缩库</h4>\n<ul>\n<li>支持zlib/zlibraw/gzip的压缩与解压(需要第三方zlib库支持)。</li>\n</ul>\n<h4 id=\"字符编码库\"><a class=\"header-anchor\" href=\"#字符编码库\" aria-hidden=\"true\">#</a> 字符编码库</h4>\n<ul>\n<li>支持utf8、utf16、gbk、gb2312、uc2、uc4 之间的互相转码,并且支持大小端格式。</li>\n</ul>\n<h4 id=\"实用工具库\"><a class=\"header-anchor\" href=\"#实用工具库\" aria-hidden=\"true\">#</a> 实用工具库</h4>\n<ul>\n<li>实现base64/32编解码</li>\n<li>实现crc32、adler32、md5、sha1等常用hash算法</li>\n<li>实现日志输出、断言等辅助调试工具</li>\n<li>实现url编解码</li>\n<li>实现位操作相关接口,支持各种数据格式的解析,可以对8bits、16bits、32bits、64bits、float、double以及任意bits的字段进行解析操作,并且同时支持大端、小端和本地端模式,并针对部分操作进行了优化,像static_stream、stream都有相关接口对其进行了封装,方便在流上进行快速数据解析。</li>\n<li>实现swap16、swap32、swap64等位交换操作,并针对各个平台进行了优化。</li>\n<li>实现一些高级的位处理接口,例如:位0的快速统计、前导0和前导1的快速位计数、后导01的快速位计数</li>\n<li>实现单例模块,可以对静态对象、实例对象进行快速的单例封装,实现全局线程安全</li>\n<li>实现option模块,对命令行参数进行解析,提供快速方便的命令行选项建立和解析操作,对于写终端程序还是很有帮助的</li>\n</ul>\n<h4 id=\"正则表达式库\"><a class=\"header-anchor\" href=\"#正则表达式库\" aria-hidden=\"true\">#</a> 正则表达式库</h4>\n<ul>\n<li>支持匹配和替换操作</li>\n<li>支持全局、多行、大小写不敏感等模式</li>\n<li>使用pcre, pcre2和posix正则库</li>\n</ul>\n<h2 id=\"一些使用tbox的项目:\"><a class=\"header-anchor\" href=\"#一些使用tbox的项目:\" aria-hidden=\"true\">#</a> 一些使用tbox的项目:</h2>\n<ul>\n<li><a href=\"https://github.com/tboox/gbox\" target=\"_blank\" rel=\"noopener noreferrer\">gbox<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/vm86\" target=\"_blank\" rel=\"noopener noreferrer\">vm86<OutboundLink/></a></li>\n<li><a href=\"http://www.xmake.io/cn\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/itrace\" target=\"_blank\" rel=\"noopener noreferrer\">itrace<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/%E4%BD%BF%E7%94%A8tbox%E7%9A%84%E5%BC%80%E6%BA%90%E5%BA%93\" target=\"_blank\" rel=\"noopener noreferrer\">更多项目<OutboundLink/></a></li>\n</ul>\n<h2 id=\"编译\"><a class=\"header-anchor\" href=\"#编译\" aria-hidden=\"true\">#</a> 编译</h2>\n<p>请先安装: <a href=\"https://github.com/tboox/xmake\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></p>\n<!--beforebegin--><div class=\"language-console extra-class\"><!--afterbegin--><pre v-pre class=\"language-text\"><code># 默认直接编译当前主机平台\n$ cd ./tbox\n$ xmake\n\n# 编译mingw平台\n$ cd ./tbox\n$ xmake f -p mingw --sdk=/home/mingwsdk \n$ xmake\n\n# 编译iphoneos平台\n$ cd ./tbox\n$ xmake f -p iphoneos \n$ xmake\n\n# 编译android平台\n$ cd ./tbox\n$ xmake f -p android --ndk=xxxxx\n$ xmake\n\n# 交叉编译\n$ cd ./tbox\n$ xmake f -p linux --sdk=/home/sdk #--bin=/home/sdk/bin\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"例子\"><a class=\"header-anchor\" href=\"#例子\" aria-hidden=\"true\">#</a> 例子</h2>\n<!--beforebegin--><div class=\"language-c extra-class\"><!--afterbegin--><pre v-pre class=\"language-c\"><code><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">\"tbox/tbox.h\"</span></span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> argc<span class=\"token punctuation\">,</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span> argv<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// init tbox</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">tb_init</span><span class=\"token punctuation\">(</span>tb_null<span class=\"token punctuation\">,</span> tb_null<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"hello tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// init vector</span>\n tb_vector_ref_t vector <span class=\"token operator\">=</span> <span class=\"token function\">tb_vector_init</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">tb_element_cstr</span><span class=\"token punctuation\">(</span>tb_true<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// insert item</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// dump all items</span>\n tb_for_all <span class=\"token punctuation\">(</span>tb_char_t <span class=\"token keyword\">const</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">,</span> vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%s\"</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit vector</span>\n <span class=\"token function\">tb_vector_exit</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// init stream</span>\n tb_stream_ref_t stream <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_init_from_url</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"http://www.xxx.com/file.txt\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// open stream</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token function\">tb_stream_open</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// read line</span>\n tb_long_t size <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n tb_char_t line<span class=\"token punctuation\">[</span>TB_STREAM_BLOCK_MAXN<span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">while</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>size <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_bread_line</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">,</span> <span class=\"token keyword\">sizeof</span><span class=\"token punctuation\">(</span>line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">>=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"line: %s\"</span><span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit stream</span>\n <span class=\"token function\">tb_stream_exit</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// wait </span>\n <span class=\"token function\">getchar</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// exit tbox</span>\n <span class=\"token function\">tb_exit</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"联系方式\"><a class=\"header-anchor\" href=\"#联系方式\" aria-hidden=\"true\">#</a> 联系方式</h2>\n<ul>\n<li>邮箱:<a href=\"mailto:waruqi@gmail.com\">waruqi@gmail.com</a></li>\n<li>主页:<a href=\"http://www.tboox.org/cn\" target=\"_blank\" rel=\"noopener noreferrer\">TBOOX开源工程<OutboundLink/></a></li>\n<li>社区:<a href=\"https://www.reddit.com/r/tboox/\" target=\"_blank\" rel=\"noopener noreferrer\">Reddit论坛<OutboundLink/></a></li>\n<li>QQ群:343118190</li>\n<li>微信公众号:tboox-os</li>\n</ul>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/57d4f8ce2e2ada025b528ecfc8759507.json b/node_modules/vuepress/node_modules/.cache/vuepress/57d4f8ce2e2ada025b528ecfc8759507.json new file mode 100644 index 00000000..1b1fdb64 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/57d4f8ce2e2ada025b528ecfc8759507.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/root-mixins/index.js","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/root-mixins/index.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import updateMeta from './updateMeta';\nimport activeHeaderLinks from '@activeHeaderLinks';\nexport default [updateMeta, // required\nactiveHeaderLinks // optional\n];",{"version":3,"sources":["node_modules/vuepress/lib/app/root-mixins/index.js"],"names":["updateMeta","activeHeaderLinks"],"mappings":"AAAA,OAAOA,UAAP,MAAuB,cAAvB;AACA,OAAOC,iBAAP,MAA8B,oBAA9B;AAEA,eAAe,CACbD,UADa,EACD;AACZC,iBAFa,CAEK;AAFL,CAAf","sourceRoot":"/Users/ruki/projects/personal/xmake-docs","sourcesContent":["import updateMeta from './updateMeta'\nimport activeHeaderLinks from '@activeHeaderLinks'\n\nexport default [\n updateMeta, // required\n activeHeaderLinks // optional\n]\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/57f514437742c42e6b0faf183e6fc4cb.json b/node_modules/vuepress/node_modules/.cache/vuepress/57f514437742c42e6b0faf183e6fc4cb.json new file mode 100644 index 00000000..a54e5da5 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/57f514437742c42e6b0faf183e6fc4cb.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/manual.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/manual.md","mtime":1541487162645},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./manual.md?vue&type=template&id=3d9f7361&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('3d9f7361', component.options)\n } else {\n api.reload('3d9f7361', component.options)\n }\n module.hot.accept(\"./manual.md?vue&type=template&id=3d9f7361&\", function () {\n api.rerender('3d9f7361', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"docs/manual.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/581d169a06e0c1fb1b4c2a6920d786b7.json b/node_modules/vuepress/node_modules/.cache/vuepress/581d169a06e0c1fb1b4c2a6920d786b7.json new file mode 100644 index 00000000..307a2443 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/581d169a06e0c1fb1b4c2a6920d786b7.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/getting-started.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/getting-started.md","mtime":1541488106036},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./getting-started.md?vue&type=template&id=10a0f75e&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('10a0f75e', component.options)\n } else {\n api.reload('10a0f75e', component.options)\n }\n module.hot.accept(\"./getting-started.md?vue&type=template&id=10a0f75e&\", function () {\n api.rerender('10a0f75e', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"docs/guide/getting-started.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/58509a9ee1a77dfc86eb27c6416c5c70.json b/node_modules/vuepress/node_modules/.cache/vuepress/58509a9ee1a77dfc86eb27c6416c5c70.json new file mode 100644 index 00000000..14cbbf12 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/58509a9ee1a77dfc86eb27c6416c5c70.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./DropdownLink.vue?vue&type=template&id=4e56f67c&\"\nimport script from \"./DropdownLink.vue?vue&type=script&lang=js&\"\nexport * from \"./DropdownLink.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DropdownLink.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('4e56f67c', component.options)\n } else {\n api.reload('4e56f67c', component.options)\n }\n module.hot.accept(\"./DropdownLink.vue?vue&type=template&id=4e56f67c&\", function () {\n api.rerender('4e56f67c', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/default-theme/DropdownLink.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/59865ff10a83a334b98c800a208f52a8.json b/node_modules/vuepress/node_modules/.cache/vuepress/59865ff10a83a334b98c800a208f52a8.json new file mode 100644 index 00000000..1eda788c --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/59865ff10a83a334b98c800a208f52a8.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/locals.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.dropdown-wrapper\n cursor pointer\n .dropdown-title\n display block\n &:hover\n border-color transparent\n .arrow\n vertical-align middle\n margin-top -1px\n margin-left 0.4rem\n .nav-dropdown\n .dropdown-item\n color inherit\n line-height 1.7rem\n h4\n margin 0.45rem 0 0\n border-top 1px solid #eee\n padding 0.45rem 1.5rem 0 1.25rem\n .dropdown-subitem-wrapper\n padding 0\n list-style none\n .dropdown-subitem\n font-size 0.9em\n a\n display block\n line-height 1.7rem\n position relative\n border-bottom none\n font-weight 400\n margin-bottom 0\n padding 0 1.5rem 0 1.25rem\n &:hover\n color $accentColor\n &.router-link-active\n color $accentColor\n &::after\n content \"\"\n width 0\n height 0\n border-left 5px solid $accentColor\n border-top 3px solid transparent\n border-bottom 3px solid transparent\n position absolute\n top calc(50% - 2px)\n left 9px\n &:first-child h4\n margin-top 0\n padding-top 0\n border-top 0\n\n@media (max-width: $MQMobile)\n .dropdown-wrapper\n &.open .dropdown-title\n margin-bottom 0.5rem\n .nav-dropdown\n transition height .1s ease-out\n overflow hidden\n .dropdown-item\n h4\n border-top 0\n margin-top 0\n padding-top 0\n h4, & > a\n font-size 15px\n line-height 2rem\n .dropdown-subitem\n font-size 14px\n padding-left 1rem\n\n@media (min-width: $MQMobile)\n .dropdown-wrapper\n height 1.8rem\n &:hover .nav-dropdown\n // override the inline style.\n display block !important\n .dropdown-title .arrow\n // make the arrow always down at desktop\n border-left 4px solid transparent\n border-right 4px solid transparent\n border-top 6px solid $arrowBgColor\n border-bottom 0\n .nav-dropdown\n display none\n // Avoid height shaked by clicking\n height auto !important\n box-sizing border-box;\n max-height calc(100vh - 2.7rem)\n overflow-y auto\n position absolute\n top 100%\n right 0\n background-color #fff\n padding 0.6rem 0\n border 1px solid #ddd\n border-bottom-color #ccc\n text-align left\n border-radius 0.25rem\n white-space nowrap\n margin 0\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/59be6df56203b8a1fbc7e14d04ce6140.json b/node_modules/vuepress/node_modules/.cache/vuepress/59be6df56203b8a1fbc7e14d04ce6140.json new file mode 100644 index 00000000..7eb67fdf --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/59be6df56203b8a1fbc7e14d04ce6140.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/README.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/README.md","mtime":1541488927605},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./README.md?vue&type=template&id=8a4bbf68&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"README.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/59f0bc65a879e51fa6c4e160c0867570.json b/node_modules/vuepress/node_modules/.cache/vuepress/59f0bc65a879e51fa6c4e160c0867570.json new file mode 100644 index 00000000..e5641526 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/59f0bc65a879e51fa6c4e160c0867570.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/dataMixin.js","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/dataMixin.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import \"core-js/modules/es6.object.freeze\";\nimport \"core-js/modules/es6.array.iterator\";\nimport \"core-js/modules/es6.object.keys\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.function.name\";\nimport \"core-js/modules/es6.array.filter\";\nimport \"core-js/modules/es6.array.index-of\";\nimport Vue from 'vue';\nimport { findPageForPath } from './util';\nexport default function dataMixin(siteData) {\n prepare(siteData);\n var store = new Vue({\n data: {\n siteData: siteData\n }\n });\n\n if (module.hot) {\n module.hot.accept('./.temp/siteData', function () {\n prepare(siteData);\n store.siteData = siteData;\n });\n }\n\n return {\n computed: {\n $site: function $site() {\n return store.siteData;\n },\n $localeConfig: function $localeConfig() {\n var _this$$site$locales = this.$site.locales,\n locales = _this$$site$locales === void 0 ? {} : _this$$site$locales;\n var targetLang;\n var defaultLang;\n\n for (var path in locales) {\n if (path === '/') {\n defaultLang = locales[path];\n } else if (this.$page.path.indexOf(path) === 0) {\n targetLang = locales[path];\n }\n }\n\n return targetLang || defaultLang || {};\n },\n $siteTitle: function $siteTitle() {\n return this.$localeConfig.title || this.$site.title || '';\n },\n $title: function $title() {\n var page = this.$page;\n var siteTitle = this.$siteTitle;\n var selfTitle = page.frontmatter.home ? null : page.frontmatter.title || // explicit title\n page.title // inferred title\n ;\n return siteTitle ? selfTitle ? selfTitle + ' | ' + siteTitle : siteTitle : selfTitle || 'VuePress';\n },\n $description: function $description() {\n // #565 hoist description from meta\n if (this.$page.frontmatter.meta) {\n var descriptionMeta = this.$page.frontmatter.meta.filter(function (item) {\n return item.name === 'description';\n })[0];\n if (descriptionMeta) return descriptionMeta.content;\n }\n\n return this.$page.frontmatter.description || this.$localeConfig.description || this.$site.description || '';\n },\n $lang: function $lang() {\n return this.$page.frontmatter.lang || this.$localeConfig.lang || 'en-US';\n },\n $localePath: function $localePath() {\n return this.$localeConfig.path || '/';\n },\n $themeLocaleConfig: function $themeLocaleConfig() {\n return (this.$site.themeConfig.locales || {})[this.$localePath] || {};\n },\n $page: function $page() {\n return findPageForPath(this.$site.pages, this.$route.path);\n }\n }\n };\n}\n\nfunction prepare(siteData) {\n siteData.pages.forEach(function (page) {\n if (!page.frontmatter) {\n page.frontmatter = {};\n }\n });\n\n if (siteData.locales) {\n Object.keys(siteData.locales).forEach(function (path) {\n siteData.locales[path].path = path;\n });\n }\n\n Object.freeze(siteData);\n}",{"version":3,"sources":["node_modules/vuepress/lib/app/dataMixin.js"],"names":["Vue","findPageForPath","dataMixin","siteData","prepare","store","data","module","hot","accept","computed","$site","$localeConfig","locales","targetLang","defaultLang","path","$page","indexOf","$siteTitle","title","$title","page","siteTitle","selfTitle","frontmatter","home","$description","meta","descriptionMeta","filter","item","name","content","description","$lang","lang","$localePath","$themeLocaleConfig","themeConfig","pages","$route","forEach","Object","keys","freeze"],"mappings":";;;;;;;;AAAA,OAAOA,GAAP,MAAgB,KAAhB;AACA,SAASC,eAAT,QAAgC,QAAhC;AAEA,eAAe,SAASC,SAAT,CAAoBC,QAApB,EAA8B;AAC3CC,UAAQD,QAAR;AACA,MAAME,QAAQ,IAAIL,GAAJ,CAAQ;AACpBM,UAAM;AAAEH;AAAF;AADc,GAAR,CAAd;;AAIA,MAAII,OAAOC,GAAX,EAAgB;AACdD,WAAOC,GAAP,CAAWC,MAAX,CAAkB,kBAAlB,EAAsC,YAAM;AAC1CL,cAAQD,QAAR;AACAE,YAAMF,QAAN,GAAiBA,QAAjB;AACD,KAHD;AAID;;AAED,SAAO;AACLO,cAAU;AACRC,WADQ,mBACC;AACP,eAAON,MAAMF,QAAb;AACD,OAHO;AAIRS,mBAJQ,2BAIS;AAAA,kCACS,KAAKD,KADd,CACPE,OADO;AAAA,YACPA,OADO,oCACG,EADH;AAEf,YAAIC,UAAJ;AACA,YAAIC,WAAJ;;AACA,aAAK,IAAMC,IAAX,IAAmBH,OAAnB,EAA4B;AAC1B,cAAIG,SAAS,GAAb,EAAkB;AAChBD,0BAAcF,QAAQG,IAAR,CAAd;AACD,WAFD,MAEO,IAAI,KAAKC,KAAL,CAAWD,IAAX,CAAgBE,OAAhB,CAAwBF,IAAxB,MAAkC,CAAtC,EAAyC;AAC9CF,yBAAaD,QAAQG,IAAR,CAAb;AACD;AACF;;AACD,eAAOF,cAAcC,WAAd,IAA6B,EAApC;AACD,OAhBO;AAiBRI,gBAjBQ,wBAiBM;AACZ,eAAO,KAAKP,aAAL,CAAmBQ,KAAnB,IAA4B,KAAKT,KAAL,CAAWS,KAAvC,IAAgD,EAAvD;AACD,OAnBO;AAoBRC,YApBQ,oBAoBE;AACR,YAAMC,OAAO,KAAKL,KAAlB;AACA,YAAMM,YAAY,KAAKJ,UAAvB;AACA,YAAMK,YAAYF,KAAKG,WAAL,CAAiBC,IAAjB,GAAwB,IAAxB,GAChBJ,KAAKG,WAAL,CAAiBL,KAAjB,IAA0B;AAC1BE,aAAKF,KAFW,CAEL;AAFb;AAIA,eAAOG,YACHC,YACGA,YAAY,KAAZ,GAAoBD,SADvB,GAEEA,SAHC,GAIHC,aAAa,UAJjB;AAKD,OAhCO;AAiCRG,kBAjCQ,0BAiCQ;AACd;AACA,YAAI,KAAKV,KAAL,CAAWQ,WAAX,CAAuBG,IAA3B,EAAiC;AAC/B,cAAMC,kBAAkB,KAAKZ,KAAL,CAAWQ,WAAX,CAAuBG,IAAvB,CAA4BE,MAA5B,CAAmC;AAAA,mBAAQC,KAAKC,IAAL,KAAc,aAAtB;AAAA,WAAnC,EAAwE,CAAxE,CAAxB;AACA,cAAIH,eAAJ,EAAqB,OAAOA,gBAAgBI,OAAvB;AACtB;;AACD,eAAO,KAAKhB,KAAL,CAAWQ,WAAX,CAAuBS,WAAvB,IAAsC,KAAKtB,aAAL,CAAmBsB,WAAzD,IAAwE,KAAKvB,KAAL,CAAWuB,WAAnF,IAAkG,EAAzG;AACD,OAxCO;AAyCRC,WAzCQ,mBAyCC;AACP,eAAO,KAAKlB,KAAL,CAAWQ,WAAX,CAAuBW,IAAvB,IAA+B,KAAKxB,aAAL,CAAmBwB,IAAlD,IAA0D,OAAjE;AACD,OA3CO;AA4CRC,iBA5CQ,yBA4CO;AACb,eAAO,KAAKzB,aAAL,CAAmBI,IAAnB,IAA2B,GAAlC;AACD,OA9CO;AA+CRsB,wBA/CQ,gCA+Cc;AACpB,eAAO,CAAC,KAAK3B,KAAL,CAAW4B,WAAX,CAAuB1B,OAAvB,IAAkC,EAAnC,EAAuC,KAAKwB,WAA5C,KAA4D,EAAnE;AACD,OAjDO;AAkDRpB,WAlDQ,mBAkDC;AACP,eAAOhB,gBACL,KAAKU,KAAL,CAAW6B,KADN,EAEL,KAAKC,MAAL,CAAYzB,IAFP,CAAP;AAID;AAvDO;AADL,GAAP;AA2DD;;AAED,SAASZ,OAAT,CAAkBD,QAAlB,EAA4B;AAC1BA,WAASqC,KAAT,CAAeE,OAAf,CAAuB,gBAAQ;AAC7B,QAAI,CAACpB,KAAKG,WAAV,EAAuB;AACrBH,WAAKG,WAAL,GAAmB,EAAnB;AACD;AACF,GAJD;;AAKA,MAAItB,SAASU,OAAb,EAAsB;AACpB8B,WAAOC,IAAP,CAAYzC,SAASU,OAArB,EAA8B6B,OAA9B,CAAsC,gBAAQ;AAC5CvC,eAASU,OAAT,CAAiBG,IAAjB,EAAuBA,IAAvB,GAA8BA,IAA9B;AACD,KAFD;AAGD;;AACD2B,SAAOE,MAAP,CAAc1C,QAAd;AACD","sourceRoot":"/Users/ruki/projects/personal/xmake-docs","sourcesContent":["import Vue from 'vue'\nimport { findPageForPath } from './util'\n\nexport default function dataMixin (siteData) {\n prepare(siteData)\n const store = new Vue({\n data: { siteData }\n })\n\n if (module.hot) {\n module.hot.accept('./.temp/siteData', () => {\n prepare(siteData)\n store.siteData = siteData\n })\n }\n\n return {\n computed: {\n $site () {\n return store.siteData\n },\n $localeConfig () {\n const { locales = {}} = this.$site\n let targetLang\n let defaultLang\n for (const path in locales) {\n if (path === '/') {\n defaultLang = locales[path]\n } else if (this.$page.path.indexOf(path) === 0) {\n targetLang = locales[path]\n }\n }\n return targetLang || defaultLang || {}\n },\n $siteTitle () {\n return this.$localeConfig.title || this.$site.title || ''\n },\n $title () {\n const page = this.$page\n const siteTitle = this.$siteTitle\n const selfTitle = page.frontmatter.home ? null : (\n page.frontmatter.title || // explicit title\n page.title // inferred title\n )\n return siteTitle\n ? selfTitle\n ? (selfTitle + ' | ' + siteTitle)\n : siteTitle\n : selfTitle || 'VuePress'\n },\n $description () {\n // #565 hoist description from meta\n if (this.$page.frontmatter.meta) {\n const descriptionMeta = this.$page.frontmatter.meta.filter(item => item.name === 'description')[0]\n if (descriptionMeta) return descriptionMeta.content\n }\n return this.$page.frontmatter.description || this.$localeConfig.description || this.$site.description || ''\n },\n $lang () {\n return this.$page.frontmatter.lang || this.$localeConfig.lang || 'en-US'\n },\n $localePath () {\n return this.$localeConfig.path || '/'\n },\n $themeLocaleConfig () {\n return (this.$site.themeConfig.locales || {})[this.$localePath] || {}\n },\n $page () {\n return findPageForPath(\n this.$site.pages,\n this.$route.path\n )\n }\n }\n }\n}\n\nfunction prepare (siteData) {\n siteData.pages.forEach(page => {\n if (!page.frontmatter) {\n page.frontmatter = {}\n }\n })\n if (siteData.locales) {\n Object.keys(siteData.locales).forEach(path => {\n siteData.locales[path].path = path\n })\n }\n Object.freeze(siteData)\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/5a3b39fc672cc9bc7b83c901421cfc74.json b/node_modules/vuepress/node_modules/.cache/vuepress/5a3b39fc672cc9bc7b83c901421cfc74.json new file mode 100644 index 00000000..1b21a04d --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/5a3b39fc672cc9bc7b83c901421cfc74.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/manual/introduction.md?vue&type=template&id=b3629762&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/manual/introduction.md","mtime":1541492172602},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"手册\"><a class=\"header-anchor\" href=\"#手册\" aria-hidden=\"true\">#</a> 手册</h1>\n<p>[TODO]</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/5a873e1d876cb5a29953bc10dddd9bda.json b/node_modules/vuepress/node_modules/.cache/vuepress/5a873e1d876cb5a29953bc10dddd9bda.json new file mode 100644 index 00000000..6dd47c36 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/5a873e1d876cb5a29953bc10dddd9bda.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/zh/guide/getting-started.md?vue&type=template&id=01e6c1a0&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/zh/guide/getting-started.md","mtime":1541554744255},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"快速开始\"><a class=\"header-anchor\" href=\"#快速开始\" aria-hidden=\"true\">#</a> 快速开始</h1>\n<h2 id=\"编译\"><a class=\"header-anchor\" href=\"#编译\" aria-hidden=\"true\">#</a> 编译</h2>\n<p>请先安装: <a href=\"https://github.com/tboox/xmake\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code><span class=\"token comment\"># 默认直接编译当前主机平台</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake\n\n<span class=\"token comment\"># 编译mingw平台</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake f -p mingw --sdk<span class=\"token operator\">=</span>/home/mingwsdk \n$ xmake\n\n<span class=\"token comment\"># 编译iphoneos平台</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake f -p iphoneos \n$ xmake\n\n<span class=\"token comment\"># 编译android平台</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake f -p android --ndk<span class=\"token operator\">=</span>xxxxx\n$ xmake\n\n<span class=\"token comment\"># 交叉编译</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake f -p linux --sdk<span class=\"token operator\">=</span>/home/sdk <span class=\"token comment\">#--bin=/home/sdk/bin</span>\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"例子\"><a class=\"header-anchor\" href=\"#例子\" aria-hidden=\"true\">#</a> 例子</h2>\n<!--beforebegin--><div class=\"language-c extra-class\"><!--afterbegin--><pre v-pre class=\"language-c\"><code><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">\"tbox/tbox.h\"</span></span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> argc<span class=\"token punctuation\">,</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span> argv<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// init tbox</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">tb_init</span><span class=\"token punctuation\">(</span>tb_null<span class=\"token punctuation\">,</span> tb_null<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"hello tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// init vector</span>\n tb_vector_ref_t vector <span class=\"token operator\">=</span> <span class=\"token function\">tb_vector_init</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">tb_element_cstr</span><span class=\"token punctuation\">(</span>tb_true<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// insert item</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// dump all items</span>\n tb_for_all <span class=\"token punctuation\">(</span>tb_char_t <span class=\"token keyword\">const</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">,</span> vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%s\"</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit vector</span>\n <span class=\"token function\">tb_vector_exit</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// init stream</span>\n tb_stream_ref_t stream <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_init_from_url</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"http://www.xxx.com/file.txt\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// open stream</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token function\">tb_stream_open</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// read line</span>\n tb_long_t size <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n tb_char_t line<span class=\"token punctuation\">[</span>TB_STREAM_BLOCK_MAXN<span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">while</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>size <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_bread_line</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">,</span> <span class=\"token keyword\">sizeof</span><span class=\"token punctuation\">(</span>line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">>=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"line: %s\"</span><span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit stream</span>\n <span class=\"token function\">tb_stream_exit</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// wait </span>\n <span class=\"token function\">getchar</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// exit tbox</span>\n <span class=\"token function\">tb_exit</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/5b31462d5cff03b558f249d4098e113e.json b/node_modules/vuepress/node_modules/.cache/vuepress/5b31462d5cff03b558f249d4098e113e.json new file mode 100644 index 00000000..20452636 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/5b31462d5cff03b558f249d4098e113e.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/guide/introduction.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/guide/introduction.md","mtime":1541555923022},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./introduction.md?vue&type=template&id=0b95fd94&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n \"635d1cb9\"\n \n)\n\ncomponent.options.__file = \"introduction.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/5b9f30774bbdfdb1d1a10922f6201e54.json b/node_modules/vuepress/node_modules/.cache/vuepress/5b9f30774bbdfdb1d1a10922f6201e54.json new file mode 100644 index 00000000..7b49030c --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/5b9f30774bbdfdb1d1a10922f6201e54.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue?vue&type=template&id=2cf6a4d4&functional=true&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<svg class=\"icon outbound\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" x=\"0px\" y=\"0px\" viewBox=\"0 0 100 100\" width=\"15\" height=\"15\">\n <path fill=\"currentColor\" d=\"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z\"></path>\n <polygon fill=\"currentColor\" points=\"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9\"></polygon>\n</svg>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/5bd1c3eaf4967e27efa9a92694a4ae78.json b/node_modules/vuepress/node_modules/.cache/vuepress/5bd1c3eaf4967e27efa9a92694a4ae78.json new file mode 100644 index 00000000..1bdc62c1 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/5bd1c3eaf4967e27efa9a92694a4ae78.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./DropdownLink.vue?vue&type=template&id=ba85aa8c&\"\nimport script from \"./DropdownLink.vue?vue&type=script&lang=js&\"\nexport * from \"./DropdownLink.vue?vue&type=script&lang=js&\"\nfunction injectStyles (context) {\n \n var style0 = require(\"./DropdownLink.vue?vue&type=style&index=0&lang=stylus&\")\nif (style0.__inject__) style0.__inject__(context)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n \"0d821344\"\n \n)\n\ncomponent.options.__file = \"DropdownLink.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/5c03404241d34cb1427f0b653067f885.json b/node_modules/vuepress/node_modules/.cache/vuepress/5c03404241d34cb1427f0b653067f885.json new file mode 100644 index 00000000..540400e8 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/5c03404241d34cb1427f0b653067f885.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/locals.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.nav-links\n display inline-block\n a\n line-height 1.4rem\n color inherit\n &:hover, &.router-link-active\n color $accentColor\n .nav-item\n position relative\n display inline-block\n margin-left 1.5rem\n line-height 2rem\n &:first-child\n margin-left 0\n .repo-link\n margin-left 1.5rem\n\n@media (max-width: $MQMobile)\n .nav-links\n .nav-item, .repo-link\n margin-left 0\n\n@media (min-width: $MQMobile)\n .nav-links a\n &:hover, &.router-link-active\n color $textColor\n .nav-item > a:not(.external)\n &:hover, &.router-link-active\n margin-bottom -2px\n border-bottom 2px solid lighten($accentColor, 8%)\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/5c229248ddc2bace291f4e595df73ec9.json b/node_modules/vuepress/node_modules/.cache/vuepress/5c229248ddc2bace291f4e595df73ec9.json new file mode 100644 index 00000000..c49df0ff --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/5c229248ddc2bace291f4e595df73ec9.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue?vue&type=template&id=c97eee92&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sidebar\"},[_c('NavLinks'),_vm._ssrNode(\" \"),_vm._t(\"top\"),_vm._ssrNode(\" \"),(_vm.items.length)?_vm._ssrNode(\"<ul class=\\\"sidebar-links\\\">\",\"</ul>\",_vm._l((_vm.items),function(item,i){return _vm._ssrNode(\"<li>\",\"</li>\",[(item.type === 'group')?_c('SidebarGroup',{attrs:{\"item\":item,\"first\":i === 0,\"open\":i === _vm.openGroupIndex,\"collapsable\":item.collapsable || item.collapsible},on:{\"toggle\":function($event){_vm.toggleGroup(i)}}}):_c('SidebarLink',{attrs:{\"item\":item}})],1)})):_vm._e(),_vm._ssrNode(\" \"),_vm._t(\"bottom\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/5c75be5daf4f34489d485ea255c5fda7.json b/node_modules/vuepress/node_modules/.cache/vuepress/5c75be5daf4f34489d485ea255c5fda7.json new file mode 100644 index 00000000..08e58ead --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/5c75be5daf4f34489d485ea255c5fda7.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/manual/index.md?vue&type=template&id=3b730ffa&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/manual/index.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._ssrNode(\"<h1 id=\\\"manual\\\"><a href=\\\"#manual\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Manual</h1> <p>[TODO]</p>\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/5cae0026c85295562d646a5821dbede7.json b/node_modules/vuepress/node_modules/.cache/vuepress/5cae0026c85295562d646a5821dbede7.json new file mode 100644 index 00000000..66473ad3 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/5cae0026c85295562d646a5821dbede7.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue?vue&type=template&id=1e9bb6d3&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{staticClass:\"navbar\"},[_c('SidebarButton',{on:{\"toggle-sidebar\":function($event){_vm.$emit('toggle-sidebar')}}}),_vm._ssrNode(\" \"),_c('router-link',{staticClass:\"home-link\",attrs:{\"to\":_vm.$localePath}},[(_vm.$site.themeConfig.logo)?_c('img',{staticClass:\"logo\",attrs:{\"src\":_vm.$withBase(_vm.$site.themeConfig.logo),\"alt\":_vm.$siteTitle}}):_vm._e(),_vm._v(\" \"),(_vm.$siteTitle)?_c('span',{ref:\"siteName\",staticClass:\"site-name\",class:{ 'can-hide': _vm.$site.themeConfig.logo }},[_vm._v(_vm._s(_vm.$siteTitle))]):_vm._e()]),_vm._ssrNode(\" \"),_vm._ssrNode(\"<div class=\\\"links\\\"\"+(_vm._ssrStyle(null,{\n 'max-width': _vm.linksWrapMaxWidth + 'px'\n }, null))+\">\",\"</div>\",[(_vm.isAlgoliaSearch)?_c('AlgoliaSearchBox',{attrs:{\"options\":_vm.algolia}}):(_vm.$site.themeConfig.search !== false)?_c('SearchBox'):_vm._e(),_vm._ssrNode(\" \"),_c('NavLinks',{staticClass:\"can-hide\"})],2)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/5d4c9809fcf9bc575d0630b58e16548e.json b/node_modules/vuepress/node_modules/.cache/vuepress/5d4c9809fcf9bc575d0630b58e16548e.json new file mode 100644 index 00000000..d762144a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/5d4c9809fcf9bc575d0630b58e16548e.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue?vue&type=template&id=4e56f67c&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"dropdown-wrapper\", class: { open: _vm.open } },\n [\n _c(\"a\", { staticClass: \"dropdown-title\", on: { click: _vm.toggle } }, [\n _c(\"span\", { staticClass: \"title\" }, [_vm._v(_vm._s(_vm.item.text))]),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"arrow\", class: _vm.open ? \"down\" : \"right\" })\n ]),\n _vm._v(\" \"),\n _c(\"DropdownTransition\", [\n _c(\n \"ul\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.open,\n expression: \"open\"\n }\n ],\n staticClass: \"nav-dropdown\"\n },\n _vm._l(_vm.item.items, function(subItem, index) {\n return _c(\n \"li\",\n { key: subItem.link || index, staticClass: \"dropdown-item\" },\n [\n subItem.type === \"links\"\n ? _c(\"h4\", [_vm._v(_vm._s(subItem.text))])\n : _vm._e(),\n _vm._v(\" \"),\n subItem.type === \"links\"\n ? _c(\n \"ul\",\n { staticClass: \"dropdown-subitem-wrapper\" },\n _vm._l(subItem.items, function(childSubItem) {\n return _c(\n \"li\",\n {\n key: childSubItem.link,\n staticClass: \"dropdown-subitem\"\n },\n [_c(\"NavLink\", { attrs: { item: childSubItem } })],\n 1\n )\n })\n )\n : _c(\"NavLink\", { attrs: { item: subItem } })\n ],\n 1\n )\n })\n )\n ])\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/5d7d55f674d44fee5096eecb2554b83d.json b/node_modules/vuepress/node_modules/.cache/vuepress/5d7d55f674d44fee5096eecb2554b83d.json new file mode 100644 index 00000000..0101cc40 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/5d7d55f674d44fee5096eecb2554b83d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/README.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/README.md","mtime":1541486439372},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./README.md?vue&type=template&id=271aadf1&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n \"5a23bab7\"\n \n)\n\ncomponent.options.__file = \"README.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/5db15d61aefec031d0385f24b2e610fa.json b/node_modules/vuepress/node_modules/.cache/vuepress/5db15d61aefec031d0385f24b2e610fa.json new file mode 100644 index 00000000..d2153f9f --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/5db15d61aefec031d0385f24b2e610fa.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexport default {\n name: 'DropdownTransition',\n\n methods: {\n setHeight (items) {\n // explicitly set height so that it can be transitioned\n items.style.height = items.scrollHeight + 'px'\n },\n\n unsetHeight (items) {\n items.style.height = ''\n }\n }\n}\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/5e74b81e7bb9025ad605c8e7ad7703e8.json b/node_modules/vuepress/node_modules/.cache/vuepress/5e74b81e7bb9025ad605c8e7ad7703e8.json new file mode 100644 index 00000000..f986cac3 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/5e74b81e7bb9025ad605c8e7ad7703e8.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue?vue&type=template&id=734e092b&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"home\"},[_vm._ssrNode(\"<div class=\\\"hero\\\">\",\"</div>\",[_vm._ssrNode(((_vm.data.heroImage)?(\"<img\"+(_vm._ssrAttr(\"src\",_vm.$withBase(_vm.data.heroImage)))+\" alt=\\\"hero\\\">\"):\"<!---->\")+\" <h1>\"+_vm._ssrEscape(_vm._s(_vm.data.heroText || _vm.$title || 'Hello'))+\"</h1> <p class=\\\"description\\\">\"+_vm._ssrEscape(\"\\n \"+_vm._s(_vm.data.tagline || _vm.$description || 'Welcome to your VuePress site')+\"\\n \")+\"</p> \"),(_vm.data.actionText && _vm.data.actionLink)?_vm._ssrNode(\"<p class=\\\"action\\\">\",\"</p>\",[_c('NavLink',{staticClass:\"action-button\",attrs:{\"item\":_vm.actionLink}})],1):_vm._e()],2),_vm._ssrNode(\" \"+((_vm.data.features && _vm.data.features.length)?(\"<div class=\\\"features\\\">\"+(_vm._ssrList((_vm.data.features),function(feature,index){return (\"<div class=\\\"feature\\\"><h2>\"+_vm._ssrEscape(_vm._s(feature.title))+\"</h2> <p>\"+_vm._ssrEscape(_vm._s(feature.details))+\"</p></div>\")}))+\"</div>\"):\"<!---->\")+\" \"),_c('Content',{attrs:{\"custom\":\"\"}}),_vm._ssrNode(\" \"+((_vm.data.footer)?(\"<div class=\\\"footer\\\">\"+_vm._ssrEscape(\"\\n \"+_vm._s(_vm.data.footer)+\"\\n \")+\"</div>\"):\"<!---->\"))],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/5ec2a7c4782c17965de6763d36a2c245.json b/node_modules/vuepress/node_modules/.cache/vuepress/5ec2a7c4782c17965de6763d36a2c245.json new file mode 100644 index 00000000..d0b56aa6 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/5ec2a7c4782c17965de6763d36a2c245.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=734e092b&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"Home.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/5efc367099c57889a71b42f94c2cab5d.json b/node_modules/vuepress/node_modules/.cache/vuepress/5efc367099c57889a71b42f94c2cab5d.json new file mode 100644 index 00000000..6f092a4a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/5efc367099c57889a71b42f94c2cab5d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/.temp/themeEnhanceApp.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/.temp/themeEnhanceApp.js","mtime":1541576694592},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["export default function () {}",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/5f66450ca34cb55200b0c7c76a7d52b4.json b/node_modules/vuepress/node_modules/.cache/vuepress/5f66450ca34cb55200b0c7c76a7d52b4.json new file mode 100644 index 00000000..b681dcf6 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/5f66450ca34cb55200b0c7c76a7d52b4.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NotFound.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NotFound.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar msgs = [\"There's nothing here.\", \"How did we get here?\", \"That's a Four-Oh-Four.\", \"Looks like we've got some broken links.\"];\nexport default {\n methods: {\n getMsg: function getMsg() {\n return msgs[Math.floor(Math.random() * msgs.length)];\n }\n }\n};",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/5fe73711e9e2be37b1886ddc0cb19eef.json b/node_modules/vuepress/node_modules/.cache/vuepress/5fe73711e9e2be37b1886ddc0cb19eef.json new file mode 100644 index 00000000..ea752c16 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/5fe73711e9e2be37b1886ddc0cb19eef.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/guide/introduction.md?vue&type=template&id=0b95fd94&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/guide/introduction.md","mtime":1541555923022},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"introduction\"><a class=\"header-anchor\" href=\"#introduction\" aria-hidden=\"true\">#</a> Introduction</h1>\n<p>TBOX is a glib-like cross-platform C library that is simple to use yet powerful in nature.</p>\n<p>The project focuses on making C development easier and provides many modules (.e.g stream, coroutine, regex, container, algorithm ...),\nso that any developer can quickly pick it up and enjoy the productivity boost when developing in C language.</p>\n<p>It supports the following platforms:</p>\n<ul>\n<li>Windows</li>\n<li>Macosx</li>\n<li>Linux</li>\n<li>Android</li>\n<li>iOS</li>\n</ul>\n<p>And it provides many compiling options using <a href=\"http://www.xmake.io\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a>:</p>\n<ul>\n<li>Release: Disable debug information, assertion, memory checking and enable optimization.</li>\n<li>Debug: Enable debug information, assertion, memory checking and disable optimization.</li>\n<li>Small: Disable all extensional modules and enable space optimization.</li>\n<li>Micro: compiling micro library (~64K) for the embed system.</li>\n</ul>\n<p>If you want to know more, please refer to:</p>\n<ul>\n<li><a href=\"http://tboox.org\" target=\"_blank\" rel=\"noopener noreferrer\">HomePage<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/documents\" target=\"_blank\" rel=\"noopener noreferrer\">Documents<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Github<OutboundLink/></a></li>\n<li><a href=\"https://gitee.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Gitee<OutboundLink/></a></li>\n</ul>\n<h2 id=\"features\"><a class=\"header-anchor\" href=\"#features\" aria-hidden=\"true\">#</a> Features</h2>\n<h4 id=\"the-stream-library\"><a class=\"header-anchor\" href=\"#the-stream-library\" aria-hidden=\"true\">#</a> The stream library</h4>\n<ul>\n<li>Supports file, data, http and socket source</li>\n<li>Supports the stream filter for gzip, charset and...</li>\n<li>Implements stream transfer</li>\n<li>Implements the static buffer stream for parsing data</li>\n<li>Supports coroutine and implements asynchronous operation</li>\n</ul>\n<h4 id=\"the-coroutine-library\"><a class=\"header-anchor\" href=\"#the-coroutine-library\" aria-hidden=\"true\">#</a> The coroutine library</h4>\n<ul>\n<li>Provides high-performance coroutine switch(refer to <a href=\"http://tboox.org/2016/10/28/benchbox-coroutine/\" target=\"_blank\" rel=\"noopener noreferrer\">reports<OutboundLink/></a>)</li>\n<li>Supports arm, arm64, x86, x86_64 ..</li>\n<li>Provides channel interfaces</li>\n<li>Provides semaphore and lock interfaces</li>\n<li>Supports io socket and stream operation in coroutine</li>\n<li>Provides some io servers (http ..) using coroutine</li>\n<li>Provides stackfull and stackless coroutines</li>\n<li>Support epoll, kqueue, poll, select and IOCP</li>\n</ul>\n<h4 id=\"the-database-library\"><a class=\"header-anchor\" href=\"#the-database-library\" aria-hidden=\"true\">#</a> The database library</h4>\n<ul>\n<li>Supports mysql and sqlite3 database and enumerates data using the iterator mode</li>\n</ul>\n<h4 id=\"the-xml-parser-library\"><a class=\"header-anchor\" href=\"#the-xml-parser-library\" aria-hidden=\"true\">#</a> The xml parser library</h4>\n<ul>\n<li>Supports DOM and SAX mode and Supports xpath</li>\n</ul>\n<h4 id=\"the-serialization-and-deserialization-library\"><a class=\"header-anchor\" href=\"#the-serialization-and-deserialization-library\" aria-hidden=\"true\">#</a> The serialization and deserialization library</h4>\n<ul>\n<li>Supports xml, json, bplist, xplist, binary formats</li>\n</ul>\n<h4 id=\"the-memory-library\"><a class=\"header-anchor\" href=\"#the-memory-library\" aria-hidden=\"true\">#</a> The memory library</h4>\n<ul>\n<li>Implements some memory pools for optimizing memory</li>\n<li>Supports fast memory error detecting. it can detect the following types of bugs for the debug mode:\n<ul>\n<li>out-of-bounds accesses to heap and globals</li>\n<li>use-after-free</li>\n<li>double-free, invalid free</li>\n<li>memory leaks</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"the-container-library\"><a class=\"header-anchor\" href=\"#the-container-library\" aria-hidden=\"true\">#</a> The container library</h4>\n<ul>\n<li>Implements hash table, single list, double list, vector, stack, queue\nand min/max heap. Supports iterator mode for algorithm</li>\n</ul>\n<h4 id=\"the-algorithm-library\"><a class=\"header-anchor\" href=\"#the-algorithm-library\" aria-hidden=\"true\">#</a> The algorithm library</h4>\n<ul>\n<li>Uses the iterator mode</li>\n<li>Implements find, binary find and reverse find algorithm</li>\n<li>Implements sort, bubble sort, quick sort, heap sort and insert sort algorithm</li>\n<li>Implements count, walk items, reverse walk items, for_all and rfor_all</li>\n</ul>\n<h4 id=\"the-network-library\"><a class=\"header-anchor\" href=\"#the-network-library\" aria-hidden=\"true\">#</a> The network library</h4>\n<ul>\n<li>Implements dns(cached)</li>\n<li>Implements ssl(openssl, polarssl, mbedtls)</li>\n<li>Implements http</li>\n<li>Implements cookies</li>\n<li>Supports ipv4, ipv6</li>\n<li>Supports coroutine</li>\n</ul>\n<h4 id=\"the-platform-library\"><a class=\"header-anchor\" href=\"#the-platform-library\" aria-hidden=\"true\">#</a> The platform library</h4>\n<ul>\n<li>Implements timer, fast and low precision timer</li>\n<li>Implements atomic and atomic64 operation</li>\n<li>Implements spinlock, mutex, event, semaphore, thread and thread pool</li>\n<li>Implements file, socket operation</li>\n<li>Implements poller using epoll, poll, select, kqueue ...</li>\n<li>Implements switch context interfaces for coroutine</li>\n</ul>\n<h4 id=\"the-charset-library\"><a class=\"header-anchor\" href=\"#the-charset-library\" aria-hidden=\"true\">#</a> The charset library</h4>\n<ul>\n<li>Supports utf8, utf16, gbk, gb2312, uc2 and uc4</li>\n<li>Supports big endian and little endian mode</li>\n</ul>\n<h4 id=\"the-zip-library\"><a class=\"header-anchor\" href=\"#the-zip-library\" aria-hidden=\"true\">#</a> The zip library</h4>\n<ul>\n<li>Supports gzip, zlibraw, zlib formats using the zlib library if exists</li>\n<li>Implements lzsw, lz77 and rlc algorithm</li>\n</ul>\n<h4 id=\"the-utils-library\"><a class=\"header-anchor\" href=\"#the-utils-library\" aria-hidden=\"true\">#</a> The utils library</h4>\n<ul>\n<li>Implements base32, base64 encoder and decoder</li>\n<li>Implements assert and trace output for the debug mode</li>\n<li>Implements bits operation for parsing u8, u16, u32, u64 data</li>\n</ul>\n<h4 id=\"the-math-library\"><a class=\"header-anchor\" href=\"#the-math-library\" aria-hidden=\"true\">#</a> The math library</h4>\n<ul>\n<li>Implements random generator</li>\n<li>Implements fast fixed-point calculation, Supports 6-bits, 16-bits, 30-bits fixed-point number</li>\n</ul>\n<h4 id=\"the-libc-library\"><a class=\"header-anchor\" href=\"#the-libc-library\" aria-hidden=\"true\">#</a> The libc library</h4>\n<ul>\n<li>Implements lightweight libc library interfaces, the interface name contains <code>tb_xxx</code> prefix for avoiding conflict</li>\n<li>Implements strixxx strrxxx wcsixxx wcsrxxx interface extension</li>\n<li>Optimizes some frequently-used interface, .e.g. memset, memcpy, strcpy ...</li>\n<li>Implements <code>memset_u16</code>, <code>memset_u32</code>, <code>memset_u64</code> extension interfaces</li>\n</ul>\n<h4 id=\"the-libm-library\"><a class=\"header-anchor\" href=\"#the-libm-library\" aria-hidden=\"true\">#</a> The libm library</h4>\n<ul>\n<li>Implements lightweight libm library interfaces, the interface name contains <code>tb_xxx</code> prefix for avoiding conflict</li>\n<li>Supports float and double type</li>\n</ul>\n<h4 id=\"the-regex-library\"><a class=\"header-anchor\" href=\"#the-regex-library\" aria-hidden=\"true\">#</a> The regex library</h4>\n<ul>\n<li>Supports match and replace</li>\n<li>Supports global/multiline/caseless mode</li>\n<li>Uses pcre, pcre2 and posix regex modules</li>\n</ul>\n<h4 id=\"the-hash-library\"><a class=\"header-anchor\" href=\"#the-hash-library\" aria-hidden=\"true\">#</a> The hash library</h4>\n<ul>\n<li>Implements crc32, adler32, md5 and sha1 hash algorithm</li>\n<li>Implements some string hash algorithms (.e.g bkdr, fnv32, fnv64, sdbm, djb2, rshash, aphash ...)</li>\n<li>Implements uuid generator</li>\n</ul>\n<h2 id=\"projects\"><a class=\"header-anchor\" href=\"#projects\" aria-hidden=\"true\">#</a> Projects</h2>\n<p>Some projects using tbox:</p>\n<ul>\n<li><a href=\"https://github.com/tboox/gbox\" target=\"_blank\" rel=\"noopener noreferrer\">gbox<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/vm86\" target=\"_blank\" rel=\"noopener noreferrer\">vm86<OutboundLink/></a></li>\n<li><a href=\"http://www.xmake.io\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/itrace\" target=\"_blank\" rel=\"noopener noreferrer\">itrace<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/tbox-projects\" target=\"_blank\" rel=\"noopener noreferrer\">more<OutboundLink/></a></li>\n</ul>\n<h2 id=\"contacts\"><a class=\"header-anchor\" href=\"#contacts\" aria-hidden=\"true\">#</a> Contacts</h2>\n<ul>\n<li>Email:<a href=\"mailto:waruqi@gmail.com\">waruqi@gmail.com</a></li>\n<li>Homepage:<a href=\"http://www.tboox.org\" target=\"_blank\" rel=\"noopener noreferrer\">tboox.org<OutboundLink/></a></li>\n<li>Community:<a href=\"https://www.reddit.com/r/tboox/\" target=\"_blank\" rel=\"noopener noreferrer\">/r/tboox on reddit<OutboundLink/></a></li>\n</ul>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/605ddfd19b75f2153ecfea30a4092550.json b/node_modules/vuepress/node_modules/.cache/vuepress/605ddfd19b75f2153ecfea30a4092550.json new file mode 100644 index 00000000..2e794969 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/605ddfd19b75f2153ecfea30a4092550.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Layout.vue?vue&type=template&id=4a890c25&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Layout.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div\n class=\"theme-container\"\n :class=\"pageClasses\"\n @touchstart=\"onTouchStart\"\n @touchend=\"onTouchEnd\"\n>\n <Navbar\n v-if=\"shouldShowNavbar\"\n @toggle-sidebar=\"toggleSidebar\"\n />\n\n <div\n class=\"sidebar-mask\"\n @click=\"toggleSidebar(false)\"\n ></div>\n\n <Sidebar\n :items=\"sidebarItems\"\n @toggle-sidebar=\"toggleSidebar\"\n >\n <slot\n name=\"sidebar-top\"\n slot=\"top\"\n />\n <slot\n name=\"sidebar-bottom\"\n slot=\"bottom\"\n />\n </Sidebar>\n\n <div\n class=\"custom-layout\"\n v-if=\"$page.frontmatter.layout\"\n >\n <component :is=\"$page.frontmatter.layout\"/>\n </div>\n\n <Home v-else-if=\"$page.frontmatter.home\"/>\n\n <Page\n v-else\n :sidebar-items=\"sidebarItems\"\n >\n <slot\n name=\"page-top\"\n slot=\"top\"\n />\n <slot\n name=\"page-bottom\"\n slot=\"bottom\"\n />\n </Page>\n\n <SWUpdatePopup :updateEvent=\"swUpdateEvent\"/>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/60613a95a22eb98a1eb4458f0bf7b850.json b/node_modules/vuepress/node_modules/.cache/vuepress/60613a95a22eb98a1eb4458f0bf7b850.json new file mode 100644 index 00000000..17a98c8a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/60613a95a22eb98a1eb4458f0bf7b850.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue?vue&type=template&id=7eb32c3c&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div class=\"page\">\n <slot name=\"top\"/>\n\n <Content :custom=\"false\"/>\n\n <div class=\"page-edit\">\n <div\n class=\"edit-link\"\n v-if=\"editLink\"\n >\n <a\n :href=\"editLink\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >{{ editLinkText }}</a>\n <OutboundLink/>\n </div>\n\n <div\n class=\"last-updated\"\n v-if=\"lastUpdated\"\n >\n <span class=\"prefix\">{{ lastUpdatedText }}: </span>\n <span class=\"time\">{{ lastUpdated }}</span>\n </div>\n </div>\n\n <div class=\"page-nav\" v-if=\"prev || next\">\n <p class=\"inner\">\n <span\n v-if=\"prev\"\n class=\"prev\"\n >\n ←\n <router-link\n v-if=\"prev\"\n class=\"prev\"\n :to=\"prev.path\"\n >\n {{ prev.title || prev.path }}\n </router-link>\n </span>\n\n <span\n v-if=\"next\"\n class=\"next\"\n >\n <router-link\n v-if=\"next\"\n :to=\"next.path\"\n >\n {{ next.title || next.path }}\n </router-link>\n →\n </span>\n </p>\n </div>\n\n <slot name=\"bottom\"/>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/608e6f0a65988bb008f5e3d47c1d968b.json b/node_modules/vuepress/node_modules/.cache/vuepress/608e6f0a65988bb008f5e3d47c1d968b.json new file mode 100644 index 00000000..5d9af81f --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/608e6f0a65988bb008f5e3d47c1d968b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/introduction.md?vue&type=template&id=60806558&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/introduction.md","mtime":1541489249205},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._m(0),_vm._v(\" \"),_c('p',[_vm._v(\"TBOX是一个用c语言实现的跨平台开发库。\")]),_vm._v(\" \"),_c('p',[_vm._v(\"针对各个平台,封装了统一的接口,简化了各类开发过程中常用操作,使你在开发过程中,更加关注实际应用的开发,而不是把时间浪费在琐碎的接口兼容性上面,并且充分利用了各个平台独有的一些特性进行优化。\")]),_vm._v(\" \"),_c('p',[_vm._v(\"这个项目的目的,是为了使C开发更加的简单高效。\")]),_vm._v(\" \"),_c('p',[_vm._v(\"目前支持的平台有:\")]),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('p',[_vm._v(\"通过\"),_c('a',{attrs:{\"href\":\"http://www.xmake.io/cn\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"xmake\"),_c('OutboundLink')],1),_vm._v(\"支持各种编译模式:\")]),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_c('p',[_vm._v(\"如果你想了解更多,请参考:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"http://www.tboox.org/cn\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"项目主页\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/tboox/tbox/wiki/%E7%9B%AE%E5%BD%95\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"在线文档\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/tboox/tbox\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"Github\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://gitee.com/tboox/tbox\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"Gitee\"),_c('OutboundLink')],1)])]),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_c('p',[_vm._v(\"针对http、file、socket、data等流数据,实现统一接口进行读写,并且支持: 阻塞、非阻塞、异步 三种读写模式。\\n支持中间增加多层filter流进行流过滤,实现边读取,内部边进行解压、编码转换、加密等操作,极大的减少了内存使用。\")]),_vm._v(\" \"),_c('p',[_vm._v(\"主要提供以下模块:\")]),_vm._v(\" \"),_vm._m(5),_vm._v(\" \"),_vm._m(6),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"快速高效的协程切换支持(具体性能参考:\"),_c('a',{attrs:{\"href\":\"http://tboox.org/cn/2016/10/28/benchbox-coroutine/\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"基准测试报告\"),_c('OutboundLink')],1),_vm._v(\")\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供跨平台支持,核心切换算法参考boost,并且对其进行重写和优化,目前支持架构:x86, x86_64, arm, arm64, mips32\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供channel协程间数据通信支持,基于生产、消费者模型\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供信号量、协程锁支持\")]),_vm._v(\" \"),_c('li',[_vm._v(\"socket、stream都模块原生支持协程,并且可在线程和协程间进行无缝切换\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供http、file等基于协程的简单服务器实例,只需几百行代码,就可以从socket开始写个高性能io服务器,代码逻辑比异步回调模式更加清晰\")]),_vm._v(\" \"),_c('li',[_vm._v(\"同时提供stackfull, stackless两种协程模式支持,stackless协程更加的轻量(每个协程只占用几十个bytes),切换更快(会牺牲部分易用性)\")]),_vm._v(\" \"),_c('li',[_vm._v(\"支持epoll, kqueue, poll, select 和 IOCP\")])]),_vm._v(\" \"),_vm._m(7),_vm._v(\" \"),_vm._m(8),_vm._v(\" \"),_vm._m(9),_vm._v(\" \"),_vm._m(10),_vm._v(\" \"),_vm._m(11),_vm._v(\" \"),_vm._m(12),_vm._v(\" \"),_vm._m(13),_vm._v(\" \"),_vm._m(14),_vm._v(\" \"),_vm._m(15),_vm._v(\" \"),_vm._m(16),_vm._v(\" \"),_vm._m(17),_vm._v(\" \"),_vm._m(18),_vm._v(\" \"),_vm._m(19),_vm._v(\" \"),_vm._m(20),_vm._v(\" \"),_vm._m(21),_vm._v(\" \"),_vm._m(22),_vm._v(\" \"),_vm._m(23),_vm._v(\" \"),_vm._m(24),_vm._v(\" \"),_vm._m(25),_vm._v(\" \"),_vm._m(26),_vm._v(\" \"),_vm._m(27),_vm._v(\" \"),_vm._m(28),_vm._v(\" \"),_vm._m(29),_vm._v(\" \"),_vm._m(30),_vm._v(\" \"),_vm._m(31),_vm._v(\" \"),_vm._m(32),_vm._v(\" \"),_vm._m(33),_vm._v(\" \"),_vm._m(34),_vm._v(\" \"),_vm._m(35),_vm._v(\" \"),_vm._m(36),_vm._v(\" \"),_vm._m(37),_vm._v(\" \"),_c('p',[_vm._v(\"一些使用tbox的项目\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/tboox/gbox\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"gbox\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/tboox/vm86\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"vm86\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"http://www.xmake.io/cn\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"xmake\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/tboox/itrace\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"itrace\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/tboox/tbox/wiki/%E4%BD%BF%E7%94%A8tbox%E7%9A%84%E5%BC%80%E6%BA%90%E5%BA%93\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"更多项目\"),_c('OutboundLink')],1)])]),_vm._v(\" \"),_vm._m(38),_vm._v(\" \"),_c('ul',[_vm._m(39),_vm._v(\" \"),_c('li',[_vm._v(\"主页:\"),_c('a',{attrs:{\"href\":\"http://www.tboox.org/cn\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"TBOOX开源工程\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_vm._v(\"社区:\"),_c('a',{attrs:{\"href\":\"https://www.reddit.com/r/tboox/\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"Reddit论坛\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_vm._v(\"QQ群:343118190\")]),_vm._v(\" \"),_c('li',[_vm._v(\"微信公众号:tboox-os\")])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h1',{attrs:{\"id\":\"简介\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#简介\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 简介\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Windows\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Macosx\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Linux\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Android\")]),_vm._v(\" \"),_c('li',[_vm._v(\"iOS\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Release: 正式版编译,禁用调试信息、断言,各种检测机制,启用编译器优化\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Debug: 调试模式,默认启用详细调试信息、断言、内存越界检测、内存泄漏、锁竞争分析等检测机制\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Small: 最小化编译,默认禁用所有扩展模块,启用编译器最小化优化\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Micro: 针对嵌入式平台,仅仅编译tbox微内核,仅提供最基础的跨平台接口,生成库仅64K左右(内置轻量libc接口实现)\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',{attrs:{\"id\":\"特性\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#特性\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 特性\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"流库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#流库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 流库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_c('code',[_vm._v(\"stream\")]),_vm._v(\":通用非阻塞流,用于一般的单独io处理,同时支持协程以实现异步传输。\")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"transfer\")]),_vm._v(\":流传输器,维护两路流的传输。\")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"static_stream\")]),_vm._v(\":针对静态数据buffer优化的静态流,用于轻量快速的数据解析。\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"协程库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#协程库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 协程库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"数据库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#数据库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 数据库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"统一并简化数据库操作接口,适配各种数据源,通过统一的url来自动连接打开支持的数据库,数据的枚举采用迭代器模型。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"目前支持sqlite3以及mysql两种关系型数据库,也可自定义扩展使用其他关系型数据库。\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"xml库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#xml库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" xml库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"针对xml提供DOM和SAX两种解析模式,SAX方式采用外部迭代模式,灵活性和性能更高,并且可以选择指定路径,进行解析。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"解析过程完全基于stream,所以是高度流化的,可以实现边下载、边解压、边转码、边解析一条龙服务,使用较低的内存也可以解析大规模数据。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供xml writer以支持对xml生成\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"内存库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#内存库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 内存库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"参考linux内核内存管理机制的实现,并对其进行各种改造和优化,所实现的TBOX独有的一整套内存池管理架构。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"调试模式下,可以轻松检测并定位内存泄露、内存越界溢出、内存重叠覆盖等常见内存问题,并对整体内存的使用进行了统计和简要分析。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"针对大块数据、小块数据、字符串数据进行了充分的利用,避免了大量外部碎片和内部碎片的产生。分配操作进行了各种优化,96%的情况下,效率都是在O(1)。\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"容器库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#容器库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 容器库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"提供哈希、链表、数组、队列、堆栈、最小最大堆等常用容器。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"支持各种常用成员类型,在原有的容器期初上,其成员类型还可以完全自定义扩展。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"所有容器都支持迭代器操作。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"大部分容器都可以支持基于stream的序列化和反序列化操作。\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"算法库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#算法库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 算法库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"提供各种排序算法:冒泡排序、堆排序、快速排序、插入排序。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供各种查找算法:线性遍历、二分法搜索。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供各种遍历、删除、统计算法。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"以迭代器为接口,实现算法和容器的分离,类似stl,但是c实现的,更加轻量。\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"网络库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#网络库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 网络库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"实现http客户端模块\")]),_vm._v(\" \"),_c('li',[_vm._v(\"实现cookies\")]),_vm._v(\" \"),_c('li',[_vm._v(\"实现dns解析与缓存\")]),_vm._v(\" \"),_c('li',[_vm._v(\"实现ssl(支持openssl, polarssl, mbedtls)\")]),_vm._v(\" \"),_c('li',[_vm._v(\"支持ipv4、ipv6\")]),_vm._v(\" \"),_c('li',[_vm._v(\"支持通过协程实现异步模式\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"数学运算库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#数学运算库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 数学运算库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"提供各种精度的定点运算支持\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供随机数生成器\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"libc库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#libc库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" libc库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"libc的一个轻量级实现,完全跨平台,并且针对不同架构进行了优化。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"支持大部分字符串、宽字符串操作。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"扩展字符串、宽字符串的各种大小写不敏感操作接口\")]),_vm._v(\" \"),_c('li',[_vm._v(\"扩展\"),_c('code',[_vm._v(\"memset_u16\")]),_vm._v(\"、\"),_c('code',[_vm._v(\"memset_u32\")]),_vm._v(\"等接口,并对其进行高度优化,尤其适合图形渲染程序\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"libm库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#libm库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" libm库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"libm部分接口的一个轻量级实现,以及对常用系统接口的封装。(目前只实现了部分,之后有时间会完全实现掉)\")]),_vm._v(\" \"),_c('li',[_vm._v(\"扩展部分常用接口,增加对sqrt、log2等常用函数的整数版本计算,进行高度优化,不涉及浮点运算,适合嵌入式环境使用。\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"object库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#object库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" object库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"轻量级类apple的CoreFoundation库,支持object、dictionary、array、string、number、date、data等常用对象,并且可以方便扩展自定义对象的序列化。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"支持对xml、json、binary以及apple的plist(xplist/bplist)格式序列化和反序列化。\\n并且实现自有的binary序列化格式, 针对明文进行了简单的加密,在不影响性能的前提下,序列化后的大小比bplist节省30%。\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"平台库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#平台库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 平台库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"提供file、directory、socket、thread、time等常用系统接口\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供atomic、atomic64接口\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供高精度、低精度定时器\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供高性能的线程池操作\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供event、mutex、semaphore、spinlock等事件、互斥、信号量、自旋锁操作\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供获取函数堆栈信息的接口,方便调试和错误定位\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供跨平台动态库加载接口(如果系统支持的话)\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供io轮询器,针对epoll, poll, select, kqueue进行跨平台封装\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供跨平台上下文切换接口,主要用于协程实现,切换效率非常高\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"压缩库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#压缩库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 压缩库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"支持zlib/zlibraw/gzip的压缩与解压(需要第三方zlib库支持)。\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"字符编码库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#字符编码库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 字符编码库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"支持utf8、utf16、gbk、gb2312、uc2、uc4 之间的互相转码,并且支持大小端格式。\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"实用工具库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#实用工具库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 实用工具库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"实现base64/32编解码\")]),_vm._v(\" \"),_c('li',[_vm._v(\"实现crc32、adler32、md5、sha1等常用hash算法\")]),_vm._v(\" \"),_c('li',[_vm._v(\"实现日志输出、断言等辅助调试工具\")]),_vm._v(\" \"),_c('li',[_vm._v(\"实现url编解码\")]),_vm._v(\" \"),_c('li',[_vm._v(\"实现位操作相关接口,支持各种数据格式的解析,可以对8bits、16bits、32bits、64bits、float、double以及任意bits的字段进行解析操作,并且同时支持大端、小端和本地端模式,并针对部分操作进行了优化,像static_stream、stream都有相关接口对其进行了封装,方便在流上进行快速数据解析。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"实现swap16、swap32、swap64等位交换操作,并针对各个平台进行了优化。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"实现一些高级的位处理接口,例如:位0的快速统计、前导0和前导1的快速位计数、后导01的快速位计数\")]),_vm._v(\" \"),_c('li',[_vm._v(\"实现单例模块,可以对静态对象、实例对象进行快速的单例封装,实现全局线程安全\")]),_vm._v(\" \"),_c('li',[_vm._v(\"实现option模块,对命令行参数进行解析,提供快速方便的命令行选项建立和解析操作,对于写终端程序还是很有帮助的\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"正则表达式库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#正则表达式库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 正则表达式库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"支持匹配和替换操作\")]),_vm._v(\" \"),_c('li',[_vm._v(\"支持全局、多行、大小写不敏感等模式\")]),_vm._v(\" \"),_c('li',[_vm._v(\"使用pcre, pcre2和posix正则库\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',{attrs:{\"id\":\"项目例子\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#项目例子\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 项目例子\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',{attrs:{\"id\":\"联系方式\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#联系方式\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 联系方式\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_vm._v(\"邮箱:\"),_c('a',{attrs:{\"href\":\"mailto:waruqi@gmail.com\"}},[_vm._v(\"waruqi@gmail.com\")])])}]\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/60ab9a49e7c3191b534d9431e57878d7.json b/node_modules/vuepress/node_modules/.cache/vuepress/60ab9a49e7c3191b534d9431e57878d7.json new file mode 100644 index 00000000..ca14079a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/60ab9a49e7c3191b534d9431e57878d7.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/locals.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.sidebar\n ul\n padding 0\n margin 0\n list-style-type none\n a\n display inline-block\n .nav-links\n display none\n border-bottom 1px solid $borderColor\n padding 0.5rem 0 0.75rem 0\n a\n font-weight 600\n .nav-item, .repo-link\n display block\n line-height 1.25rem\n font-size 1.1em\n padding 0.5rem 0 0.5rem 1.5rem\n .sidebar-links\n padding 1.5rem 0\n\n@media (max-width: $MQMobile)\n .sidebar\n .nav-links\n display block\n .dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active::after\n top calc(1rem - 2px)\n .sidebar-links\n padding 1rem 0\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/60d9027804abafe90b2292d821216e10.json b/node_modules/vuepress/node_modules/.cache/vuepress/60d9027804abafe90b2292d821216e10.json new file mode 100644 index 00000000..87c8c1b2 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/60d9027804abafe90b2292d821216e10.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.search-box\n display inline-block\n position relative\n margin-right 1rem\n input\n cursor text\n width 10rem\n color lighten($textColor, 25%)\n display inline-block\n border 1px solid darken($borderColor, 10%)\n border-radius 2rem\n font-size 0.9rem\n line-height 2rem\n padding 0 0.5rem 0 2rem\n outline none\n transition all .2s ease\n background #fff url(./search.svg) 0.6rem 0.5rem no-repeat\n background-size 1rem\n &:focus\n cursor auto\n border-color $accentColor\n .suggestions\n background #fff\n width 20rem\n position absolute\n top 1.5rem\n border 1px solid darken($borderColor, 10%)\n border-radius 6px\n padding 0.4rem\n list-style-type none\n &.align-right\n right 0\n .suggestion\n line-height 1.4\n padding 0.4rem 0.6rem\n border-radius 4px\n cursor pointer\n a\n white-space normal\n color lighten($textColor, 35%)\n .page-title\n font-weight 600\n .header\n font-size 0.9em\n margin-left 0.25em\n &.focused\n background-color #f3f4f5\n a\n color $accentColor\n\n@media (max-width: $MQNarrow)\n .search-box\n input\n cursor pointer\n width 0\n border-color transparent\n position relative\n &:focus\n cursor text\n left 0\n width 10rem\n\n@media (max-width: $MQNarrow) and (min-width: $MQMobile)\n .search-box\n .suggestions\n left 0\n\n@media (max-width: $MQMobile)\n .search-box\n margin-right 0\n input\n left 1rem\n .suggestions\n right 0\n\n@media (max-width: $MQMobileNarrow)\n .search-box\n .suggestions\n width calc(100vw - 4rem)\n input:focus\n width 8rem\n",{"version":3,"sources":["SearchBox.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0JA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA","file":"SearchBox.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <div class=\"search-box\">\n <input\n @input=\"query = $event.target.value\"\n aria-label=\"Search\"\n :value=\"query\"\n :class=\"{ 'focused': focused }\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n @focus=\"focused = true\"\n @blur=\"focused = false\"\n @keyup.enter=\"go(focusIndex)\"\n @keyup.up=\"onUp\"\n @keyup.down=\"onDown\"\n >\n <ul\n class=\"suggestions\"\n v-if=\"showSuggestions\"\n :class=\"{ 'align-right': alignRight }\"\n @mouseleave=\"unfocus\"\n >\n <li\n class=\"suggestion\"\n v-for=\"(s, i) in suggestions\"\n :class=\"{ focused: i === focusIndex }\"\n @mousedown=\"go(i)\"\n @mouseenter=\"focus(i)\"\n >\n <a :href=\"s.path\" @click.prevent>\n <span class=\"page-title\">{{ s.title || s.path }}</span>\n <span v-if=\"s.header\" class=\"header\">> {{ s.header.title }}</span>\n </a>\n </li>\n </ul>\n </div>\n</template>\n\n<script>\nexport default {\n data () {\n return {\n query: '',\n focused: false,\n focusIndex: 0\n }\n },\n\n computed: {\n showSuggestions () {\n return (\n this.focused &&\n this.suggestions &&\n this.suggestions.length\n )\n },\n\n suggestions () {\n const query = this.query.trim().toLowerCase()\n if (!query) {\n return\n }\n\n const { pages, themeConfig } = this.$site\n const max = themeConfig.searchMaxSuggestions || 5\n const localePath = this.$localePath\n const matches = item => (\n item.title &&\n item.title.toLowerCase().indexOf(query) > -1\n )\n const res = []\n for (let i = 0; i < pages.length; i++) {\n if (res.length >= max) break\n const p = pages[i]\n // filter out results that do not match current locale\n if (this.getPageLocalePath(p) !== localePath) {\n continue\n }\n if (matches(p)) {\n res.push(p)\n } else if (p.headers) {\n for (let j = 0; j < p.headers.length; j++) {\n if (res.length >= max) break\n const h = p.headers[j]\n if (matches(h)) {\n res.push(Object.assign({}, p, {\n path: p.path + '#' + h.slug,\n header: h\n }))\n }\n }\n }\n }\n return res\n },\n\n // make suggestions align right when there are not enough items\n alignRight () {\n const navCount = (this.$site.themeConfig.nav || []).length\n const repo = this.$site.repo ? 1 : 0\n return navCount + repo <= 2\n }\n },\n\n methods: {\n getPageLocalePath (page) {\n for (const localePath in this.$site.locales || {}) {\n if (localePath !== '/' && page.path.indexOf(localePath) === 0) {\n return localePath\n }\n }\n return '/'\n },\n\n onUp () {\n if (this.showSuggestions) {\n if (this.focusIndex > 0) {\n this.focusIndex--\n } else {\n this.focusIndex = this.suggestions.length - 1\n }\n }\n },\n\n onDown () {\n if (this.showSuggestions) {\n if (this.focusIndex < this.suggestions.length - 1) {\n this.focusIndex++\n } else {\n this.focusIndex = 0\n }\n }\n },\n\n go (i) {\n if (!this.showSuggestions) {\n return\n }\n this.$router.push(this.suggestions[i].path)\n this.query = ''\n this.focusIndex = 0\n },\n\n focus (i) {\n this.focusIndex = i\n },\n\n unfocus () {\n this.focusIndex = -1\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.search-box\n display inline-block\n position relative\n margin-right 1rem\n input\n cursor text\n width 10rem\n color lighten($textColor, 25%)\n display inline-block\n border 1px solid darken($borderColor, 10%)\n border-radius 2rem\n font-size 0.9rem\n line-height 2rem\n padding 0 0.5rem 0 2rem\n outline none\n transition all .2s ease\n background #fff url(./search.svg) 0.6rem 0.5rem no-repeat\n background-size 1rem\n &:focus\n cursor auto\n border-color $accentColor\n .suggestions\n background #fff\n width 20rem\n position absolute\n top 1.5rem\n border 1px solid darken($borderColor, 10%)\n border-radius 6px\n padding 0.4rem\n list-style-type none\n &.align-right\n right 0\n .suggestion\n line-height 1.4\n padding 0.4rem 0.6rem\n border-radius 4px\n cursor pointer\n a\n white-space normal\n color lighten($textColor, 35%)\n .page-title\n font-weight 600\n .header\n font-size 0.9em\n margin-left 0.25em\n &.focused\n background-color #f3f4f5\n a\n color $accentColor\n\n@media (max-width: $MQNarrow)\n .search-box\n input\n cursor pointer\n width 0\n border-color transparent\n position relative\n &:focus\n cursor text\n left 0\n width 10rem\n\n@media (max-width: $MQNarrow) and (min-width: $MQMobile)\n .search-box\n .suggestions\n left 0\n\n@media (max-width: $MQMobile)\n .search-box\n margin-right 0\n input\n left 1rem\n .suggestions\n right 0\n\n@media (max-width: $MQMobileNarrow)\n .search-box\n .suggestions\n width calc(100vw - 4rem)\n input:focus\n width 8rem\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/60f90b01653061b12e321a02e80e7b23.json b/node_modules/vuepress/node_modules/.cache/vuepress/60f90b01653061b12e321a02e80e7b23.json new file mode 100644 index 00000000..bad53210 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/60f90b01653061b12e321a02e80e7b23.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport NavLink from './NavLink.vue'\n\nexport default {\n components: { NavLink },\n\n computed: {\n data () {\n return this.$page.frontmatter\n },\n\n actionLink () {\n return {\n link: this.data.actionLink,\n text: this.data.actionText\n }\n }\n }\n}\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/6126dc39a76c3386b614d794f1db9669.json b/node_modules/vuepress/node_modules/.cache/vuepress/6126dc39a76c3386b614d794f1db9669.json new file mode 100644 index 00000000..e7d213e7 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/6126dc39a76c3386b614d794f1db9669.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexport default {\n props: {\n updateEvent: {\n type: Object,\n default: null\n }\n },\n\n computed: {\n popupConfig () {\n for (const config of [this.$themeLocaleConfig, this.$site.themeConfig]) {\n const sw = config.serviceWorker\n if (sw && sw.updatePopup) {\n return typeof sw.updatePopup === 'object' ? sw.updatePopup : {}\n }\n }\n return null\n },\n\n enabled () {\n return Boolean(this.popupConfig && this.updateEvent)\n },\n\n message () {\n const c = this.popupConfig\n return (c && c.message) || 'New content is available.'\n },\n\n buttonText () {\n const c = this.popupConfig\n return (c && c.buttonText) || 'Refresh'\n }\n },\n\n methods: {\n reload () {\n if (this.updateEvent) {\n this.updateEvent.skipWaiting().then(() => {\n location.reload(true)\n })\n this.updateEvent = null\n }\n }\n }\n}\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/61435c6ec5290dbdf024fc85b47739df.json b/node_modules/vuepress/node_modules/.cache/vuepress/61435c6ec5290dbdf024fc85b47739df.json new file mode 100644 index 00000000..5a62f60b --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/61435c6ec5290dbdf024fc85b47739df.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Page.vue?vue&type=template&id=17e966b4&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Page.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div class=\"page\">\n <slot name=\"top\"/>\n\n <Content :custom=\"false\"/>\n\n <div class=\"page-edit\">\n <div\n class=\"edit-link\"\n v-if=\"editLink\"\n >\n <a\n :href=\"editLink\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >{{ editLinkText }}</a>\n <OutboundLink/>\n </div>\n\n <div\n class=\"last-updated\"\n v-if=\"lastUpdated\"\n >\n <span class=\"prefix\">{{ lastUpdatedText }}: </span>\n <span class=\"time\">{{ lastUpdated }}</span>\n </div>\n </div>\n\n <div class=\"page-nav\" v-if=\"prev || next\">\n <p class=\"inner\">\n <span\n v-if=\"prev\"\n class=\"prev\"\n >\n ←\n <router-link\n v-if=\"prev\"\n class=\"prev\"\n :to=\"prev.path\"\n >\n {{ prev.title || prev.path }}\n </router-link>\n </span>\n\n <span\n v-if=\"next\"\n class=\"next\"\n >\n <router-link\n v-if=\"next\"\n :to=\"next.path\"\n >\n {{ next.title || next.path }}\n </router-link>\n →\n </span>\n </p>\n </div>\n\n <slot name=\"bottom\"/>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/615899c3244cb3d2550cb88b5dcb49d8.json b/node_modules/vuepress/node_modules/.cache/vuepress/615899c3244cb3d2550cb88b5dcb49d8.json new file mode 100644 index 00000000..084a002d --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/615899c3244cb3d2550cb88b5dcb49d8.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Page.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Page.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n@require './styles/wrapper.styl'\n\n.page\n padding-bottom 2rem\n\n.page-edit\n @extend $wrapper\n padding-top 1rem\n padding-bottom 1rem\n overflow auto\n .edit-link\n display inline-block\n a\n color lighten($textColor, 25%)\n margin-right 0.25rem\n .last-updated\n float right\n font-size 0.9em\n .prefix\n font-weight 500\n color lighten($textColor, 25%)\n .time\n font-weight 400\n color #aaa\n\n.page-nav\n @extend $wrapper\n padding-top 1rem\n padding-bottom 0\n .inner\n min-height 2rem\n margin-top 0\n border-top 1px solid $borderColor\n padding-top 1rem\n overflow auto // clear float\n .next\n float right\n\n@media (max-width: $MQMobile)\n .page-edit\n .edit-link\n margin-bottom .5rem\n .last-updated\n font-size .8em\n float none\n text-align left\n\n",{"version":3,"sources":["Page.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqMA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"Page.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <div class=\"page\">\n <slot name=\"top\"/>\n\n <Content :custom=\"false\"/>\n\n <div class=\"page-edit\">\n <div\n class=\"edit-link\"\n v-if=\"editLink\"\n >\n <a\n :href=\"editLink\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >{{ editLinkText }}</a>\n <OutboundLink/>\n </div>\n\n <div\n class=\"last-updated\"\n v-if=\"lastUpdated\"\n >\n <span class=\"prefix\">{{ lastUpdatedText }}: </span>\n <span class=\"time\">{{ lastUpdated }}</span>\n </div>\n </div>\n\n <div class=\"page-nav\" v-if=\"prev || next\">\n <p class=\"inner\">\n <span\n v-if=\"prev\"\n class=\"prev\"\n >\n ←\n <router-link\n v-if=\"prev\"\n class=\"prev\"\n :to=\"prev.path\"\n >\n {{ prev.title || prev.path }}\n </router-link>\n </span>\n\n <span\n v-if=\"next\"\n class=\"next\"\n >\n <router-link\n v-if=\"next\"\n :to=\"next.path\"\n >\n {{ next.title || next.path }}\n </router-link>\n →\n </span>\n </p>\n </div>\n\n <slot name=\"bottom\"/>\n </div>\n</template>\n\n<script>\nimport { resolvePage, normalize, outboundRE, endingSlashRE } from './util'\n\nexport default {\n props: ['sidebarItems'],\n\n computed: {\n lastUpdated () {\n if (this.$page.lastUpdated) {\n return new Date(this.$page.lastUpdated).toLocaleString(this.$lang)\n }\n },\n\n lastUpdatedText () {\n if (typeof this.$themeLocaleConfig.lastUpdated === 'string') {\n return this.$themeLocaleConfig.lastUpdated\n }\n if (typeof this.$site.themeConfig.lastUpdated === 'string') {\n return this.$site.themeConfig.lastUpdated\n }\n return 'Last Updated'\n },\n\n prev () {\n const prev = this.$page.frontmatter.prev\n if (prev === false) {\n return\n } else if (prev) {\n return resolvePage(this.$site.pages, prev, this.$route.path)\n } else {\n return resolvePrev(this.$page, this.sidebarItems)\n }\n },\n\n next () {\n const next = this.$page.frontmatter.next\n if (next === false) {\n return\n } else if (next) {\n return resolvePage(this.$site.pages, next, this.$route.path)\n } else {\n return resolveNext(this.$page, this.sidebarItems)\n }\n },\n\n editLink () {\n if (this.$page.frontmatter.editLink === false) {\n return\n }\n const {\n repo,\n editLinks,\n docsDir = '',\n docsBranch = 'master',\n docsRepo = repo\n } = this.$site.themeConfig\n\n let path = normalize(this.$page.path)\n if (endingSlashRE.test(path)) {\n path += 'README.md'\n } else {\n path += '.md'\n }\n if (docsRepo && editLinks) {\n return this.createEditLink(repo, docsRepo, docsDir, docsBranch, path)\n }\n },\n\n editLinkText () {\n return (\n this.$themeLocaleConfig.editLinkText ||\n this.$site.themeConfig.editLinkText ||\n `Edit this page`\n )\n }\n },\n\n methods: {\n createEditLink (repo, docsRepo, docsDir, docsBranch, path) {\n const bitbucket = /bitbucket.org/\n if (bitbucket.test(repo)) {\n const base = outboundRE.test(docsRepo)\n ? docsRepo\n : repo\n return (\n base.replace(endingSlashRE, '') +\n `/${docsBranch}` +\n (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') +\n path +\n `?mode=edit&spa=0&at=${docsBranch}&fileviewer=file-view-default`\n )\n }\n\n const base = outboundRE.test(docsRepo)\n ? docsRepo\n : `https://github.com/${docsRepo}`\n\n return (\n base.replace(endingSlashRE, '') +\n `/edit/${docsBranch}` +\n (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') +\n path\n )\n }\n }\n}\n\nfunction resolvePrev (page, items) {\n return find(page, items, -1)\n}\n\nfunction resolveNext (page, items) {\n return find(page, items, 1)\n}\n\nfunction find (page, items, offset) {\n const res = []\n items.forEach(item => {\n if (item.type === 'group') {\n res.push(...item.children || [])\n } else {\n res.push(item)\n }\n })\n for (let i = 0; i < res.length; i++) {\n const cur = res[i]\n if (cur.type === 'page' && cur.path === page.path) {\n return res[i + offset]\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n@require './styles/wrapper.styl'\n\n.page\n padding-bottom 2rem\n\n.page-edit\n @extend $wrapper\n padding-top 1rem\n padding-bottom 1rem\n overflow auto\n .edit-link\n display inline-block\n a\n color lighten($textColor, 25%)\n margin-right 0.25rem\n .last-updated\n float right\n font-size 0.9em\n .prefix\n font-weight 500\n color lighten($textColor, 25%)\n .time\n font-weight 400\n color #aaa\n\n.page-nav\n @extend $wrapper\n padding-top 1rem\n padding-bottom 0\n .inner\n min-height 2rem\n margin-top 0\n border-top 1px solid $borderColor\n padding-top 1rem\n overflow auto // clear float\n .next\n float right\n\n@media (max-width: $MQMobile)\n .page-edit\n .edit-link\n margin-bottom .5rem\n .last-updated\n font-size .8em\n float none\n text-align left\n\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/61cd261e0d2ac0f5bf53db5676046cb1.json b/node_modules/vuepress/node_modules/.cache/vuepress/61cd261e0d2ac0f5bf53db5676046cb1.json new file mode 100644 index 00000000..b4f9fb00 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/61cd261e0d2ac0f5bf53db5676046cb1.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/util.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/util.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import _toConsumableArray from \"/Users/ruki/projects/personal/tbox-docs/node_modules/@babel/runtime/helpers/builtin/es6/toConsumableArray\";\nexport function injectMixins(options, mixins) {\n var _options$mixins;\n\n if (!options.mixins) {\n options.mixins = [];\n }\n\n (_options$mixins = options.mixins).push.apply(_options$mixins, _toConsumableArray(mixins));\n}\nexport function findPageForPath(pages, path) {\n for (var i = 0; i < pages.length; i++) {\n var page = pages[i];\n\n if (page.path === path) {\n return page;\n }\n }\n\n return {\n path: '',\n frontmatter: {}\n };\n}",{"version":3,"sources":["node_modules/vuepress/lib/app/util.js"],"names":["injectMixins","options","mixins","push","findPageForPath","pages","path","i","length","page","frontmatter"],"mappings":";AAAA,OAAO,SAASA,YAAT,CAAuBC,OAAvB,EAAgCC,MAAhC,EAAwC;AAAA;;AAC7C,MAAI,CAACD,QAAQC,MAAb,EAAqB;AACnBD,YAAQC,MAAR,GAAiB,EAAjB;AACD;;AACD,6BAAQA,MAAR,EAAeC,IAAf,2CAAuBD,MAAvB;AACD;AAED,OAAO,SAASE,eAAT,CAA0BC,KAA1B,EAAiCC,IAAjC,EAAuC;AAC5C,OAAK,IAAIC,IAAI,CAAb,EAAgBA,IAAIF,MAAMG,MAA1B,EAAkCD,GAAlC,EAAuC;AACrC,QAAME,OAAOJ,MAAME,CAAN,CAAb;;AACA,QAAIE,KAAKH,IAAL,KAAcA,IAAlB,EAAwB;AACtB,aAAOG,IAAP;AACD;AACF;;AACD,SAAO;AACLH,UAAM,EADD;AAELI,iBAAa;AAFR,GAAP;AAID","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["export function injectMixins (options, mixins) {\n if (!options.mixins) {\n options.mixins = []\n }\n options.mixins.push(...mixins)\n}\n\nexport function findPageForPath (pages, path) {\n for (let i = 0; i < pages.length; i++) {\n const page = pages[i]\n if (page.path === path) {\n return page\n }\n }\n return {\n path: '',\n frontmatter: {}\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/626b5bde3cfd287e84a7406bcd61ea2f.json b/node_modules/vuepress/node_modules/.cache/vuepress/626b5bde3cfd287e84a7406bcd61ea2f.json new file mode 100644 index 00000000..b1992c98 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/626b5bde3cfd287e84a7406bcd61ea2f.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.sidebar-button\n display none\n width 1.25rem\n height 1.25rem\n position absolute\n padding 0.6rem\n top 0.6rem\n left 1rem\n .icon\n display block\n width 1.25rem\n height 1.25rem\n\n@media (max-width: $MQMobile)\n .sidebar-button\n display block\n",{"version":3,"sources":["SidebarButton.vue"],"names":[],"mappings":";;;;;;;;;AASA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA","file":"SidebarButton.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <div class=\"sidebar-button\" @click=\"$emit('toggle-sidebar')\">\n <svg class=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" role=\"img\" viewBox=\"0 0 448 512\">\n <path fill=\"currentColor\" d=\"M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z\" class=\"\"></path>\n </svg>\n </div>\n</template>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.sidebar-button\n display none\n width 1.25rem\n height 1.25rem\n position absolute\n padding 0.6rem\n top 0.6rem\n left 1rem\n .icon\n display block\n width 1.25rem\n height 1.25rem\n\n@media (max-width: $MQMobile)\n .sidebar-button\n display block\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/62be4359f576cbacf4ce974b4845259b.json b/node_modules/vuepress/node_modules/.cache/vuepress/62be4359f576cbacf4ce974b4845259b.json new file mode 100644 index 00000000..8d2ee3bf --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/62be4359f576cbacf4ce974b4845259b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/util.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/util.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import \"core-js/modules/es6.array.index-of\";\nimport \"core-js/modules/es6.array.is-array\";\nimport \"core-js/modules/es6.array.filter\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/es6.regexp.split\";\nimport \"core-js/modules/es6.object.assign\";\nimport \"core-js/modules/es6.regexp.match\";\nimport \"core-js/modules/es6.regexp.replace\";\nexport var hashRE = /#.*$/;\nexport var extRE = /\\.(md|html)$/;\nexport var endingSlashRE = /\\/$/;\nexport var outboundRE = /^(https?:|mailto:|tel:)/;\nexport function normalize(path) {\n return decodeURI(path).replace(hashRE, '').replace(extRE, '');\n}\nexport function getHash(path) {\n var match = path.match(hashRE);\n\n if (match) {\n return match[0];\n }\n}\nexport function isExternal(path) {\n return outboundRE.test(path);\n}\nexport function isMailto(path) {\n return /^mailto:/.test(path);\n}\nexport function isTel(path) {\n return /^tel:/.test(path);\n}\nexport function ensureExt(path) {\n if (isExternal(path)) {\n return path;\n }\n\n var hashMatch = path.match(hashRE);\n var hash = hashMatch ? hashMatch[0] : '';\n var normalized = normalize(path);\n\n if (endingSlashRE.test(normalized)) {\n return path;\n }\n\n return normalized + '.html' + hash;\n}\nexport function isActive(route, path) {\n var routeHash = route.hash;\n var linkHash = getHash(path);\n\n if (linkHash && routeHash !== linkHash) {\n return false;\n }\n\n var routePath = normalize(route.path);\n var pagePath = normalize(path);\n return routePath === pagePath;\n}\nexport function resolvePage(pages, rawPath, base) {\n if (base) {\n rawPath = resolvePath(rawPath, base);\n }\n\n var path = normalize(rawPath);\n\n for (var i = 0; i < pages.length; i++) {\n if (normalize(pages[i].path) === path) {\n return Object.assign({}, pages[i], {\n type: 'page',\n path: ensureExt(rawPath)\n });\n }\n }\n\n console.error(\"[vuepress] No matching page found for sidebar item \\\"\".concat(rawPath, \"\\\"\"));\n return {};\n}\n\nfunction resolvePath(relative, base, append) {\n var firstChar = relative.charAt(0);\n\n if (firstChar === '/') {\n return relative;\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative;\n }\n\n var stack = base.split('/'); // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n } // resolve relative path\n\n\n var segments = relative.replace(/^\\//, '').split('/');\n\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n } // ensure leading slash\n\n\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/');\n}\n\nexport function resolveSidebarItems(page, route, site, localePath) {\n var pages = site.pages,\n themeConfig = site.themeConfig;\n var localeConfig = localePath && themeConfig.locales ? themeConfig.locales[localePath] || themeConfig : themeConfig;\n var pageSidebarConfig = page.frontmatter.sidebar || localeConfig.sidebar || themeConfig.sidebar;\n\n if (pageSidebarConfig === 'auto') {\n return resolveHeaders(page);\n }\n\n var sidebarConfig = localeConfig.sidebar || themeConfig.sidebar;\n\n if (!sidebarConfig) {\n return [];\n } else {\n var _resolveMatchingConfi = resolveMatchingConfig(route, sidebarConfig),\n base = _resolveMatchingConfi.base,\n config = _resolveMatchingConfi.config;\n\n return config ? config.map(function (item) {\n return resolveItem(item, pages, base);\n }) : [];\n }\n}\n\nfunction resolveHeaders(page) {\n var headers = groupHeaders(page.headers || []);\n return [{\n type: 'group',\n collapsable: false,\n title: page.title,\n children: headers.map(function (h) {\n return {\n type: 'auto',\n title: h.title,\n basePath: page.path,\n path: page.path + '#' + h.slug,\n children: h.children || []\n };\n })\n }];\n}\n\nexport function groupHeaders(headers) {\n // group h3s under h2\n headers = headers.map(function (h) {\n return Object.assign({}, h);\n });\n var lastH2;\n headers.forEach(function (h) {\n if (h.level === 2) {\n lastH2 = h;\n } else if (lastH2) {\n (lastH2.children || (lastH2.children = [])).push(h);\n }\n });\n return headers.filter(function (h) {\n return h.level === 2;\n });\n}\nexport function resolveNavLinkItem(linkItem) {\n return Object.assign(linkItem, {\n type: linkItem.items && linkItem.items.length ? 'links' : 'link'\n });\n}\nexport function resolveMatchingConfig(route, config) {\n if (Array.isArray(config)) {\n return {\n base: '/',\n config: config\n };\n }\n\n for (var base in config) {\n if (ensureEndingSlash(route.path).indexOf(base) === 0) {\n return {\n base: base,\n config: config[base]\n };\n }\n }\n\n return {};\n}\n\nfunction ensureEndingSlash(path) {\n return /(\\.html|\\/)$/.test(path) ? path : path + '/';\n}\n\nfunction resolveItem(item, pages, base, isNested) {\n if (typeof item === 'string') {\n return resolvePage(pages, item, base);\n } else if (Array.isArray(item)) {\n return Object.assign(resolvePage(pages, item[0], base), {\n title: item[1]\n });\n } else {\n if (isNested) {\n console.error('[vuepress] Nested sidebar groups are not supported. ' + 'Consider using navbar + categories instead.');\n }\n\n var children = item.children || [];\n return {\n type: 'group',\n title: item.title,\n children: children.map(function (child) {\n return resolveItem(child, pages, base, true);\n }),\n collapsable: item.collapsable !== false\n };\n }\n}",{"version":3,"sources":["node_modules/vuepress/lib/default-theme/util.js"],"names":["hashRE","extRE","endingSlashRE","outboundRE","normalize","path","decodeURI","replace","getHash","match","isExternal","test","isMailto","isTel","ensureExt","hashMatch","hash","normalized","isActive","route","routeHash","linkHash","routePath","pagePath","resolvePage","pages","rawPath","base","resolvePath","i","length","Object","assign","type","console","error","relative","append","firstChar","charAt","stack","split","pop","segments","segment","push","unshift","join","resolveSidebarItems","page","site","localePath","themeConfig","localeConfig","locales","pageSidebarConfig","frontmatter","sidebar","resolveHeaders","sidebarConfig","resolveMatchingConfig","config","map","resolveItem","item","headers","groupHeaders","collapsable","title","children","h","basePath","slug","lastH2","forEach","level","filter","resolveNavLinkItem","linkItem","items","Array","isArray","ensureEndingSlash","indexOf","isNested","child"],"mappings":";;;;;;;;;;AAAA,OAAO,IAAMA,SAAS,MAAf;AACP,OAAO,IAAMC,QAAQ,cAAd;AACP,OAAO,IAAMC,gBAAgB,KAAtB;AACP,OAAO,IAAMC,aAAa,yBAAnB;AAEP,OAAO,SAASC,SAAT,CAAoBC,IAApB,EAA0B;AAC/B,SAAOC,UAAUD,IAAV,EACJE,OADI,CACIP,MADJ,EACY,EADZ,EAEJO,OAFI,CAEIN,KAFJ,EAEW,EAFX,CAAP;AAGD;AAED,OAAO,SAASO,OAAT,CAAkBH,IAAlB,EAAwB;AAC7B,MAAMI,QAAQJ,KAAKI,KAAL,CAAWT,MAAX,CAAd;;AACA,MAAIS,KAAJ,EAAW;AACT,WAAOA,MAAM,CAAN,CAAP;AACD;AACF;AAED,OAAO,SAASC,UAAT,CAAqBL,IAArB,EAA2B;AAChC,SAAOF,WAAWQ,IAAX,CAAgBN,IAAhB,CAAP;AACD;AAED,OAAO,SAASO,QAAT,CAAmBP,IAAnB,EAAyB;AAC9B,SAAO,WAAWM,IAAX,CAAgBN,IAAhB,CAAP;AACD;AAED,OAAO,SAASQ,KAAT,CAAgBR,IAAhB,EAAsB;AAC3B,SAAO,QAAQM,IAAR,CAAaN,IAAb,CAAP;AACD;AAED,OAAO,SAASS,SAAT,CAAoBT,IAApB,EAA0B;AAC/B,MAAIK,WAAWL,IAAX,CAAJ,EAAsB;AACpB,WAAOA,IAAP;AACD;;AACD,MAAMU,YAAYV,KAAKI,KAAL,CAAWT,MAAX,CAAlB;AACA,MAAMgB,OAAOD,YAAYA,UAAU,CAAV,CAAZ,GAA2B,EAAxC;AACA,MAAME,aAAab,UAAUC,IAAV,CAAnB;;AAEA,MAAIH,cAAcS,IAAd,CAAmBM,UAAnB,CAAJ,EAAoC;AAClC,WAAOZ,IAAP;AACD;;AACD,SAAOY,aAAa,OAAb,GAAuBD,IAA9B;AACD;AAED,OAAO,SAASE,QAAT,CAAmBC,KAAnB,EAA0Bd,IAA1B,EAAgC;AACrC,MAAMe,YAAYD,MAAMH,IAAxB;AACA,MAAMK,WAAWb,QAAQH,IAAR,CAAjB;;AACA,MAAIgB,YAAYD,cAAcC,QAA9B,EAAwC;AACtC,WAAO,KAAP;AACD;;AACD,MAAMC,YAAYlB,UAAUe,MAAMd,IAAhB,CAAlB;AACA,MAAMkB,WAAWnB,UAAUC,IAAV,CAAjB;AACA,SAAOiB,cAAcC,QAArB;AACD;AAED,OAAO,SAASC,WAAT,CAAsBC,KAAtB,EAA6BC,OAA7B,EAAsCC,IAAtC,EAA4C;AACjD,MAAIA,IAAJ,EAAU;AACRD,cAAUE,YAAYF,OAAZ,EAAqBC,IAArB,CAAV;AACD;;AACD,MAAMtB,OAAOD,UAAUsB,OAAV,CAAb;;AACA,OAAK,IAAIG,IAAI,CAAb,EAAgBA,IAAIJ,MAAMK,MAA1B,EAAkCD,GAAlC,EAAuC;AACrC,QAAIzB,UAAUqB,MAAMI,CAAN,EAASxB,IAAnB,MAA6BA,IAAjC,EAAuC;AACrC,aAAO0B,OAAOC,MAAP,CAAc,EAAd,EAAkBP,MAAMI,CAAN,CAAlB,EAA4B;AACjCI,cAAM,MAD2B;AAEjC5B,cAAMS,UAAUY,OAAV;AAF2B,OAA5B,CAAP;AAID;AACF;;AACDQ,UAAQC,KAAR,gEAAqET,OAArE;AACA,SAAO,EAAP;AACD;;AAED,SAASE,WAAT,CAAsBQ,QAAtB,EAAgCT,IAAhC,EAAsCU,MAAtC,EAA8C;AAC5C,MAAMC,YAAYF,SAASG,MAAT,CAAgB,CAAhB,CAAlB;;AACA,MAAID,cAAc,GAAlB,EAAuB;AACrB,WAAOF,QAAP;AACD;;AAED,MAAIE,cAAc,GAAd,IAAqBA,cAAc,GAAvC,EAA4C;AAC1C,WAAOX,OAAOS,QAAd;AACD;;AAED,MAAMI,QAAQb,KAAKc,KAAL,CAAW,GAAX,CAAd,CAV4C,CAY5C;AACA;AACA;;AACA,MAAI,CAACJ,MAAD,IAAW,CAACG,MAAMA,MAAMV,MAAN,GAAe,CAArB,CAAhB,EAAyC;AACvCU,UAAME,GAAN;AACD,GAjB2C,CAmB5C;;;AACA,MAAMC,WAAWP,SAAS7B,OAAT,CAAiB,KAAjB,EAAwB,EAAxB,EAA4BkC,KAA5B,CAAkC,GAAlC,CAAjB;;AACA,OAAK,IAAIZ,IAAI,CAAb,EAAgBA,IAAIc,SAASb,MAA7B,EAAqCD,GAArC,EAA0C;AACxC,QAAMe,UAAUD,SAASd,CAAT,CAAhB;;AACA,QAAIe,YAAY,IAAhB,EAAsB;AACpBJ,YAAME,GAAN;AACD,KAFD,MAEO,IAAIE,YAAY,GAAhB,EAAqB;AAC1BJ,YAAMK,IAAN,CAAWD,OAAX;AACD;AACF,GA5B2C,CA8B5C;;;AACA,MAAIJ,MAAM,CAAN,MAAa,EAAjB,EAAqB;AACnBA,UAAMM,OAAN,CAAc,EAAd;AACD;;AAED,SAAON,MAAMO,IAAN,CAAW,GAAX,CAAP;AACD;;AAED,OAAO,SAASC,mBAAT,CAA8BC,IAA9B,EAAoC9B,KAApC,EAA2C+B,IAA3C,EAAiDC,UAAjD,EAA6D;AAAA,MAC1D1B,KAD0D,GACnCyB,IADmC,CAC1DzB,KAD0D;AAAA,MACnD2B,WADmD,GACnCF,IADmC,CACnDE,WADmD;AAGlE,MAAMC,eAAeF,cAAcC,YAAYE,OAA1B,GACjBF,YAAYE,OAAZ,CAAoBH,UAApB,KAAmCC,WADlB,GAEjBA,WAFJ;AAIA,MAAMG,oBAAoBN,KAAKO,WAAL,CAAiBC,OAAjB,IAA4BJ,aAAaI,OAAzC,IAAoDL,YAAYK,OAA1F;;AACA,MAAIF,sBAAsB,MAA1B,EAAkC;AAChC,WAAOG,eAAeT,IAAf,CAAP;AACD;;AAED,MAAMU,gBAAgBN,aAAaI,OAAb,IAAwBL,YAAYK,OAA1D;;AACA,MAAI,CAACE,aAAL,EAAoB;AAClB,WAAO,EAAP;AACD,GAFD,MAEO;AAAA,gCACoBC,sBAAsBzC,KAAtB,EAA6BwC,aAA7B,CADpB;AAAA,QACGhC,IADH,yBACGA,IADH;AAAA,QACSkC,MADT,yBACSA,MADT;;AAEL,WAAOA,SACHA,OAAOC,GAAP,CAAW;AAAA,aAAQC,YAAYC,IAAZ,EAAkBvC,KAAlB,EAAyBE,IAAzB,CAAR;AAAA,KAAX,CADG,GAEH,EAFJ;AAGD;AACF;;AAED,SAAS+B,cAAT,CAAyBT,IAAzB,EAA+B;AAC7B,MAAMgB,UAAUC,aAAajB,KAAKgB,OAAL,IAAgB,EAA7B,CAAhB;AACA,SAAO,CAAC;AACNhC,UAAM,OADA;AAENkC,iBAAa,KAFP;AAGNC,WAAOnB,KAAKmB,KAHN;AAINC,cAAUJ,QAAQH,GAAR,CAAY;AAAA,aAAM;AAC1B7B,cAAM,MADoB;AAE1BmC,eAAOE,EAAEF,KAFiB;AAG1BG,kBAAUtB,KAAK5C,IAHW;AAI1BA,cAAM4C,KAAK5C,IAAL,GAAY,GAAZ,GAAkBiE,EAAEE,IAJA;AAK1BH,kBAAUC,EAAED,QAAF,IAAc;AALE,OAAN;AAAA,KAAZ;AAJJ,GAAD,CAAP;AAYD;;AAED,OAAO,SAASH,YAAT,CAAuBD,OAAvB,EAAgC;AACrC;AACAA,YAAUA,QAAQH,GAAR,CAAY;AAAA,WAAK/B,OAAOC,MAAP,CAAc,EAAd,EAAkBsC,CAAlB,CAAL;AAAA,GAAZ,CAAV;AACA,MAAIG,MAAJ;AACAR,UAAQS,OAAR,CAAgB,aAAK;AACnB,QAAIJ,EAAEK,KAAF,KAAY,CAAhB,EAAmB;AACjBF,eAASH,CAAT;AACD,KAFD,MAEO,IAAIG,MAAJ,EAAY;AACjB,OAACA,OAAOJ,QAAP,KAAoBI,OAAOJ,QAAP,GAAkB,EAAtC,CAAD,EAA4CxB,IAA5C,CAAiDyB,CAAjD;AACD;AACF,GAND;AAOA,SAAOL,QAAQW,MAAR,CAAe;AAAA,WAAKN,EAAEK,KAAF,KAAY,CAAjB;AAAA,GAAf,CAAP;AACD;AAED,OAAO,SAASE,kBAAT,CAA6BC,QAA7B,EAAuC;AAC5C,SAAO/C,OAAOC,MAAP,CAAc8C,QAAd,EAAwB;AAC7B7C,UAAM6C,SAASC,KAAT,IAAkBD,SAASC,KAAT,CAAejD,MAAjC,GAA0C,OAA1C,GAAoD;AAD7B,GAAxB,CAAP;AAGD;AAED,OAAO,SAAS8B,qBAAT,CAAgCzC,KAAhC,EAAuC0C,MAAvC,EAA+C;AACpD,MAAImB,MAAMC,OAAN,CAAcpB,MAAd,CAAJ,EAA2B;AACzB,WAAO;AACLlC,YAAM,GADD;AAELkC,cAAQA;AAFH,KAAP;AAID;;AACD,OAAK,IAAMlC,IAAX,IAAmBkC,MAAnB,EAA2B;AACzB,QAAIqB,kBAAkB/D,MAAMd,IAAxB,EAA8B8E,OAA9B,CAAsCxD,IAAtC,MAAgD,CAApD,EAAuD;AACrD,aAAO;AACLA,kBADK;AAELkC,gBAAQA,OAAOlC,IAAP;AAFH,OAAP;AAID;AACF;;AACD,SAAO,EAAP;AACD;;AAED,SAASuD,iBAAT,CAA4B7E,IAA5B,EAAkC;AAChC,SAAO,eAAeM,IAAf,CAAoBN,IAApB,IACHA,IADG,GAEHA,OAAO,GAFX;AAGD;;AAED,SAAS0D,WAAT,CAAsBC,IAAtB,EAA4BvC,KAA5B,EAAmCE,IAAnC,EAAyCyD,QAAzC,EAAmD;AACjD,MAAI,OAAOpB,IAAP,KAAgB,QAApB,EAA8B;AAC5B,WAAOxC,YAAYC,KAAZ,EAAmBuC,IAAnB,EAAyBrC,IAAzB,CAAP;AACD,GAFD,MAEO,IAAIqD,MAAMC,OAAN,CAAcjB,IAAd,CAAJ,EAAyB;AAC9B,WAAOjC,OAAOC,MAAP,CAAcR,YAAYC,KAAZ,EAAmBuC,KAAK,CAAL,CAAnB,EAA4BrC,IAA5B,CAAd,EAAiD;AACtDyC,aAAOJ,KAAK,CAAL;AAD+C,KAAjD,CAAP;AAGD,GAJM,MAIA;AACL,QAAIoB,QAAJ,EAAc;AACZlD,cAAQC,KAAR,CACE,yDACA,6CAFF;AAID;;AACD,QAAMkC,WAAWL,KAAKK,QAAL,IAAiB,EAAlC;AACA,WAAO;AACLpC,YAAM,OADD;AAELmC,aAAOJ,KAAKI,KAFP;AAGLC,gBAAUA,SAASP,GAAT,CAAa;AAAA,eAASC,YAAYsB,KAAZ,EAAmB5D,KAAnB,EAA0BE,IAA1B,EAAgC,IAAhC,CAAT;AAAA,OAAb,CAHL;AAILwC,mBAAaH,KAAKG,WAAL,KAAqB;AAJ7B,KAAP;AAMD;AACF","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["export const hashRE = /#.*$/\nexport const extRE = /\\.(md|html)$/\nexport const endingSlashRE = /\\/$/\nexport const outboundRE = /^(https?:|mailto:|tel:)/\n\nexport function normalize (path) {\n return decodeURI(path)\n .replace(hashRE, '')\n .replace(extRE, '')\n}\n\nexport function getHash (path) {\n const match = path.match(hashRE)\n if (match) {\n return match[0]\n }\n}\n\nexport function isExternal (path) {\n return outboundRE.test(path)\n}\n\nexport function isMailto (path) {\n return /^mailto:/.test(path)\n}\n\nexport function isTel (path) {\n return /^tel:/.test(path)\n}\n\nexport function ensureExt (path) {\n if (isExternal(path)) {\n return path\n }\n const hashMatch = path.match(hashRE)\n const hash = hashMatch ? hashMatch[0] : ''\n const normalized = normalize(path)\n\n if (endingSlashRE.test(normalized)) {\n return path\n }\n return normalized + '.html' + hash\n}\n\nexport function isActive (route, path) {\n const routeHash = route.hash\n const linkHash = getHash(path)\n if (linkHash && routeHash !== linkHash) {\n return false\n }\n const routePath = normalize(route.path)\n const pagePath = normalize(path)\n return routePath === pagePath\n}\n\nexport function resolvePage (pages, rawPath, base) {\n if (base) {\n rawPath = resolvePath(rawPath, base)\n }\n const path = normalize(rawPath)\n for (let i = 0; i < pages.length; i++) {\n if (normalize(pages[i].path) === path) {\n return Object.assign({}, pages[i], {\n type: 'page',\n path: ensureExt(rawPath)\n })\n }\n }\n console.error(`[vuepress] No matching page found for sidebar item \"${rawPath}\"`)\n return {}\n}\n\nfunction resolvePath (relative, base, append) {\n const firstChar = relative.charAt(0)\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n const stack = base.split('/')\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop()\n }\n\n // resolve relative path\n const segments = relative.replace(/^\\//, '').split('/')\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i]\n if (segment === '..') {\n stack.pop()\n } else if (segment !== '.') {\n stack.push(segment)\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('')\n }\n\n return stack.join('/')\n}\n\nexport function resolveSidebarItems (page, route, site, localePath) {\n const { pages, themeConfig } = site\n\n const localeConfig = localePath && themeConfig.locales\n ? themeConfig.locales[localePath] || themeConfig\n : themeConfig\n\n const pageSidebarConfig = page.frontmatter.sidebar || localeConfig.sidebar || themeConfig.sidebar\n if (pageSidebarConfig === 'auto') {\n return resolveHeaders(page)\n }\n\n const sidebarConfig = localeConfig.sidebar || themeConfig.sidebar\n if (!sidebarConfig) {\n return []\n } else {\n const { base, config } = resolveMatchingConfig(route, sidebarConfig)\n return config\n ? config.map(item => resolveItem(item, pages, base))\n : []\n }\n}\n\nfunction resolveHeaders (page) {\n const headers = groupHeaders(page.headers || [])\n return [{\n type: 'group',\n collapsable: false,\n title: page.title,\n children: headers.map(h => ({\n type: 'auto',\n title: h.title,\n basePath: page.path,\n path: page.path + '#' + h.slug,\n children: h.children || []\n }))\n }]\n}\n\nexport function groupHeaders (headers) {\n // group h3s under h2\n headers = headers.map(h => Object.assign({}, h))\n let lastH2\n headers.forEach(h => {\n if (h.level === 2) {\n lastH2 = h\n } else if (lastH2) {\n (lastH2.children || (lastH2.children = [])).push(h)\n }\n })\n return headers.filter(h => h.level === 2)\n}\n\nexport function resolveNavLinkItem (linkItem) {\n return Object.assign(linkItem, {\n type: linkItem.items && linkItem.items.length ? 'links' : 'link'\n })\n}\n\nexport function resolveMatchingConfig (route, config) {\n if (Array.isArray(config)) {\n return {\n base: '/',\n config: config\n }\n }\n for (const base in config) {\n if (ensureEndingSlash(route.path).indexOf(base) === 0) {\n return {\n base,\n config: config[base]\n }\n }\n }\n return {}\n}\n\nfunction ensureEndingSlash (path) {\n return /(\\.html|\\/)$/.test(path)\n ? path\n : path + '/'\n}\n\nfunction resolveItem (item, pages, base, isNested) {\n if (typeof item === 'string') {\n return resolvePage(pages, item, base)\n } else if (Array.isArray(item)) {\n return Object.assign(resolvePage(pages, item[0], base), {\n title: item[1]\n })\n } else {\n if (isNested) {\n console.error(\n '[vuepress] Nested sidebar groups are not supported. ' +\n 'Consider using navbar + categories instead.'\n )\n }\n const children = item.children || []\n return {\n type: 'group',\n title: item.title,\n children: children.map(child => resolveItem(child, pages, base, true)),\n collapsable: item.collapsable !== false\n }\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/62d2b98e99432d75e77cebb8dc8fe919.json b/node_modules/vuepress/node_modules/.cache/vuepress/62d2b98e99432d75e77cebb8dc8fe919.json new file mode 100644 index 00000000..8ce10e94 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/62d2b98e99432d75e77cebb8dc8fe919.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/manual/index.md?vue&type=template&id=6d0b4415&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/manual/index.md","mtime":1541492172602},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"手册\"><a class=\"header-anchor\" href=\"#手册\" aria-hidden=\"true\">#</a> 手册</h1>\n<p>[TODO]</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/649d947a8340322a3377df08e57e3118.json b/node_modules/vuepress/node_modules/.cache/vuepress/649d947a8340322a3377df08e57e3118.json new file mode 100644 index 00000000..fe65862d --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/649d947a8340322a3377df08e57e3118.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/manual/introduction.md?vue&type=template&id=b1ff51fc&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/manual/introduction.md","mtime":1541492172602},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm._m(0)\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _c(\"h1\", { attrs: { id: \"手册\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#手册\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 手册\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"[TODO]\")])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/64b78608063970ad8e8634a9cb0dbcde.json b/node_modules/vuepress/node_modules/.cache/vuepress/64b78608063970ad8e8634a9cb0dbcde.json new file mode 100644 index 00000000..67349b0c --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/64b78608063970ad8e8634a9cb0dbcde.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/es6.array.some\";\nimport { isActive, hashRE, groupHeaders } from './util';\nexport default {\n functional: true,\n props: ['item'],\n render: function render(h, _ref) {\n var _ref$parent = _ref.parent,\n $page = _ref$parent.$page,\n $site = _ref$parent.$site,\n $route = _ref$parent.$route,\n item = _ref.props.item;\n // use custom active class matching logic\n // due to edge case of paths ending with / + hash\n var selfActive = isActive($route, item.path); // for sidebar: auto pages, a hash link should be active if one of its child\n // matches\n\n var active = item.type === 'auto' ? selfActive || item.children.some(function (c) {\n return isActive($route, item.basePath + '#' + c.slug);\n }) : selfActive;\n var link = renderLink(h, item.path, item.title || item.path, active);\n var configDepth = $page.frontmatter.sidebarDepth != null ? $page.frontmatter.sidebarDepth : $site.themeConfig.sidebarDepth;\n var maxDepth = configDepth == null ? 1 : configDepth;\n var displayAllHeaders = !!$site.themeConfig.displayAllHeaders;\n\n if (item.type === 'auto') {\n return [link, renderChildren(h, item.children, item.basePath, $route, maxDepth)];\n } else if ((active || displayAllHeaders) && item.headers && !hashRE.test(item.path)) {\n var children = groupHeaders(item.headers);\n return [link, renderChildren(h, children, item.path, $route, maxDepth)];\n } else {\n return link;\n }\n }\n};\n\nfunction renderLink(h, to, text, active) {\n return h('router-link', {\n props: {\n to: to,\n activeClass: '',\n exactActiveClass: ''\n },\n class: {\n active: active,\n 'sidebar-link': true\n }\n }, text);\n}\n\nfunction renderChildren(h, children, path, route, maxDepth) {\n var depth = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1;\n if (!children || depth > maxDepth) return null;\n return h('ul', {\n class: 'sidebar-sub-headers'\n }, children.map(function (c) {\n var active = isActive(route, path + '#' + c.slug);\n return h('li', {\n class: 'sidebar-sub-header'\n }, [renderLink(h, path + '#' + c.slug, c.title, active), renderChildren(h, c.children, path, route, maxDepth, depth + 1)]);\n }));\n}",{"version":3,"sources":["SidebarLink.vue"],"names":[],"mappings":";;AACA,SAAA,QAAA,EAAA,MAAA,EAAA,YAAA,QAAA,QAAA;AAEA,eAAA;AACA,cAAA,IADA;AAGA,SAAA,CAAA,MAAA,CAHA;AAKA,QALA,kBAKA,CALA,QAKA;AAAA,2BAAA,MAAA;AAAA,QAAA,KAAA,eAAA,KAAA;AAAA,QAAA,KAAA,eAAA,KAAA;AAAA,QAAA,MAAA,eAAA,MAAA;AAAA,QAAA,IAAA,QAAA,KAAA,CAAA,IAAA;AACA;AACA;AACA,QAAA,aAAA,SAAA,MAAA,EAAA,KAAA,IAAA,CAAA,CAHA,CAIA;AACA;;AACA,QAAA,SAAA,KAAA,IAAA,KAAA,MAAA,GACA,cAAA,KAAA,QAAA,CAAA,IAAA,CAAA;AAAA,aAAA,SAAA,MAAA,EAAA,KAAA,QAAA,GAAA,GAAA,GAAA,EAAA,IAAA,CAAA;AAAA,KAAA,CADA,GAEA,UAFA;AAGA,QAAA,OAAA,WAAA,CAAA,EAAA,KAAA,IAAA,EAAA,KAAA,KAAA,IAAA,KAAA,IAAA,EAAA,MAAA,CAAA;AACA,QAAA,cAAA,MAAA,WAAA,CAAA,YAAA,IAAA,IAAA,GACA,MAAA,WAAA,CAAA,YADA,GAEA,MAAA,WAAA,CAAA,YAFA;AAGA,QAAA,WAAA,eAAA,IAAA,GAAA,CAAA,GAAA,WAAA;AACA,QAAA,oBAAA,CAAA,CAAA,MAAA,WAAA,CAAA,iBAAA;;AACA,QAAA,KAAA,IAAA,KAAA,MAAA,EAAA;AACA,aAAA,CAAA,IAAA,EAAA,eAAA,CAAA,EAAA,KAAA,QAAA,EAAA,KAAA,QAAA,EAAA,MAAA,EAAA,QAAA,CAAA,CAAA;AACA,KAFA,MAEA,IAAA,CAAA,UAAA,iBAAA,KAAA,KAAA,OAAA,IAAA,CAAA,OAAA,IAAA,CAAA,KAAA,IAAA,CAAA,EAAA;AACA,UAAA,WAAA,aAAA,KAAA,OAAA,CAAA;AACA,aAAA,CAAA,IAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,KAAA,IAAA,EAAA,MAAA,EAAA,QAAA,CAAA,CAAA;AACA,KAHA,MAGA;AACA,aAAA,IAAA;AACA;AACA;AA5BA,CAAA;;AA+BA,SAAA,UAAA,CAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA;AACA,SAAA,EAAA,aAAA,EAAA;AACA,WAAA;AACA,YADA;AAEA,mBAAA,EAFA;AAGA,wBAAA;AAHA,KADA;AAMA,WAAA;AACA,oBADA;AAEA,sBAAA;AAFA;AANA,GAAA,EAUA,IAVA,CAAA;AAWA;;AAEA,SAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,QAAA,EAAA;AAAA,MAAA,KAAA,uEAAA,CAAA;AACA,MAAA,CAAA,QAAA,IAAA,QAAA,QAAA,EAAA,OAAA,IAAA;AACA,SAAA,EAAA,IAAA,EAAA;AAAA,WAAA;AAAA,GAAA,EAAA,SAAA,GAAA,CAAA,aAAA;AACA,QAAA,SAAA,SAAA,KAAA,EAAA,OAAA,GAAA,GAAA,EAAA,IAAA,CAAA;AACA,WAAA,EAAA,IAAA,EAAA;AAAA,aAAA;AAAA,KAAA,EAAA,CACA,WAAA,CAAA,EAAA,OAAA,GAAA,GAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,MAAA,CADA,EAEA,eAAA,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,QAAA,EAAA,QAAA,CAAA,CAFA,CAAA,CAAA;AAIA,GANA,CAAA,CAAA;AAOA","sourcesContent":["<script>\nimport { isActive, hashRE, groupHeaders } from './util'\n\nexport default {\n functional: true,\n\n props: ['item'],\n\n render (h, { parent: { $page, $site, $route }, props: { item }}) {\n // use custom active class matching logic\n // due to edge case of paths ending with / + hash\n const selfActive = isActive($route, item.path)\n // for sidebar: auto pages, a hash link should be active if one of its child\n // matches\n const active = item.type === 'auto'\n ? selfActive || item.children.some(c => isActive($route, item.basePath + '#' + c.slug))\n : selfActive\n const link = renderLink(h, item.path, item.title || item.path, active)\n const configDepth = $page.frontmatter.sidebarDepth != null\n ? $page.frontmatter.sidebarDepth\n : $site.themeConfig.sidebarDepth\n const maxDepth = configDepth == null ? 1 : configDepth\n const displayAllHeaders = !!$site.themeConfig.displayAllHeaders\n if (item.type === 'auto') {\n return [link, renderChildren(h, item.children, item.basePath, $route, maxDepth)]\n } else if ((active || displayAllHeaders) && item.headers && !hashRE.test(item.path)) {\n const children = groupHeaders(item.headers)\n return [link, renderChildren(h, children, item.path, $route, maxDepth)]\n } else {\n return link\n }\n }\n}\n\nfunction renderLink (h, to, text, active) {\n return h('router-link', {\n props: {\n to,\n activeClass: '',\n exactActiveClass: ''\n },\n class: {\n active,\n 'sidebar-link': true\n }\n }, text)\n}\n\nfunction renderChildren (h, children, path, route, maxDepth, depth = 1) {\n if (!children || depth > maxDepth) return null\n return h('ul', { class: 'sidebar-sub-headers' }, children.map(c => {\n const active = isActive(route, path + '#' + c.slug)\n return h('li', { class: 'sidebar-sub-header' }, [\n renderLink(h, path + '#' + c.slug, c.title, active),\n renderChildren(h, c.children, path, route, maxDepth, depth + 1)\n ])\n }))\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.sidebar .sidebar-sub-headers\n padding-left 1rem\n font-size 0.95em\n\na.sidebar-link\n font-weight 400\n display inline-block\n color $textColor\n border-left 0.25rem solid transparent\n padding 0.35rem 1rem 0.35rem 1.25rem\n line-height 1.4\n width: 100%\n box-sizing: border-box\n &:hover\n color $accentColor\n &.active\n font-weight 600\n color $accentColor\n border-left-color $accentColor\n .sidebar-group &\n padding-left 2rem\n .sidebar-sub-headers &\n padding-top 0.25rem\n padding-bottom 0.25rem\n border-left none\n &.active\n font-weight 500\n</style>\n"],"sourceRoot":"node_modules/vuepress/lib/default-theme"}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/64ec87d081fc1c7ebcbefe528d1b971b.json b/node_modules/vuepress/node_modules/.cache/vuepress/64ec87d081fc1c7ebcbefe528d1b971b.json new file mode 100644 index 00000000..acd8ccd9 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/64ec87d081fc1c7ebcbefe528d1b971b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/manual.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/manual.md","mtime":1489213929000},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./manual.md?vue&type=template&id=9258e588&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('9258e588', component.options)\n } else {\n api.reload('9258e588', component.options)\n }\n module.hot.accept(\"./manual.md?vue&type=template&id=9258e588&\", function () {\n api.rerender('9258e588', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"docs/zh/manual.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/6535465d568e7a3858de75252721da70.json b/node_modules/vuepress/node_modules/.cache/vuepress/6535465d568e7a3858de75252721da70.json new file mode 100644 index 00000000..a847fa74 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/6535465d568e7a3858de75252721da70.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexport default {\n data () {\n return {\n query: '',\n focused: false,\n focusIndex: 0\n }\n },\n\n computed: {\n showSuggestions () {\n return (\n this.focused &&\n this.suggestions &&\n this.suggestions.length\n )\n },\n\n suggestions () {\n const query = this.query.trim().toLowerCase()\n if (!query) {\n return\n }\n\n const { pages, themeConfig } = this.$site\n const max = themeConfig.searchMaxSuggestions || 5\n const localePath = this.$localePath\n const matches = item => (\n item.title &&\n item.title.toLowerCase().indexOf(query) > -1\n )\n const res = []\n for (let i = 0; i < pages.length; i++) {\n if (res.length >= max) break\n const p = pages[i]\n // filter out results that do not match current locale\n if (this.getPageLocalePath(p) !== localePath) {\n continue\n }\n if (matches(p)) {\n res.push(p)\n } else if (p.headers) {\n for (let j = 0; j < p.headers.length; j++) {\n if (res.length >= max) break\n const h = p.headers[j]\n if (matches(h)) {\n res.push(Object.assign({}, p, {\n path: p.path + '#' + h.slug,\n header: h\n }))\n }\n }\n }\n }\n return res\n },\n\n // make suggestions align right when there are not enough items\n alignRight () {\n const navCount = (this.$site.themeConfig.nav || []).length\n const repo = this.$site.repo ? 1 : 0\n return navCount + repo <= 2\n }\n },\n\n methods: {\n getPageLocalePath (page) {\n for (const localePath in this.$site.locales || {}) {\n if (localePath !== '/' && page.path.indexOf(localePath) === 0) {\n return localePath\n }\n }\n return '/'\n },\n\n onUp () {\n if (this.showSuggestions) {\n if (this.focusIndex > 0) {\n this.focusIndex--\n } else {\n this.focusIndex = this.suggestions.length - 1\n }\n }\n },\n\n onDown () {\n if (this.showSuggestions) {\n if (this.focusIndex < this.suggestions.length - 1) {\n this.focusIndex++\n } else {\n this.focusIndex = 0\n }\n }\n },\n\n go (i) {\n if (!this.showSuggestions) {\n return\n }\n this.$router.push(this.suggestions[i].path)\n this.query = ''\n this.focusIndex = 0\n },\n\n focus (i) {\n this.focusIndex = i\n },\n\n unfocus () {\n this.focusIndex = -1\n }\n }\n}\n",{"version":3,"sources":["SearchBox.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA","file":"SearchBox.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <div class=\"search-box\">\n <input\n @input=\"query = $event.target.value\"\n aria-label=\"Search\"\n :value=\"query\"\n :class=\"{ 'focused': focused }\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n @focus=\"focused = true\"\n @blur=\"focused = false\"\n @keyup.enter=\"go(focusIndex)\"\n @keyup.up=\"onUp\"\n @keyup.down=\"onDown\"\n >\n <ul\n class=\"suggestions\"\n v-if=\"showSuggestions\"\n :class=\"{ 'align-right': alignRight }\"\n @mouseleave=\"unfocus\"\n >\n <li\n class=\"suggestion\"\n v-for=\"(s, i) in suggestions\"\n :class=\"{ focused: i === focusIndex }\"\n @mousedown=\"go(i)\"\n @mouseenter=\"focus(i)\"\n >\n <a :href=\"s.path\" @click.prevent>\n <span class=\"page-title\">{{ s.title || s.path }}</span>\n <span v-if=\"s.header\" class=\"header\">> {{ s.header.title }}</span>\n </a>\n </li>\n </ul>\n </div>\n</template>\n\n<script>\nexport default {\n data () {\n return {\n query: '',\n focused: false,\n focusIndex: 0\n }\n },\n\n computed: {\n showSuggestions () {\n return (\n this.focused &&\n this.suggestions &&\n this.suggestions.length\n )\n },\n\n suggestions () {\n const query = this.query.trim().toLowerCase()\n if (!query) {\n return\n }\n\n const { pages, themeConfig } = this.$site\n const max = themeConfig.searchMaxSuggestions || 5\n const localePath = this.$localePath\n const matches = item => (\n item.title &&\n item.title.toLowerCase().indexOf(query) > -1\n )\n const res = []\n for (let i = 0; i < pages.length; i++) {\n if (res.length >= max) break\n const p = pages[i]\n // filter out results that do not match current locale\n if (this.getPageLocalePath(p) !== localePath) {\n continue\n }\n if (matches(p)) {\n res.push(p)\n } else if (p.headers) {\n for (let j = 0; j < p.headers.length; j++) {\n if (res.length >= max) break\n const h = p.headers[j]\n if (matches(h)) {\n res.push(Object.assign({}, p, {\n path: p.path + '#' + h.slug,\n header: h\n }))\n }\n }\n }\n }\n return res\n },\n\n // make suggestions align right when there are not enough items\n alignRight () {\n const navCount = (this.$site.themeConfig.nav || []).length\n const repo = this.$site.repo ? 1 : 0\n return navCount + repo <= 2\n }\n },\n\n methods: {\n getPageLocalePath (page) {\n for (const localePath in this.$site.locales || {}) {\n if (localePath !== '/' && page.path.indexOf(localePath) === 0) {\n return localePath\n }\n }\n return '/'\n },\n\n onUp () {\n if (this.showSuggestions) {\n if (this.focusIndex > 0) {\n this.focusIndex--\n } else {\n this.focusIndex = this.suggestions.length - 1\n }\n }\n },\n\n onDown () {\n if (this.showSuggestions) {\n if (this.focusIndex < this.suggestions.length - 1) {\n this.focusIndex++\n } else {\n this.focusIndex = 0\n }\n }\n },\n\n go (i) {\n if (!this.showSuggestions) {\n return\n }\n this.$router.push(this.suggestions[i].path)\n this.query = ''\n this.focusIndex = 0\n },\n\n focus (i) {\n this.focusIndex = i\n },\n\n unfocus () {\n this.focusIndex = -1\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.search-box\n display inline-block\n position relative\n margin-right 1rem\n input\n cursor text\n width 10rem\n color lighten($textColor, 25%)\n display inline-block\n border 1px solid darken($borderColor, 10%)\n border-radius 2rem\n font-size 0.9rem\n line-height 2rem\n padding 0 0.5rem 0 2rem\n outline none\n transition all .2s ease\n background #fff url(./search.svg) 0.6rem 0.5rem no-repeat\n background-size 1rem\n &:focus\n cursor auto\n border-color $accentColor\n .suggestions\n background #fff\n width 20rem\n position absolute\n top 1.5rem\n border 1px solid darken($borderColor, 10%)\n border-radius 6px\n padding 0.4rem\n list-style-type none\n &.align-right\n right 0\n .suggestion\n line-height 1.4\n padding 0.4rem 0.6rem\n border-radius 4px\n cursor pointer\n a\n white-space normal\n color lighten($textColor, 35%)\n .page-title\n font-weight 600\n .header\n font-size 0.9em\n margin-left 0.25em\n &.focused\n background-color #f3f4f5\n a\n color $accentColor\n\n@media (max-width: $MQNarrow)\n .search-box\n input\n cursor pointer\n width 0\n border-color transparent\n position relative\n &:focus\n cursor text\n left 0\n width 10rem\n\n@media (max-width: $MQNarrow) and (min-width: $MQMobile)\n .search-box\n .suggestions\n left 0\n\n@media (max-width: $MQMobile)\n .search-box\n margin-right 0\n input\n left 1rem\n .suggestions\n right 0\n\n@media (max-width: $MQMobileNarrow)\n .search-box\n .suggestions\n width calc(100vw - 4rem)\n input:focus\n width 8rem\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/655351850b11758ef6c2598207a78171.json b/node_modules/vuepress/node_modules/.cache/vuepress/655351850b11758ef6c2598207a78171.json new file mode 100644 index 00000000..07b43507 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/655351850b11758ef6c2598207a78171.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/plugin/introduction.md?vue&type=template&id=35ee8210&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/plugin/introduction.md","mtime":1541580922619},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"title1\"><a class=\"header-anchor\" href=\"#title1\" aria-hidden=\"true\">#</a> Title1</h1>\n<p><div class=\"table-of-contents\"><ul><li><a href=\"#title2\">Title2</a><ul><li><a href=\"#title3\">Title3</a></li><li><a href=\"#title3\">Title3</a></li></ul></li><li><a href=\"#title2\">Title2</a><ul><li><a href=\"#title3\">Title3</a></li></ul></li></ul></div></p>\n<h2 id=\"title2\"><a class=\"header-anchor\" href=\"#title2\" aria-hidden=\"true\">#</a> Title2</h2>\n<h3 id=\"title3\"><a class=\"header-anchor\" href=\"#title3\" aria-hidden=\"true\">#</a> Title3</h3>\n<h4 id=\"title4\"><a class=\"header-anchor\" href=\"#title4\" aria-hidden=\"true\">#</a> Title4</h4>\n<h5 id=\"title5\"><a class=\"header-anchor\" href=\"#title5\" aria-hidden=\"true\">#</a> Title5</h5>\n<p>...</p>\n<h5 id=\"title5-2\"><a class=\"header-anchor\" href=\"#title5-2\" aria-hidden=\"true\">#</a> Title5</h5>\n<p>...</p>\n<h4 id=\"title4-2\"><a class=\"header-anchor\" href=\"#title4-2\" aria-hidden=\"true\">#</a> Title4</h4>\n<p>...</p>\n<h3 id=\"title3-2\"><a class=\"header-anchor\" href=\"#title3-2\" aria-hidden=\"true\">#</a> Title3</h3>\n<p>...</p>\n<h2 id=\"title2-2\"><a class=\"header-anchor\" href=\"#title2-2\" aria-hidden=\"true\">#</a> Title2</h2>\n<p>...</p>\n<h3 id=\"title3-3\"><a class=\"header-anchor\" href=\"#title3-3\" aria-hidden=\"true\">#</a> Title3</h3>\n<p>...</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/65b7860d5d0fa80aaf9f8ce4b379969d.json b/node_modules/vuepress/node_modules/.cache/vuepress/65b7860d5d0fa80aaf9f8ce4b379969d.json new file mode 100644 index 00000000..cb2989e3 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/65b7860d5d0fa80aaf9f8ce4b379969d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/README.md","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/README.md","mtime":1541598631436},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./README.md?vue&type=template&id=83e02194&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('83e02194', component.options)\n } else {\n api.reload('83e02194', component.options)\n }\n module.hot.accept(\"./README.md?vue&type=template&id=83e02194&\", function () {\n api.rerender('83e02194', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/README.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/65d52fe3eeceae9cd0d18e37a03b856e.json b/node_modules/vuepress/node_modules/.cache/vuepress/65d52fe3eeceae9cd0d18e37a03b856e.json new file mode 100644 index 00000000..e7eeb54d --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/65d52fe3eeceae9cd0d18e37a03b856e.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/guide/sponsors.md","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/guide/sponsors.md","mtime":1541582225811},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./sponsors.md?vue&type=template&id=5a182250&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('5a182250', component.options)\n } else {\n api.reload('5a182250', component.options)\n }\n module.hot.accept(\"./sponsors.md?vue&type=template&id=5a182250&\", function () {\n api.rerender('5a182250', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/guide/sponsors.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/6679d1aff06e25b96c78a1af734e8cf3.json b/node_modules/vuepress/node_modules/.cache/vuepress/6679d1aff06e25b96c78a1af734e8cf3.json new file mode 100644 index 00000000..47edcfc1 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/6679d1aff06e25b96c78a1af734e8cf3.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/manual/index.md?vue&type=template&id=a7d8d386&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/manual/index.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_c('h1',{attrs:{\"id\":\"manual\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#manual\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Manual\")]),_vm._v(\" \"),_c('p',[_vm._v(\"[TODO]\")])])}]\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/66c02fc8d563c318bc299f09f614f5e5.json b/node_modules/vuepress/node_modules/.cache/vuepress/66c02fc8d563c318bc299f09f614f5e5.json new file mode 100644 index 00000000..2ccf0451 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/66c02fc8d563c318bc299f09f614f5e5.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/manual/index.md?vue&type=template&id=c064eaca&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/manual/index.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_c('h1',{attrs:{\"id\":\"manual\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#manual\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Manual\")]),_vm._v(\" \"),_c('p',[_vm._v(\"[TODO]\")])])}]\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/66e863d1a8f60caeaf992757232e1161.json b/node_modules/vuepress/node_modules/.cache/vuepress/66e863d1a8f60caeaf992757232e1161.json new file mode 100644 index 00000000..3de9d726 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/66e863d1a8f60caeaf992757232e1161.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/.temp/siteData.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/.temp/siteData.js","mtime":1541576266763},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["export var siteData = {\n \"title\": \"\",\n \"description\": \"\",\n \"base\": \"/\",\n \"pages\": [{\n \"key\": \"v-976357510c0f7\",\n \"path\": \"/\",\n \"lastUpdated\": 1541517835000,\n \"title\": \"Home\",\n \"frontmatter\": {\n \"home\": true,\n \"actionText\": \"Get Started →\",\n \"actionLink\": \"/guide/getting-started\",\n \"features\": [{\n \"title\": \"Why\",\n \"details\": \"Making C development easier, so that any developer can quickly pick it up and enjoy the productivity boost when developing in C language.\"\n }, {\n \"title\": \"Powerful\",\n \"details\": \"Provides lots of modules (e.g. stream, coroutine, regex, container, algorithm and etc).\"\n }, {\n \"title\": \"Cross-platform\",\n \"details\": \"Supports windows, macOS, linux, android and ios.\"\n }],\n \"footer\": \"Apache-2.0 Licensed | Copyright © 2009-present tboox.org\"\n }\n }, {\n \"key\": \"v-e654ab74c6f2f\",\n \"path\": \"/api/introduction.html\",\n \"lastUpdated\": 1541569543000,\n \"title\": \"Title1\",\n \"headers\": [{\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2\"\n }, {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3\"\n }, {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-2\"\n }, {\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2-2\"\n }, {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-3\"\n }]\n }, {\n \"key\": \"v-6387b977201ca\",\n \"path\": \"/guide/getting-started.html\",\n \"lastUpdated\": 1541555081000,\n \"title\": \"Getting Started\",\n \"headers\": [{\n \"level\": 2,\n \"title\": \"Example\",\n \"slug\": \"example\"\n }]\n }, {\n \"key\": \"v-f7cff32f576f\",\n \"path\": \"/guide/introduction.html\",\n \"lastUpdated\": 1541491338000,\n \"title\": \"Introduction\",\n \"headers\": [{\n \"level\": 2,\n \"title\": \"Features\",\n \"slug\": \"features\"\n }, {\n \"level\": 2,\n \"title\": \"Projects\",\n \"slug\": \"projects\"\n }, {\n \"level\": 2,\n \"title\": \"Contacts\",\n \"slug\": \"contacts\"\n }]\n }, {\n \"key\": \"v-d59d997586fc4\",\n \"path\": \"/zh/\",\n \"lastUpdated\": 1541517835000,\n \"title\": \"Home\",\n \"frontmatter\": {\n \"home\": true,\n \"actionText\": \"快速上手 →\",\n \"actionLink\": \"/zh/guide/getting-started\",\n \"features\": [{\n \"title\": \"为什么使用\",\n \"details\": \"针对各个平台,封装了统一的接口,简化了各类开发过程中常用操作,使C开发更加的简单高效\"\n }, {\n \"title\": \"强大\",\n \"details\": \"提供大量的实用模块(例如:流处理,协程,正则, 容器,算法,数据库等常用模块)\"\n }, {\n \"title\": \"跨平台\",\n \"details\": \"支持windows, macOS, linux, android, ios\"\n }],\n \"footer\": \"Apache-2.0 Licensed | Copyright © 2009-present tboox.org\"\n }\n }, {\n \"key\": \"v-16069a4f1ab75\",\n \"path\": \"/zh/api/introduction.html\",\n \"lastUpdated\": 1541569543000,\n \"title\": \"Title1\",\n \"headers\": [{\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2\"\n }, {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3\"\n }, {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-2\"\n }, {\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2-2\"\n }, {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-3\"\n }]\n }, {\n \"key\": \"v-bfdd7b082b1e2\",\n \"path\": \"/zh/guide/getting-started.html\",\n \"lastUpdated\": 1541555081000,\n \"title\": \"快速开始\",\n \"headers\": [{\n \"level\": 2,\n \"title\": \"编译\",\n \"slug\": \"编译\"\n }, {\n \"level\": 2,\n \"title\": \"例子\",\n \"slug\": \"例子\"\n }]\n }, {\n \"key\": \"v-c5b609d041045\",\n \"path\": \"/zh/guide/introduction.html\",\n \"lastUpdated\": 1541491338000,\n \"title\": \"简介\",\n \"headers\": [{\n \"level\": 2,\n \"title\": \"特性\",\n \"slug\": \"特性\"\n }, {\n \"level\": 2,\n \"title\": \"项目例子\",\n \"slug\": \"项目例子\"\n }, {\n \"level\": 2,\n \"title\": \"联系方式\",\n \"slug\": \"联系方式\"\n }]\n }],\n \"themeConfig\": {\n \"repo\": \"tboox/tbox\",\n \"docsRepo\": \"tboox/tbox-docs\",\n \"docsDir\": \"src\",\n \"editLinks\": true,\n \"sidebarDepth\": 2,\n \"locales\": {\n \"/\": {\n \"label\": \"English\",\n \"selectText\": \"Languages\",\n \"editLinkText\": \"Edit this page on GitHub\",\n \"lastUpdated\": \"Last Updated\",\n \"nav\": [{\n \"text\": \"Guide\",\n \"link\": \"/guide/introduction\"\n }, {\n \"text\": \"API\",\n \"link\": \"/api/introduction\"\n }, {\n \"text\": \"Articles\",\n \"link\": \"http://www.tboox.org/category/#tbox\"\n }, {\n \"text\": \"Feedback\",\n \"link\": \"https://github.com/tboox/xmake/issues\"\n }, {\n \"text\": \"Community\",\n \"link\": \"https://www.reddit.com/r/tboox/\"\n }, {\n \"text\": \"Donation\",\n \"link\": \"http://tboox.org/cn/donation/\"\n }],\n \"sidebar\": {\n \"/guide/\": [\"introduction\", \"getting-started\"],\n \"/api/\": [\"introduction\"]\n }\n },\n \"/zh/\": {\n \"label\": \"简体中文\",\n \"selectText\": \"选择语言\",\n \"editLinkText\": \"在 GitHub 上编辑此页\",\n \"lastUpdated\": \"上次更新\",\n \"nav\": [{\n \"text\": \"指南\",\n \"link\": \"/zh/guide/introduction\"\n }, {\n \"text\": \"接口\",\n \"link\": \"/zh/api/introduction\"\n }, {\n \"text\": \"文章\",\n \"link\": \"http://www.tboox.org/cn/category/#tbox\"\n }, {\n \"text\": \"反馈\",\n \"link\": \"https://github.com/tboox/xmake/issues\"\n }, {\n \"text\": \"社区\",\n \"link\": \"https://www.reddit.com/r/tboox/\"\n }, {\n \"text\": \"捐助\",\n \"link\": \"http://tboox.org/cn/donation/\"\n }],\n \"sidebar\": {\n \"/zh/guide/\": [\"introduction\", \"getting-started\"],\n \"/zh/api/\": [\"introduction\"]\n }\n }\n }\n },\n \"locales\": {\n \"/\": {\n \"lang\": \"en-US\",\n \"title\": \"TBOX\",\n \"description\": \"A glib-like cross-platform C library\"\n },\n \"/zh/\": {\n \"lang\": \"zh-CN\",\n \"title\": \"TBOX\",\n \"description\": \"一个用c语言实现的跨平台开发库\"\n }\n }\n};",{"version":3,"sources":["node_modules/vuepress/lib/app/.temp/siteData.js"],"names":["siteData"],"mappings":"AAAA,OAAO,IAAMA,WAAW;AACtB,WAAS,EADa;AAEtB,iBAAe,EAFO;AAGtB,UAAQ,GAHc;AAItB,WAAS,CACP;AACE,WAAO,iBADT;AAEE,YAAQ,GAFV;AAGE,mBAAe,aAHjB;AAIE,aAAS,MAJX;AAKE,mBAAe;AACb,cAAQ,IADK;AAEb,oBAAc,eAFD;AAGb,oBAAc,wBAHD;AAIb,kBAAY,CACV;AACE,iBAAS,KADX;AAEE,mBAAW;AAFb,OADU,EAKV;AACE,iBAAS,UADX;AAEE,mBAAW;AAFb,OALU,EASV;AACE,iBAAS,gBADX;AAEE,mBAAW;AAFb,OATU,CAJC;AAkBb,gBAAU;AAlBG;AALjB,GADO,EA2BP;AACE,WAAO,iBADT;AAEE,YAAQ,wBAFV;AAGE,mBAAe,aAHjB;AAIE,aAAS,QAJX;AAKE,eAAW,CACT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KADS,EAMT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KANS,EAWT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KAXS,EAgBT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KAhBS,EAqBT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KArBS;AALb,GA3BO,EA4DP;AACE,WAAO,iBADT;AAEE,YAAQ,6BAFV;AAGE,mBAAe,aAHjB;AAIE,aAAS,iBAJX;AAKE,eAAW,CACT;AACE,eAAS,CADX;AAEE,eAAS,SAFX;AAGE,cAAQ;AAHV,KADS;AALb,GA5DO,EAyEP;AACE,WAAO,gBADT;AAEE,YAAQ,0BAFV;AAGE,mBAAe,aAHjB;AAIE,aAAS,cAJX;AAKE,eAAW,CACT;AACE,eAAS,CADX;AAEE,eAAS,UAFX;AAGE,cAAQ;AAHV,KADS,EAMT;AACE,eAAS,CADX;AAEE,eAAS,UAFX;AAGE,cAAQ;AAHV,KANS,EAWT;AACE,eAAS,CADX;AAEE,eAAS,UAFX;AAGE,cAAQ;AAHV,KAXS;AALb,GAzEO,EAgGP;AACE,WAAO,iBADT;AAEE,YAAQ,MAFV;AAGE,mBAAe,aAHjB;AAIE,aAAS,MAJX;AAKE,mBAAe;AACb,cAAQ,IADK;AAEb,oBAAc,QAFD;AAGb,oBAAc,2BAHD;AAIb,kBAAY,CACV;AACE,iBAAS,OADX;AAEE,mBAAW;AAFb,OADU,EAKV;AACE,iBAAS,IADX;AAEE,mBAAW;AAFb,OALU,EASV;AACE,iBAAS,KADX;AAEE,mBAAW;AAFb,OATU,CAJC;AAkBb,gBAAU;AAlBG;AALjB,GAhGO,EA0HP;AACE,WAAO,iBADT;AAEE,YAAQ,2BAFV;AAGE,mBAAe,aAHjB;AAIE,aAAS,QAJX;AAKE,eAAW,CACT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KADS,EAMT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KANS,EAWT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KAXS,EAgBT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KAhBS,EAqBT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KArBS;AALb,GA1HO,EA2JP;AACE,WAAO,iBADT;AAEE,YAAQ,gCAFV;AAGE,mBAAe,aAHjB;AAIE,aAAS,MAJX;AAKE,eAAW,CACT;AACE,eAAS,CADX;AAEE,eAAS,IAFX;AAGE,cAAQ;AAHV,KADS,EAMT;AACE,eAAS,CADX;AAEE,eAAS,IAFX;AAGE,cAAQ;AAHV,KANS;AALb,GA3JO,EA6KP;AACE,WAAO,iBADT;AAEE,YAAQ,6BAFV;AAGE,mBAAe,aAHjB;AAIE,aAAS,IAJX;AAKE,eAAW,CACT;AACE,eAAS,CADX;AAEE,eAAS,IAFX;AAGE,cAAQ;AAHV,KADS,EAMT;AACE,eAAS,CADX;AAEE,eAAS,MAFX;AAGE,cAAQ;AAHV,KANS,EAWT;AACE,eAAS,CADX;AAEE,eAAS,MAFX;AAGE,cAAQ;AAHV,KAXS;AALb,GA7KO,CAJa;AAyMtB,iBAAe;AACb,YAAQ,YADK;AAEb,gBAAY,iBAFC;AAGb,eAAW,KAHE;AAIb,iBAAa,IAJA;AAKb,oBAAgB,CALH;AAMb,eAAW;AACT,WAAK;AACH,iBAAS,SADN;AAEH,sBAAc,WAFX;AAGH,wBAAgB,0BAHb;AAIH,uBAAe,cAJZ;AAKH,eAAO,CACL;AACE,kBAAQ,OADV;AAEE,kBAAQ;AAFV,SADK,EAKL;AACE,kBAAQ,KADV;AAEE,kBAAQ;AAFV,SALK,EASL;AACE,kBAAQ,UADV;AAEE,kBAAQ;AAFV,SATK,EAaL;AACE,kBAAQ,UADV;AAEE,kBAAQ;AAFV,SAbK,EAiBL;AACE,kBAAQ,WADV;AAEE,kBAAQ;AAFV,SAjBK,EAqBL;AACE,kBAAQ,UADV;AAEE,kBAAQ;AAFV,SArBK,CALJ;AA+BH,mBAAW;AACT,qBAAW,CACT,cADS,EAET,iBAFS,CADF;AAKT,mBAAS,CACP,cADO;AALA;AA/BR,OADI;AA0CT,cAAQ;AACN,iBAAS,MADH;AAEN,sBAAc,MAFR;AAGN,wBAAgB,gBAHV;AAIN,uBAAe,MAJT;AAKN,eAAO,CACL;AACE,kBAAQ,IADV;AAEE,kBAAQ;AAFV,SADK,EAKL;AACE,kBAAQ,IADV;AAEE,kBAAQ;AAFV,SALK,EASL;AACE,kBAAQ,IADV;AAEE,kBAAQ;AAFV,SATK,EAaL;AACE,kBAAQ,IADV;AAEE,kBAAQ;AAFV,SAbK,EAiBL;AACE,kBAAQ,IADV;AAEE,kBAAQ;AAFV,SAjBK,EAqBL;AACE,kBAAQ,IADV;AAEE,kBAAQ;AAFV,SArBK,CALD;AA+BN,mBAAW;AACT,wBAAc,CACZ,cADY,EAEZ,iBAFY,CADL;AAKT,sBAAY,CACV,cADU;AALH;AA/BL;AA1CC;AANE,GAzMO;AAoStB,aAAW;AACT,SAAK;AACH,cAAQ,OADL;AAEH,eAAS,MAFN;AAGH,qBAAe;AAHZ,KADI;AAMT,YAAQ;AACN,cAAQ,OADF;AAEN,eAAS,MAFH;AAGN,qBAAe;AAHT;AANC;AApSW,CAAjB","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["export const siteData = {\n \"title\": \"\",\n \"description\": \"\",\n \"base\": \"/\",\n \"pages\": [\n {\n \"key\": \"v-976357510c0f7\",\n \"path\": \"/\",\n \"lastUpdated\": 1541517835000,\n \"title\": \"Home\",\n \"frontmatter\": {\n \"home\": true,\n \"actionText\": \"Get Started →\",\n \"actionLink\": \"/guide/getting-started\",\n \"features\": [\n {\n \"title\": \"Why\",\n \"details\": \"Making C development easier, so that any developer can quickly pick it up and enjoy the productivity boost when developing in C language.\"\n },\n {\n \"title\": \"Powerful\",\n \"details\": \"Provides lots of modules (e.g. stream, coroutine, regex, container, algorithm and etc).\"\n },\n {\n \"title\": \"Cross-platform\",\n \"details\": \"Supports windows, macOS, linux, android and ios.\"\n }\n ],\n \"footer\": \"Apache-2.0 Licensed | Copyright © 2009-present tboox.org\"\n }\n },\n {\n \"key\": \"v-e654ab74c6f2f\",\n \"path\": \"/api/introduction.html\",\n \"lastUpdated\": 1541569543000,\n \"title\": \"Title1\",\n \"headers\": [\n {\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2\"\n },\n {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3\"\n },\n {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-2\"\n },\n {\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2-2\"\n },\n {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-3\"\n }\n ]\n },\n {\n \"key\": \"v-6387b977201ca\",\n \"path\": \"/guide/getting-started.html\",\n \"lastUpdated\": 1541555081000,\n \"title\": \"Getting Started\",\n \"headers\": [\n {\n \"level\": 2,\n \"title\": \"Example\",\n \"slug\": \"example\"\n }\n ]\n },\n {\n \"key\": \"v-f7cff32f576f\",\n \"path\": \"/guide/introduction.html\",\n \"lastUpdated\": 1541491338000,\n \"title\": \"Introduction\",\n \"headers\": [\n {\n \"level\": 2,\n \"title\": \"Features\",\n \"slug\": \"features\"\n },\n {\n \"level\": 2,\n \"title\": \"Projects\",\n \"slug\": \"projects\"\n },\n {\n \"level\": 2,\n \"title\": \"Contacts\",\n \"slug\": \"contacts\"\n }\n ]\n },\n {\n \"key\": \"v-d59d997586fc4\",\n \"path\": \"/zh/\",\n \"lastUpdated\": 1541517835000,\n \"title\": \"Home\",\n \"frontmatter\": {\n \"home\": true,\n \"actionText\": \"快速上手 →\",\n \"actionLink\": \"/zh/guide/getting-started\",\n \"features\": [\n {\n \"title\": \"为什么使用\",\n \"details\": \"针对各个平台,封装了统一的接口,简化了各类开发过程中常用操作,使C开发更加的简单高效\"\n },\n {\n \"title\": \"强大\",\n \"details\": \"提供大量的实用模块(例如:流处理,协程,正则, 容器,算法,数据库等常用模块)\"\n },\n {\n \"title\": \"跨平台\",\n \"details\": \"支持windows, macOS, linux, android, ios\"\n }\n ],\n \"footer\": \"Apache-2.0 Licensed | Copyright © 2009-present tboox.org\"\n }\n },\n {\n \"key\": \"v-16069a4f1ab75\",\n \"path\": \"/zh/api/introduction.html\",\n \"lastUpdated\": 1541569543000,\n \"title\": \"Title1\",\n \"headers\": [\n {\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2\"\n },\n {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3\"\n },\n {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-2\"\n },\n {\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2-2\"\n },\n {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-3\"\n }\n ]\n },\n {\n \"key\": \"v-bfdd7b082b1e2\",\n \"path\": \"/zh/guide/getting-started.html\",\n \"lastUpdated\": 1541555081000,\n \"title\": \"快速开始\",\n \"headers\": [\n {\n \"level\": 2,\n \"title\": \"编译\",\n \"slug\": \"编译\"\n },\n {\n \"level\": 2,\n \"title\": \"例子\",\n \"slug\": \"例子\"\n }\n ]\n },\n {\n \"key\": \"v-c5b609d041045\",\n \"path\": \"/zh/guide/introduction.html\",\n \"lastUpdated\": 1541491338000,\n \"title\": \"简介\",\n \"headers\": [\n {\n \"level\": 2,\n \"title\": \"特性\",\n \"slug\": \"特性\"\n },\n {\n \"level\": 2,\n \"title\": \"项目例子\",\n \"slug\": \"项目例子\"\n },\n {\n \"level\": 2,\n \"title\": \"联系方式\",\n \"slug\": \"联系方式\"\n }\n ]\n }\n ],\n \"themeConfig\": {\n \"repo\": \"tboox/tbox\",\n \"docsRepo\": \"tboox/tbox-docs\",\n \"docsDir\": \"src\",\n \"editLinks\": true,\n \"sidebarDepth\": 2,\n \"locales\": {\n \"/\": {\n \"label\": \"English\",\n \"selectText\": \"Languages\",\n \"editLinkText\": \"Edit this page on GitHub\",\n \"lastUpdated\": \"Last Updated\",\n \"nav\": [\n {\n \"text\": \"Guide\",\n \"link\": \"/guide/introduction\"\n },\n {\n \"text\": \"API\",\n \"link\": \"/api/introduction\"\n },\n {\n \"text\": \"Articles\",\n \"link\": \"http://www.tboox.org/category/#tbox\"\n },\n {\n \"text\": \"Feedback\",\n \"link\": \"https://github.com/tboox/xmake/issues\"\n },\n {\n \"text\": \"Community\",\n \"link\": \"https://www.reddit.com/r/tboox/\"\n },\n {\n \"text\": \"Donation\",\n \"link\": \"http://tboox.org/cn/donation/\"\n }\n ],\n \"sidebar\": {\n \"/guide/\": [\n \"introduction\",\n \"getting-started\"\n ],\n \"/api/\": [\n \"introduction\"\n ]\n }\n },\n \"/zh/\": {\n \"label\": \"简体中文\",\n \"selectText\": \"选择语言\",\n \"editLinkText\": \"在 GitHub 上编辑此页\",\n \"lastUpdated\": \"上次更新\",\n \"nav\": [\n {\n \"text\": \"指南\",\n \"link\": \"/zh/guide/introduction\"\n },\n {\n \"text\": \"接口\",\n \"link\": \"/zh/api/introduction\"\n },\n {\n \"text\": \"文章\",\n \"link\": \"http://www.tboox.org/cn/category/#tbox\"\n },\n {\n \"text\": \"反馈\",\n \"link\": \"https://github.com/tboox/xmake/issues\"\n },\n {\n \"text\": \"社区\",\n \"link\": \"https://www.reddit.com/r/tboox/\"\n },\n {\n \"text\": \"捐助\",\n \"link\": \"http://tboox.org/cn/donation/\"\n }\n ],\n \"sidebar\": {\n \"/zh/guide/\": [\n \"introduction\",\n \"getting-started\"\n ],\n \"/zh/api/\": [\n \"introduction\"\n ]\n }\n }\n }\n },\n \"locales\": {\n \"/\": {\n \"lang\": \"en-US\",\n \"title\": \"TBOX\",\n \"description\": \"A glib-like cross-platform C library\"\n },\n \"/zh/\": {\n \"lang\": \"zh-CN\",\n \"title\": \"TBOX\",\n \"description\": \"一个用c语言实现的跨平台开发库\"\n }\n }\n}"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/66f1e4938c31d0094cab4b9a45ed9f89.json b/node_modules/vuepress/node_modules/.cache/vuepress/66f1e4938c31d0094cab4b9a45ed9f89.json new file mode 100644 index 00000000..4fa29193 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/66f1e4938c31d0094cab4b9a45ed9f89.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue?vue&type=template&id=e27c5110&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<transition name=\"sw-update-popup\">\n <div\n v-if=\"enabled\"\n class=\"sw-update-popup\"\n >\n {{message}}<br>\n <button @click=\"reload\">{{buttonText}}</button>\n </div>\n</transition>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/670d6d943587e2a618cfdf6884e40ce9.json b/node_modules/vuepress/node_modules/.cache/vuepress/670d6d943587e2a618cfdf6884e40ce9.json new file mode 100644 index 00000000..9d14769f --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/670d6d943587e2a618cfdf6884e40ce9.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/manual/introduction.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/manual/introduction.md","mtime":1541492172602},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./introduction.md?vue&type=template&id=b1ff51fc&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('b1ff51fc', component.options)\n } else {\n api.reload('b1ff51fc', component.options)\n }\n module.hot.accept(\"./introduction.md?vue&type=template&id=b1ff51fc&\", function () {\n api.rerender('b1ff51fc', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/zh/manual/introduction.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/675a62872579ef59dd3ef1c59a641b7f.json b/node_modules/vuepress/node_modules/.cache/vuepress/675a62872579ef59dd3ef1c59a641b7f.json new file mode 100644 index 00000000..c72f0461 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/675a62872579ef59dd3ef1c59a641b7f.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue?vue&type=template&id=0cd5c87c&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div class=\"search-box\">\n <input\n @input=\"query = $event.target.value\"\n aria-label=\"Search\"\n :value=\"query\"\n :class=\"{ 'focused': focused }\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n @focus=\"focused = true\"\n @blur=\"focused = false\"\n @keyup.enter=\"go(focusIndex)\"\n @keyup.up=\"onUp\"\n @keyup.down=\"onDown\"\n >\n <ul\n class=\"suggestions\"\n v-if=\"showSuggestions\"\n :class=\"{ 'align-right': alignRight }\"\n @mouseleave=\"unfocus\"\n >\n <li\n class=\"suggestion\"\n v-for=\"(s, i) in suggestions\"\n :class=\"{ focused: i === focusIndex }\"\n @mousedown=\"go(i)\"\n @mouseenter=\"focus(i)\"\n >\n <a :href=\"s.path\" @click.prevent>\n <span class=\"page-title\">{{ s.title || s.path }}</span>\n <span v-if=\"s.header\" class=\"header\">> {{ s.header.title }}</span>\n </a>\n </li>\n </ul>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/68086471c396b5ea07c23ee081d4cd2e.json b/node_modules/vuepress/node_modules/.cache/vuepress/68086471c396b5ea07c23ee081d4cd2e.json new file mode 100644 index 00000000..141a03b6 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/68086471c396b5ea07c23ee081d4cd2e.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n.icon.outbound\n color #aaa\n display inline-block\n",{"version":3,"sources":["OutboundLink.vue"],"names":[],"mappings":";;;;;;;;AAQA;AACA;AACA","file":"OutboundLink.vue","sourceRoot":"node_modules/vuepress/lib/app/components","sourcesContent":["<template functional>\n <svg class=\"icon outbound\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" x=\"0px\" y=\"0px\" viewBox=\"0 0 100 100\" width=\"15\" height=\"15\">\n <path fill=\"currentColor\" d=\"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z\"></path>\n <polygon fill=\"currentColor\" points=\"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9\"></polygon>\n </svg>\n</template>\n\n<style lang=\"stylus\">\n.icon.outbound\n color #aaa\n display inline-block\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/686febc0f27f888b5fe0076aae3506c5.json b/node_modules/vuepress/node_modules/.cache/vuepress/686febc0f27f888b5fe0076aae3506c5.json new file mode 100644 index 00000000..8b933274 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/686febc0f27f888b5fe0076aae3506c5.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./SidebarGroup.vue?vue&type=template&id=18ca159a&\"\nimport script from \"./SidebarGroup.vue?vue&type=script&lang=js&\"\nexport * from \"./SidebarGroup.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SidebarGroup.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('18ca159a', component.options)\n } else {\n api.reload('18ca159a', component.options)\n }\n module.hot.accept(\"./SidebarGroup.vue?vue&type=template&id=18ca159a&\", function () {\n api.rerender('18ca159a', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/default-theme/SidebarGroup.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/687358d9eeabea1bff66164c420b5b6c.json b/node_modules/vuepress/node_modules/.cache/vuepress/687358d9eeabea1bff66164c420b5b6c.json new file mode 100644 index 00000000..aa843da3 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/687358d9eeabea1bff66164c420b5b6c.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/zh/guide/sponsors.md?vue&type=template&id=3db465ce&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/zh/guide/sponsors.md","mtime":1541582153336},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/68a4501ca6c7634c8771f2b1c2e51549.json b/node_modules/vuepress/node_modules/.cache/vuepress/68a4501ca6c7634c8771f2b1c2e51549.json new file mode 100644 index 00000000..f44ac108 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/68a4501ca6c7634c8771f2b1c2e51549.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.search-box\n display inline-block\n position relative\n margin-right 1rem\n input\n cursor text\n width 10rem\n color lighten($textColor, 25%)\n display inline-block\n border 1px solid darken($borderColor, 10%)\n border-radius 2rem\n font-size 0.9rem\n line-height 2rem\n padding 0 0.5rem 0 2rem\n outline none\n transition all .2s ease\n background #fff url(./search.svg) 0.6rem 0.5rem no-repeat\n background-size 1rem\n &:focus\n cursor auto\n border-color $accentColor\n .suggestions\n background #fff\n width 20rem\n position absolute\n top 1.5rem\n border 1px solid darken($borderColor, 10%)\n border-radius 6px\n padding 0.4rem\n list-style-type none\n &.align-right\n right 0\n .suggestion\n line-height 1.4\n padding 0.4rem 0.6rem\n border-radius 4px\n cursor pointer\n a\n white-space normal\n color lighten($textColor, 35%)\n .page-title\n font-weight 600\n .header\n font-size 0.9em\n margin-left 0.25em\n &.focused\n background-color #f3f4f5\n a\n color $accentColor\n\n@media (max-width: $MQNarrow)\n .search-box\n input\n cursor pointer\n width 0\n border-color transparent\n position relative\n &:focus\n cursor text\n left 0\n width 10rem\n\n@media (max-width: $MQNarrow) and (min-width: $MQMobile)\n .search-box\n .suggestions\n left 0\n\n@media (max-width: $MQMobile)\n .search-box\n margin-right 0\n input\n left 1rem\n .suggestions\n right 0\n\n@media (max-width: $MQMobileNarrow)\n .search-box\n .suggestions\n width calc(100vw - 4rem)\n input:focus\n width 8rem\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/68a9f4d19aec24100ecc5396eb972703.json b/node_modules/vuepress/node_modules/.cache/vuepress/68a9f4d19aec24100ecc5396eb972703.json new file mode 100644 index 00000000..b1e92c14 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/68a9f4d19aec24100ecc5396eb972703.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import _toConsumableArray from \"/Users/ruki/projects/personal/tbox-docs/node_modules/@babel/runtime/helpers/builtin/es6/toConsumableArray\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.regexp.replace\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport { resolvePage, normalize, outboundRE, endingSlashRE } from './util';\nexport default {\n props: ['sidebarItems'],\n computed: {\n lastUpdated: function lastUpdated() {\n if (this.$page.lastUpdated) {\n return new Date(this.$page.lastUpdated).toLocaleString(this.$lang);\n }\n },\n lastUpdatedText: function lastUpdatedText() {\n if (typeof this.$themeLocaleConfig.lastUpdated === 'string') {\n return this.$themeLocaleConfig.lastUpdated;\n }\n\n if (typeof this.$site.themeConfig.lastUpdated === 'string') {\n return this.$site.themeConfig.lastUpdated;\n }\n\n return 'Last Updated';\n },\n prev: function prev() {\n var prev = this.$page.frontmatter.prev;\n\n if (prev === false) {\n return;\n } else if (prev) {\n return resolvePage(this.$site.pages, prev, this.$route.path);\n } else {\n return resolvePrev(this.$page, this.sidebarItems);\n }\n },\n next: function next() {\n var next = this.$page.frontmatter.next;\n\n if (next === false) {\n return;\n } else if (next) {\n return resolvePage(this.$site.pages, next, this.$route.path);\n } else {\n return resolveNext(this.$page, this.sidebarItems);\n }\n },\n editLink: function editLink() {\n if (this.$page.frontmatter.editLink === false) {\n return;\n }\n\n var _this$$site$themeConf = this.$site.themeConfig,\n repo = _this$$site$themeConf.repo,\n editLinks = _this$$site$themeConf.editLinks,\n _this$$site$themeConf2 = _this$$site$themeConf.docsDir,\n docsDir = _this$$site$themeConf2 === void 0 ? '' : _this$$site$themeConf2,\n _this$$site$themeConf3 = _this$$site$themeConf.docsBranch,\n docsBranch = _this$$site$themeConf3 === void 0 ? 'master' : _this$$site$themeConf3,\n _this$$site$themeConf4 = _this$$site$themeConf.docsRepo,\n docsRepo = _this$$site$themeConf4 === void 0 ? repo : _this$$site$themeConf4;\n var path = normalize(this.$page.path);\n\n if (endingSlashRE.test(path)) {\n path += 'README.md';\n } else {\n path += '.md';\n }\n\n if (docsRepo && editLinks) {\n return this.createEditLink(repo, docsRepo, docsDir, docsBranch, path);\n }\n },\n editLinkText: function editLinkText() {\n return this.$themeLocaleConfig.editLinkText || this.$site.themeConfig.editLinkText || \"Edit this page\";\n }\n },\n methods: {\n createEditLink: function createEditLink(repo, docsRepo, docsDir, docsBranch, path) {\n var bitbucket = /bitbucket.org/;\n\n if (bitbucket.test(repo)) {\n var _base = outboundRE.test(docsRepo) ? docsRepo : repo;\n\n return _base.replace(endingSlashRE, '') + \"/\".concat(docsBranch) + (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') + path + \"?mode=edit&spa=0&at=\".concat(docsBranch, \"&fileviewer=file-view-default\");\n }\n\n var base = outboundRE.test(docsRepo) ? docsRepo : \"https://github.com/\".concat(docsRepo);\n return base.replace(endingSlashRE, '') + \"/edit/\".concat(docsBranch) + (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') + path;\n }\n }\n};\n\nfunction resolvePrev(page, items) {\n return find(page, items, -1);\n}\n\nfunction resolveNext(page, items) {\n return find(page, items, 1);\n}\n\nfunction find(page, items, offset) {\n var res = [];\n items.forEach(function (item) {\n if (item.type === 'group') {\n res.push.apply(res, _toConsumableArray(item.children || []));\n } else {\n res.push(item);\n }\n });\n\n for (var i = 0; i < res.length; i++) {\n var cur = res[i];\n\n if (cur.type === 'page' && cur.path === page.path) {\n return res[i + offset];\n }\n }\n}",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/69592eba12fd683b51b7e27bfa13c5f8.json b/node_modules/vuepress/node_modules/.cache/vuepress/69592eba12fd683b51b7e27bfa13c5f8.json new file mode 100644 index 00000000..b6c075d9 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/69592eba12fd683b51b7e27bfa13c5f8.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/root-mixins/updateMeta.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/root-mixins/updateMeta.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import \"core-js/modules/es6.object.keys\";\nimport \"core-js/modules/es6.array.map\";\nimport _toConsumableArray from \"/Users/ruki/projects/personal/tbox-docs/node_modules/@babel/runtime/helpers/builtin/es6/toConsumableArray\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.function.name\";\nimport \"core-js/modules/es6.array.filter\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.iterator\";\nimport \"core-js/modules/es6.string.iterator\";\nimport \"core-js/modules/es6.set\";\nexport default {\n created: function created() {\n if (this.$ssrContext) {\n this.$ssrContext.title = this.$title;\n this.$ssrContext.lang = this.$lang;\n this.$ssrContext.description = this.$page.description || this.$description;\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n // update title / meta tags\n this.currentMetaTags = new Set();\n\n var updateMeta = function updateMeta() {\n document.title = _this.$title;\n document.documentElement.lang = _this.$lang;\n var userMeta = _this.$page.frontmatter.meta || [];\n var meta = userMeta.slice(0);\n var useGlobalDescription = userMeta.filter(function (m) {\n return m.name === 'description';\n }).length === 0; // #665 Avoid duplicate description meta at runtime.\n\n if (useGlobalDescription) {\n meta.push({\n name: 'description',\n content: _this.$description\n });\n } // Including description meta coming from SSR.\n\n\n var descriptionMetas = document.querySelectorAll('meta[name=\"description\"]');\n\n if (descriptionMetas.length) {\n descriptionMetas.forEach(function (m) {\n return _this.currentMetaTags.add(m);\n });\n }\n\n _this.currentMetaTags = new Set(updateMetaTags(meta, _this.currentMetaTags));\n };\n\n this.$watch('$page', updateMeta);\n updateMeta();\n },\n beforeDestroy: function beforeDestroy() {\n updateMetaTags(null, this.currentMetaTags);\n }\n};\n\nfunction updateMetaTags(meta, current) {\n if (current) {\n _toConsumableArray(current).forEach(function (c) {\n document.head.removeChild(c);\n });\n }\n\n if (meta) {\n return meta.map(function (m) {\n var tag = document.createElement('meta');\n Object.keys(m).forEach(function (key) {\n tag.setAttribute(key, m[key]);\n });\n document.head.appendChild(tag);\n return tag;\n });\n }\n}",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/69b68be35282a8c18191860109576614.json b/node_modules/vuepress/node_modules/.cache/vuepress/69b68be35282a8c18191860109576614.json new file mode 100644 index 00000000..8c08db0a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/69b68be35282a8c18191860109576614.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./Navbar.vue?vue&type=template&id=040599e7&\"\nimport script from \"./Navbar.vue?vue&type=script&lang=js&\"\nexport * from \"./Navbar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Navbar.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('040599e7', component.options)\n } else {\n api.reload('040599e7', component.options)\n }\n module.hot.accept(\"./Navbar.vue?vue&type=template&id=040599e7&\", function () {\n api.rerender('040599e7', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/default-theme/Navbar.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/6af1367278fe01036bc1393516307232.json b/node_modules/vuepress/node_modules/.cache/vuepress/6af1367278fe01036bc1393516307232.json new file mode 100644 index 00000000..d6f3cf1c --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/6af1367278fe01036bc1393516307232.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Navbar.vue","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Navbar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./Navbar.vue?vue&type=template&id=040599e7&\"\nimport script from \"./Navbar.vue?vue&type=script&lang=js&\"\nexport * from \"./Navbar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Navbar.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('040599e7', component.options)\n } else {\n api.reload('040599e7', component.options)\n }\n module.hot.accept(\"./Navbar.vue?vue&type=template&id=040599e7&\", function () {\n api.rerender('040599e7', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/default-theme/Navbar.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/6b38bca5f6c78fa02e705703a312ed49.json b/node_modules/vuepress/node_modules/.cache/vuepress/6b38bca5f6c78fa02e705703a312ed49.json new file mode 100644 index 00000000..188aae9e --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/6b38bca5f6c78fa02e705703a312ed49.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/manual/index.md?vue&type=template&id=a7d8d386&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/manual/index.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"manual\"><a class=\"header-anchor\" href=\"#manual\" aria-hidden=\"true\">#</a> Manual</h1>\n<p>[TODO]</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/6bf82e79fb2603cd7bab603199b1c6a2.json b/node_modules/vuepress/node_modules/.cache/vuepress/6bf82e79fb2603cd7bab603199b1c6a2.json new file mode 100644 index 00000000..9c30abcd --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/6bf82e79fb2603cd7bab603199b1c6a2.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/manual/index.md?vue&type=template&id=115631ce&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/manual/index.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm._m(0)\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _c(\"h1\", { attrs: { id: \"manual\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#manual\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Manual\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"[TODO]\")])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/6c6970d0ebb8e6c857a23739911e04b9.json b/node_modules/vuepress/node_modules/.cache/vuepress/6c6970d0ebb8e6c857a23739911e04b9.json new file mode 100644 index 00000000..fb792560 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/6c6970d0ebb8e6c857a23739911e04b9.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/app.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/app.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import \"core-js/modules/es6.object.assign\";\nimport Vue from 'vue';\nimport Router from 'vue-router';\nimport dataMixin from './dataMixin';\nimport store from './store';\nimport { routes } from '@temp/routes';\nimport { siteData } from '@temp/siteData';\nimport enhanceApp from '@temp/enhanceApp';\nimport themeEnhanceApp from '@temp/themeEnhanceApp'; // generated from user config\n\nimport('@temp/style.styl'); // built-in components\n\nimport Content from './components/Content';\nimport OutboundLink from './components/OutboundLink.vue';\nimport ClientOnly from './components/ClientOnly'; // suggest dev server restart on base change\n\nif (module.hot) {\n var prevBase = siteData.base;\n module.hot.accept('./.temp/siteData', function () {\n if (siteData.base !== prevBase) {\n window.alert(\"[vuepress] Site base has changed. \" + \"Please restart dev server to ensure correct asset paths.\");\n }\n });\n}\n\nVue.config.productionTip = false;\nVue.use(Router); // mixin for exposing $site and $page\n\nVue.mixin(dataMixin(siteData)); // component for rendering markdown content and setting title etc.\n\nVue.component('Content', Content);\nVue.component('OutboundLink', OutboundLink);\nVue.component('Badge', function () {\n return import('./components/Badge.vue');\n}); // component for client-only content\n\nVue.component('ClientOnly', ClientOnly); // global helper for adding base path to absolute urls\n\nVue.prototype.$withBase = function (path) {\n var base = this.$site.base;\n\n if (path.charAt(0) === '/') {\n return base + path.slice(1);\n } else {\n return path;\n }\n};\n\nexport function createApp() {\n var router = new Router({\n base: siteData.base,\n mode: 'history',\n fallback: false,\n routes: routes,\n scrollBehavior: function scrollBehavior(to, from, saved) {\n if (saved) {\n return saved;\n } else if (to.hash) {\n if (store.disableScrollBehavior) {\n return false;\n }\n\n return {\n selector: to.hash\n };\n } else {\n return {\n x: 0,\n y: 0\n };\n }\n }\n }); // redirect /foo to /foo/\n\n router.beforeEach(function (to, from, next) {\n if (!/(\\/|\\.html)$/.test(to.path)) {\n next(Object.assign({}, to, {\n path: to.path + '/'\n }));\n } else {\n next();\n }\n });\n var options = {};\n themeEnhanceApp({\n Vue: Vue,\n options: options,\n router: router,\n siteData: siteData\n });\n enhanceApp({\n Vue: Vue,\n options: options,\n router: router,\n siteData: siteData\n });\n var app = new Vue(Object.assign(options, {\n router: router,\n render: function render(h) {\n return h('div', {\n attrs: {\n id: 'app'\n }\n }, [h('router-view', {\n ref: 'layout'\n })]);\n }\n }));\n return {\n app: app,\n router: router\n };\n}",{"version":3,"sources":["node_modules/vuepress/lib/app/app.js"],"names":["Vue","Router","dataMixin","store","routes","siteData","enhanceApp","themeEnhanceApp","Content","OutboundLink","ClientOnly","module","hot","prevBase","base","accept","window","alert","config","productionTip","use","mixin","component","prototype","$withBase","path","$site","charAt","slice","createApp","router","mode","fallback","scrollBehavior","to","from","saved","hash","disableScrollBehavior","selector","x","y","beforeEach","next","test","Object","assign","options","app","render","h","attrs","id","ref"],"mappings":";AAAA,OAAOA,GAAP,MAAgB,KAAhB;AACA,OAAOC,MAAP,MAAmB,YAAnB;AACA,OAAOC,SAAP,MAAsB,aAAtB;AACA,OAAOC,KAAP,MAAkB,SAAlB;AACA,SAASC,MAAT,QAAuB,cAAvB;AACA,SAASC,QAAT,QAAyB,gBAAzB;AACA,OAAOC,UAAP,MAAuB,kBAAvB;AACA,OAAOC,eAAP,MAA4B,uBAA5B,C,CAEA;;AACA,OAAO,kBAAP,E,CAEA;;AACA,OAAOC,OAAP,MAAoB,sBAApB;AACA,OAAOC,YAAP,MAAyB,+BAAzB;AACA,OAAOC,UAAP,MAAuB,yBAAvB,C,CAEA;;AACA,IAAIC,OAAOC,GAAX,EAAgB;AACd,MAAMC,WAAWR,SAASS,IAA1B;AACAH,SAAOC,GAAP,CAAWG,MAAX,CAAkB,kBAAlB,EAAsC,YAAM;AAC1C,QAAIV,SAASS,IAAT,KAAkBD,QAAtB,EAAgC;AAC9BG,aAAOC,KAAP,CACE,iGADF;AAID;AACF,GAPD;AAQD;;AAEDjB,IAAIkB,MAAJ,CAAWC,aAAX,GAA2B,KAA3B;AACAnB,IAAIoB,GAAJ,CAAQnB,MAAR,E,CACA;;AACAD,IAAIqB,KAAJ,CAAUnB,UAAUG,QAAV,CAAV,E,CACA;;AACAL,IAAIsB,SAAJ,CAAc,SAAd,EAAyBd,OAAzB;AACAR,IAAIsB,SAAJ,CAAc,cAAd,EAA8Bb,YAA9B;AACAT,IAAIsB,SAAJ,CAAc,OAAd,EAAuB;AAAA,SAAM,OAAO,wBAAP,CAAN;AAAA,CAAvB,E,CACA;;AACAtB,IAAIsB,SAAJ,CAAc,YAAd,EAA4BZ,UAA5B,E,CAEA;;AACAV,IAAIuB,SAAJ,CAAcC,SAAd,GAA0B,UAAUC,IAAV,EAAgB;AACxC,MAAMX,OAAO,KAAKY,KAAL,CAAWZ,IAAxB;;AACA,MAAIW,KAAKE,MAAL,CAAY,CAAZ,MAAmB,GAAvB,EAA4B;AAC1B,WAAOb,OAAOW,KAAKG,KAAL,CAAW,CAAX,CAAd;AACD,GAFD,MAEO;AACL,WAAOH,IAAP;AACD;AACF,CAPD;;AASA,OAAO,SAASI,SAAT,GAAsB;AAC3B,MAAMC,SAAS,IAAI7B,MAAJ,CAAW;AACxBa,UAAMT,SAASS,IADS;AAExBiB,UAAM,SAFkB;AAGxBC,cAAU,KAHc;AAIxB5B,kBAJwB;AAKxB6B,oBAAgB,wBAACC,EAAD,EAAKC,IAAL,EAAWC,KAAX,EAAqB;AACnC,UAAIA,KAAJ,EAAW;AACT,eAAOA,KAAP;AACD,OAFD,MAEO,IAAIF,GAAGG,IAAP,EAAa;AAClB,YAAIlC,MAAMmC,qBAAV,EAAiC;AAC/B,iBAAO,KAAP;AACD;;AACD,eAAO;AACLC,oBAAUL,GAAGG;AADR,SAAP;AAGD,OAPM,MAOA;AACL,eAAO;AAAEG,aAAG,CAAL;AAAQC,aAAG;AAAX,SAAP;AACD;AACF;AAlBuB,GAAX,CAAf,CAD2B,CAsB3B;;AACAX,SAAOY,UAAP,CAAkB,UAACR,EAAD,EAAKC,IAAL,EAAWQ,IAAX,EAAoB;AACpC,QAAI,CAAC,eAAeC,IAAf,CAAoBV,GAAGT,IAAvB,CAAL,EAAmC;AACjCkB,WAAKE,OAAOC,MAAP,CAAc,EAAd,EAAkBZ,EAAlB,EAAsB;AACzBT,cAAMS,GAAGT,IAAH,GAAU;AADS,OAAtB,CAAL;AAGD,KAJD,MAIO;AACLkB;AACD;AACF,GARD;AAUA,MAAMI,UAAU,EAAhB;AAEAxC,kBAAgB;AAAEP,YAAF;AAAO+C,oBAAP;AAAgBjB,kBAAhB;AAAwBzB;AAAxB,GAAhB;AACAC,aAAW;AAAEN,YAAF;AAAO+C,oBAAP;AAAgBjB,kBAAhB;AAAwBzB;AAAxB,GAAX;AAEA,MAAM2C,MAAM,IAAIhD,GAAJ,CACV6C,OAAOC,MAAP,CAAcC,OAAd,EAAuB;AACrBjB,kBADqB;AAErBmB,UAFqB,kBAEbC,CAFa,EAEV;AACT,aAAOA,EAAE,KAAF,EAAS;AAAEC,eAAO;AAAEC,cAAI;AAAN;AAAT,OAAT,EAAkC,CACvCF,EAAE,aAAF,EAAiB;AAAEG,aAAK;AAAP,OAAjB,CADuC,CAAlC,CAAP;AAGD;AANoB,GAAvB,CADU,CAAZ;AAWA,SAAO;AAAEL,YAAF;AAAOlB;AAAP,GAAP;AACD","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["import Vue from 'vue'\nimport Router from 'vue-router'\nimport dataMixin from './dataMixin'\nimport store from './store'\nimport { routes } from '@temp/routes'\nimport { siteData } from '@temp/siteData'\nimport enhanceApp from '@temp/enhanceApp'\nimport themeEnhanceApp from '@temp/themeEnhanceApp'\n\n// generated from user config\nimport('@temp/style.styl')\n\n// built-in components\nimport Content from './components/Content'\nimport OutboundLink from './components/OutboundLink.vue'\nimport ClientOnly from './components/ClientOnly'\n\n// suggest dev server restart on base change\nif (module.hot) {\n const prevBase = siteData.base\n module.hot.accept('./.temp/siteData', () => {\n if (siteData.base !== prevBase) {\n window.alert(\n `[vuepress] Site base has changed. ` +\n `Please restart dev server to ensure correct asset paths.`\n )\n }\n })\n}\n\nVue.config.productionTip = false\nVue.use(Router)\n// mixin for exposing $site and $page\nVue.mixin(dataMixin(siteData))\n// component for rendering markdown content and setting title etc.\nVue.component('Content', Content)\nVue.component('OutboundLink', OutboundLink)\nVue.component('Badge', () => import('./components/Badge.vue'))\n// component for client-only content\nVue.component('ClientOnly', ClientOnly)\n\n// global helper for adding base path to absolute urls\nVue.prototype.$withBase = function (path) {\n const base = this.$site.base\n if (path.charAt(0) === '/') {\n return base + path.slice(1)\n } else {\n return path\n }\n}\n\nexport function createApp () {\n const router = new Router({\n base: siteData.base,\n mode: 'history',\n fallback: false,\n routes,\n scrollBehavior: (to, from, saved) => {\n if (saved) {\n return saved\n } else if (to.hash) {\n if (store.disableScrollBehavior) {\n return false\n }\n return {\n selector: to.hash\n }\n } else {\n return { x: 0, y: 0 }\n }\n }\n })\n\n // redirect /foo to /foo/\n router.beforeEach((to, from, next) => {\n if (!/(\\/|\\.html)$/.test(to.path)) {\n next(Object.assign({}, to, {\n path: to.path + '/'\n }))\n } else {\n next()\n }\n })\n\n const options = {}\n\n themeEnhanceApp({ Vue, options, router, siteData })\n enhanceApp({ Vue, options, router, siteData })\n\n const app = new Vue(\n Object.assign(options, {\n router,\n render (h) {\n return h('div', { attrs: { id: 'app' }}, [\n h('router-view', { ref: 'layout' })\n ])\n }\n })\n )\n\n return { app, router }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/6cb685655dbbde8870d4d26716f2db88.json b/node_modules/vuepress/node_modules/.cache/vuepress/6cb685655dbbde8870d4d26716f2db88.json new file mode 100644 index 00000000..27bd658a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/6cb685655dbbde8870d4d26716f2db88.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue?vue&type=template&id=61431e6a&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"dropdown\"},on:{\"enter\":_vm.setHeight,\"after-enter\":_vm.unsetHeight,\"before-leave\":_vm.setHeight}},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/6d07ca9724d09ba4db3200f87d74c41f.json b/node_modules/vuepress/node_modules/.cache/vuepress/6d07ca9724d09ba4db3200f87d74c41f.json new file mode 100644 index 00000000..97093177 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/6d07ca9724d09ba4db3200f87d74c41f.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\nimport { isActive, hashRE, groupHeaders } from './util'\n\nexport default {\n functional: true,\n\n props: ['item'],\n\n render (h, { parent: { $page, $site, $route }, props: { item }}) {\n // use custom active class matching logic\n // due to edge case of paths ending with / + hash\n const selfActive = isActive($route, item.path)\n // for sidebar: auto pages, a hash link should be active if one of its child\n // matches\n const active = item.type === 'auto'\n ? selfActive || item.children.some(c => isActive($route, item.basePath + '#' + c.slug))\n : selfActive\n const link = renderLink(h, item.path, item.title || item.path, active)\n const configDepth = $page.frontmatter.sidebarDepth != null\n ? $page.frontmatter.sidebarDepth\n : $site.themeConfig.sidebarDepth\n const maxDepth = configDepth == null ? 1 : configDepth\n const displayAllHeaders = !!$site.themeConfig.displayAllHeaders\n if (item.type === 'auto') {\n return [link, renderChildren(h, item.children, item.basePath, $route, maxDepth)]\n } else if ((active || displayAllHeaders) && item.headers && !hashRE.test(item.path)) {\n const children = groupHeaders(item.headers)\n return [link, renderChildren(h, children, item.path, $route, maxDepth)]\n } else {\n return link\n }\n }\n}\n\nfunction renderLink (h, to, text, active) {\n return h('router-link', {\n props: {\n to,\n activeClass: '',\n exactActiveClass: ''\n },\n class: {\n active,\n 'sidebar-link': true\n }\n }, text)\n}\n\nfunction renderChildren (h, children, path, route, maxDepth, depth = 1) {\n if (!children || depth > maxDepth) return null\n return h('ul', { class: 'sidebar-sub-headers' }, children.map(c => {\n const active = isActive(route, path + '#' + c.slug)\n return h('li', { class: 'sidebar-sub-header' }, [\n renderLink(h, path + '#' + c.slug, c.title, active),\n renderChildren(h, c.children, path, route, maxDepth, depth + 1)\n ])\n }))\n}\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/6d30ae817d52963fc60a0afa926047ef.json b/node_modules/vuepress/node_modules/.cache/vuepress/6d30ae817d52963fc60a0afa926047ef.json new file mode 100644 index 00000000..8036789a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/6d30ae817d52963fc60a0afa926047ef.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import _toConsumableArray from \"/Users/ruki/projects/personal/tbox-docs/node_modules/@babel/runtime/helpers/builtin/es6/toConsumableArray\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.regexp.replace\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport { resolvePage, normalize, outboundRE, endingSlashRE } from './util';\nexport default {\n props: ['sidebarItems'],\n computed: {\n lastUpdated: function lastUpdated() {\n if (this.$page.lastUpdated) {\n return new Date(this.$page.lastUpdated).toLocaleString(this.$lang);\n }\n },\n lastUpdatedText: function lastUpdatedText() {\n if (typeof this.$themeLocaleConfig.lastUpdated === 'string') {\n return this.$themeLocaleConfig.lastUpdated;\n }\n\n if (typeof this.$site.themeConfig.lastUpdated === 'string') {\n return this.$site.themeConfig.lastUpdated;\n }\n\n return 'Last Updated';\n },\n prev: function prev() {\n var prev = this.$page.frontmatter.prev;\n\n if (prev === false) {\n return;\n } else if (prev) {\n return resolvePage(this.$site.pages, prev, this.$route.path);\n } else {\n return resolvePrev(this.$page, this.sidebarItems);\n }\n },\n next: function next() {\n var next = this.$page.frontmatter.next;\n\n if (next === false) {\n return;\n } else if (next) {\n return resolvePage(this.$site.pages, next, this.$route.path);\n } else {\n return resolveNext(this.$page, this.sidebarItems);\n }\n },\n editLink: function editLink() {\n if (this.$page.frontmatter.editLink === false) {\n return;\n }\n\n var _this$$site$themeConf = this.$site.themeConfig,\n repo = _this$$site$themeConf.repo,\n editLinks = _this$$site$themeConf.editLinks,\n _this$$site$themeConf2 = _this$$site$themeConf.docsDir,\n docsDir = _this$$site$themeConf2 === void 0 ? '' : _this$$site$themeConf2,\n _this$$site$themeConf3 = _this$$site$themeConf.docsBranch,\n docsBranch = _this$$site$themeConf3 === void 0 ? 'master' : _this$$site$themeConf3,\n _this$$site$themeConf4 = _this$$site$themeConf.docsRepo,\n docsRepo = _this$$site$themeConf4 === void 0 ? repo : _this$$site$themeConf4;\n var path = normalize(this.$page.path);\n\n if (endingSlashRE.test(path)) {\n path += 'README.md';\n } else {\n path += '.md';\n }\n\n if (docsRepo && editLinks) {\n return this.createEditLink(repo, docsRepo, docsDir, docsBranch, path);\n }\n },\n editLinkText: function editLinkText() {\n return this.$themeLocaleConfig.editLinkText || this.$site.themeConfig.editLinkText || \"Edit this page\";\n }\n },\n methods: {\n createEditLink: function createEditLink(repo, docsRepo, docsDir, docsBranch, path) {\n var bitbucket = /bitbucket.org/;\n\n if (bitbucket.test(repo)) {\n var _base = outboundRE.test(docsRepo) ? docsRepo : repo;\n\n return _base.replace(endingSlashRE, '') + \"/\".concat(docsBranch) + (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') + path + \"?mode=edit&spa=0&at=\".concat(docsBranch, \"&fileviewer=file-view-default\");\n }\n\n var base = outboundRE.test(docsRepo) ? docsRepo : \"https://github.com/\".concat(docsRepo);\n return base.replace(endingSlashRE, '') + \"/edit/\".concat(docsBranch) + (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') + path;\n }\n }\n};\n\nfunction resolvePrev(page, items) {\n return find(page, items, -1);\n}\n\nfunction resolveNext(page, items) {\n return find(page, items, 1);\n}\n\nfunction find(page, items, offset) {\n var res = [];\n items.forEach(function (item) {\n if (item.type === 'group') {\n res.push.apply(res, _toConsumableArray(item.children || []));\n } else {\n res.push(item);\n }\n });\n\n for (var i = 0; i < res.length; i++) {\n var cur = res[i];\n\n if (cur.type === 'page' && cur.path === page.path) {\n return res[i + offset];\n }\n }\n}",{"version":3,"sources":["node_modules/vuepress/lib/default-theme/Page.vue"],"names":["resolvePage","normalize","outboundRE","endingSlashRE","props","computed","lastUpdated","$page","Date","toLocaleString","$lang","lastUpdatedText","$themeLocaleConfig","$site","themeConfig","prev","frontmatter","pages","$route","path","resolvePrev","sidebarItems","next","resolveNext","editLink","repo","editLinks","docsDir","docsBranch","docsRepo","test","createEditLink","editLinkText","methods","bitbucket","base","replace","page","items","find","offset","res","forEach","item","type","push","children","i","length","cur"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,SAASA,WAAT,EAAsBC,SAAtB,EAAiCC,UAAjC,EAA6CC,aAA7C,QAAkE,QAAlE;AAEA,eAAe;AACbC,SAAO,CAAC,cAAD,CADM;AAGbC,YAAU;AACRC,eADQ,yBACO;AACb,UAAI,KAAKC,KAAL,CAAWD,WAAf,EAA4B;AAC1B,eAAO,IAAIE,IAAJ,CAAS,KAAKD,KAAL,CAAWD,WAApB,EAAiCG,cAAjC,CAAgD,KAAKC,KAArD,CAAP;AACD;AACF,KALO;AAORC,mBAPQ,6BAOW;AACjB,UAAI,OAAO,KAAKC,kBAAL,CAAwBN,WAA/B,KAA+C,QAAnD,EAA6D;AAC3D,eAAO,KAAKM,kBAAL,CAAwBN,WAA/B;AACD;;AACD,UAAI,OAAO,KAAKO,KAAL,CAAWC,WAAX,CAAuBR,WAA9B,KAA8C,QAAlD,EAA4D;AAC1D,eAAO,KAAKO,KAAL,CAAWC,WAAX,CAAuBR,WAA9B;AACD;;AACD,aAAO,cAAP;AACD,KAfO;AAiBRS,QAjBQ,kBAiBA;AACN,UAAMA,OAAO,KAAKR,KAAL,CAAWS,WAAX,CAAuBD,IAApC;;AACA,UAAIA,SAAS,KAAb,EAAoB;AAClB;AACD,OAFD,MAEO,IAAIA,IAAJ,EAAU;AACf,eAAOf,YAAY,KAAKa,KAAL,CAAWI,KAAvB,EAA8BF,IAA9B,EAAoC,KAAKG,MAAL,CAAYC,IAAhD,CAAP;AACD,OAFM,MAEA;AACL,eAAOC,YAAY,KAAKb,KAAjB,EAAwB,KAAKc,YAA7B,CAAP;AACD;AACF,KA1BO;AA4BRC,QA5BQ,kBA4BA;AACN,UAAMA,OAAO,KAAKf,KAAL,CAAWS,WAAX,CAAuBM,IAApC;;AACA,UAAIA,SAAS,KAAb,EAAoB;AAClB;AACD,OAFD,MAEO,IAAIA,IAAJ,EAAU;AACf,eAAOtB,YAAY,KAAKa,KAAL,CAAWI,KAAvB,EAA8BK,IAA9B,EAAoC,KAAKJ,MAAL,CAAYC,IAAhD,CAAP;AACD,OAFM,MAEA;AACL,eAAOI,YAAY,KAAKhB,KAAjB,EAAwB,KAAKc,YAA7B,CAAP;AACD;AACF,KArCO;AAuCRG,YAvCQ,sBAuCI;AACV,UAAI,KAAKjB,KAAL,CAAWS,WAAX,CAAuBQ,QAAvB,KAAoC,KAAxC,EAA+C;AAC7C;AACD;;AAHS,kCAUN,KAAKX,KAAL,CAAWC,WAVL;AAAA,UAKRW,IALQ,yBAKRA,IALQ;AAAA,UAMRC,SANQ,yBAMRA,SANQ;AAAA,yDAORC,OAPQ;AAAA,UAORA,OAPQ,uCAOE,EAPF;AAAA,yDAQRC,UARQ;AAAA,UAQRA,UARQ,uCAQK,QARL;AAAA,yDASRC,QATQ;AAAA,UASRA,QATQ,uCASGJ,IATH;AAYV,UAAIN,OAAOlB,UAAU,KAAKM,KAAL,CAAWY,IAArB,CAAX;;AACA,UAAIhB,cAAc2B,IAAd,CAAmBX,IAAnB,CAAJ,EAA8B;AAC5BA,gBAAQ,WAAR;AACD,OAFD,MAEO;AACLA,gBAAQ,KAAR;AACD;;AACD,UAAIU,YAAYH,SAAhB,EAA2B;AACzB,eAAO,KAAKK,cAAL,CAAoBN,IAApB,EAA0BI,QAA1B,EAAoCF,OAApC,EAA6CC,UAA7C,EAAyDT,IAAzD,CAAP;AACD;AACF,KA5DO;AA8DRa,gBA9DQ,0BA8DQ;AACd,aACE,KAAKpB,kBAAL,CAAwBoB,YAAxB,IACA,KAAKnB,KAAL,CAAWC,WAAX,CAAuBkB,YADvB,oBADF;AAKD;AApEO,GAHG;AA0EbC,WAAS;AACPF,kBADO,0BACSN,IADT,EACeI,QADf,EACyBF,OADzB,EACkCC,UADlC,EAC8CT,IAD9C,EACoD;AACzD,UAAMe,YAAY,eAAlB;;AACA,UAAIA,UAAUJ,IAAV,CAAeL,IAAf,CAAJ,EAA0B;AACxB,YAAMU,QAAOjC,WAAW4B,IAAX,CAAgBD,QAAhB,IACTA,QADS,GAETJ,IAFJ;;AAGA,eACEU,MAAKC,OAAL,CAAajC,aAAb,EAA4B,EAA5B,eACKyB,UADL,KAEED,UAAU,MAAMA,QAAQS,OAAR,CAAgBjC,aAAhB,EAA+B,EAA/B,CAAhB,GAAqD,EAFvD,IAGCgB,IAHD,iCAIwBS,UAJxB,kCADF;AAOD;;AAED,UAAMO,OAAOjC,WAAW4B,IAAX,CAAgBD,QAAhB,IACTA,QADS,gCAEaA,QAFb,CAAb;AAIA,aACEM,KAAKC,OAAL,CAAajC,aAAb,EAA4B,EAA5B,oBACSyB,UADT,KAECD,UAAU,MAAMA,QAAQS,OAAR,CAAgBjC,aAAhB,EAA+B,EAA/B,CAAhB,GAAqD,EAFtD,IAGAgB,IAJF;AAMD;AA1BM;AA1EI,CAAf;;AAwGA,SAASC,WAAT,CAAsBiB,IAAtB,EAA4BC,KAA5B,EAAmC;AACjC,SAAOC,KAAKF,IAAL,EAAWC,KAAX,EAAkB,CAAC,CAAnB,CAAP;AACD;;AAED,SAASf,WAAT,CAAsBc,IAAtB,EAA4BC,KAA5B,EAAmC;AACjC,SAAOC,KAAKF,IAAL,EAAWC,KAAX,EAAkB,CAAlB,CAAP;AACD;;AAED,SAASC,IAAT,CAAeF,IAAf,EAAqBC,KAArB,EAA4BE,MAA5B,EAAoC;AAClC,MAAMC,MAAM,EAAZ;AACAH,QAAMI,OAAN,CAAc,gBAAQ;AACpB,QAAIC,KAAKC,IAAL,KAAc,OAAlB,EAA2B;AACzBH,UAAII,IAAJ,+BAAYF,KAAKG,QAAL,IAAiB,EAA7B;AACD,KAFD,MAEO;AACLL,UAAII,IAAJ,CAASF,IAAT;AACD;AACF,GAND;;AAOA,OAAK,IAAII,IAAI,CAAb,EAAgBA,IAAIN,IAAIO,MAAxB,EAAgCD,GAAhC,EAAqC;AACnC,QAAME,MAAMR,IAAIM,CAAJ,CAAZ;;AACA,QAAIE,IAAIL,IAAJ,KAAa,MAAb,IAAuBK,IAAI9B,IAAJ,KAAakB,KAAKlB,IAA7C,EAAmD;AACjD,aAAOsB,IAAIM,IAAIP,MAAR,CAAP;AACD;AACF;AACF","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport { resolvePage, normalize, outboundRE, endingSlashRE } from './util'\n\nexport default {\n props: ['sidebarItems'],\n\n computed: {\n lastUpdated () {\n if (this.$page.lastUpdated) {\n return new Date(this.$page.lastUpdated).toLocaleString(this.$lang)\n }\n },\n\n lastUpdatedText () {\n if (typeof this.$themeLocaleConfig.lastUpdated === 'string') {\n return this.$themeLocaleConfig.lastUpdated\n }\n if (typeof this.$site.themeConfig.lastUpdated === 'string') {\n return this.$site.themeConfig.lastUpdated\n }\n return 'Last Updated'\n },\n\n prev () {\n const prev = this.$page.frontmatter.prev\n if (prev === false) {\n return\n } else if (prev) {\n return resolvePage(this.$site.pages, prev, this.$route.path)\n } else {\n return resolvePrev(this.$page, this.sidebarItems)\n }\n },\n\n next () {\n const next = this.$page.frontmatter.next\n if (next === false) {\n return\n } else if (next) {\n return resolvePage(this.$site.pages, next, this.$route.path)\n } else {\n return resolveNext(this.$page, this.sidebarItems)\n }\n },\n\n editLink () {\n if (this.$page.frontmatter.editLink === false) {\n return\n }\n const {\n repo,\n editLinks,\n docsDir = '',\n docsBranch = 'master',\n docsRepo = repo\n } = this.$site.themeConfig\n\n let path = normalize(this.$page.path)\n if (endingSlashRE.test(path)) {\n path += 'README.md'\n } else {\n path += '.md'\n }\n if (docsRepo && editLinks) {\n return this.createEditLink(repo, docsRepo, docsDir, docsBranch, path)\n }\n },\n\n editLinkText () {\n return (\n this.$themeLocaleConfig.editLinkText ||\n this.$site.themeConfig.editLinkText ||\n `Edit this page`\n )\n }\n },\n\n methods: {\n createEditLink (repo, docsRepo, docsDir, docsBranch, path) {\n const bitbucket = /bitbucket.org/\n if (bitbucket.test(repo)) {\n const base = outboundRE.test(docsRepo)\n ? docsRepo\n : repo\n return (\n base.replace(endingSlashRE, '') +\n `/${docsBranch}` +\n (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') +\n path +\n `?mode=edit&spa=0&at=${docsBranch}&fileviewer=file-view-default`\n )\n }\n\n const base = outboundRE.test(docsRepo)\n ? docsRepo\n : `https://github.com/${docsRepo}`\n\n return (\n base.replace(endingSlashRE, '') +\n `/edit/${docsBranch}` +\n (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') +\n path\n )\n }\n }\n}\n\nfunction resolvePrev (page, items) {\n return find(page, items, -1)\n}\n\nfunction resolveNext (page, items) {\n return find(page, items, 1)\n}\n\nfunction find (page, items, offset) {\n const res = []\n items.forEach(item => {\n if (item.type === 'group') {\n res.push(...item.children || [])\n } else {\n res.push(item)\n }\n })\n for (let i = 0; i < res.length; i++) {\n const cur = res[i]\n if (cur.type === 'page' && cur.path === page.path) {\n return res[i + offset]\n }\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/6d606151f4cee165e04225fcd3cc79bb.json b/node_modules/vuepress/node_modules/.cache/vuepress/6d606151f4cee165e04225fcd3cc79bb.json new file mode 100644 index 00000000..9419a369 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/6d606151f4cee165e04225fcd3cc79bb.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue?vue&type=template&id=0ec87fea&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div\n class=\"sidebar-group\"\n :class=\"{ first, collapsable }\"\n>\n <p\n class=\"sidebar-heading\"\n :class=\"{ open }\"\n @click=\"$emit('toggle')\"\n >\n <span>{{ item.title }}</span>\n <span\n class=\"arrow\"\n v-if=\"collapsable\"\n :class=\"open ? 'down' : 'right'\">\n </span>\n </p>\n\n <DropdownTransition>\n <ul\n ref=\"items\"\n class=\"sidebar-group-items\"\n v-if=\"open || !collapsable\"\n >\n <li v-for=\"child in item.children\">\n <SidebarLink :item=\"child\"/>\n </li>\n </ul>\n </DropdownTransition>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/6dab33b3b078a0b94b82e37a60ff19e1.json b/node_modules/vuepress/node_modules/.cache/vuepress/6dab33b3b078a0b94b82e37a60ff19e1.json new file mode 100644 index 00000000..c08b7ad7 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/6dab33b3b078a0b94b82e37a60ff19e1.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/app.js","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/app.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import \"core-js/modules/es6.object.assign\";\nimport Vue from 'vue';\nimport Router from 'vue-router';\nimport dataMixin from './dataMixin';\nimport store from './store';\nimport { routes } from '@temp/routes';\nimport { siteData } from '@temp/siteData';\nimport enhanceApp from '@temp/enhanceApp';\nimport themeEnhanceApp from '@temp/themeEnhanceApp'; // generated from user config\n\nimport('@temp/style.styl'); // built-in components\n\nimport Content from './components/Content';\nimport OutboundLink from './components/OutboundLink.vue';\nimport ClientOnly from './components/ClientOnly'; // suggest dev server restart on base change\n\nif (module.hot) {\n var prevBase = siteData.base;\n module.hot.accept('./.temp/siteData', function () {\n if (siteData.base !== prevBase) {\n window.alert(\"[vuepress] Site base has changed. \" + \"Please restart dev server to ensure correct asset paths.\");\n }\n });\n}\n\nVue.config.productionTip = false;\nVue.use(Router); // mixin for exposing $site and $page\n\nVue.mixin(dataMixin(siteData)); // component for rendering markdown content and setting title etc.\n\nVue.component('Content', Content);\nVue.component('OutboundLink', OutboundLink);\nVue.component('Badge', function () {\n return import('./components/Badge.vue');\n}); // component for client-only content\n\nVue.component('ClientOnly', ClientOnly); // global helper for adding base path to absolute urls\n\nVue.prototype.$withBase = function (path) {\n var base = this.$site.base;\n\n if (path.charAt(0) === '/') {\n return base + path.slice(1);\n } else {\n return path;\n }\n};\n\nexport function createApp() {\n var router = new Router({\n base: siteData.base,\n mode: 'history',\n fallback: false,\n routes: routes,\n scrollBehavior: function scrollBehavior(to, from, saved) {\n if (saved) {\n return saved;\n } else if (to.hash) {\n if (store.disableScrollBehavior) {\n return false;\n }\n\n return {\n selector: to.hash\n };\n } else {\n return {\n x: 0,\n y: 0\n };\n }\n }\n }); // redirect /foo to /foo/\n\n router.beforeEach(function (to, from, next) {\n if (!/(\\/|\\.html)$/.test(to.path)) {\n next(Object.assign({}, to, {\n path: to.path + '/'\n }));\n } else {\n next();\n }\n });\n var options = {};\n themeEnhanceApp({\n Vue: Vue,\n options: options,\n router: router,\n siteData: siteData\n });\n enhanceApp({\n Vue: Vue,\n options: options,\n router: router,\n siteData: siteData\n });\n var app = new Vue(Object.assign(options, {\n router: router,\n render: function render(h) {\n return h('div', {\n attrs: {\n id: 'app'\n }\n }, [h('router-view', {\n ref: 'layout'\n })]);\n }\n }));\n return {\n app: app,\n router: router\n };\n}",{"version":3,"sources":["node_modules/vuepress/lib/app/app.js"],"names":["Vue","Router","dataMixin","store","routes","siteData","enhanceApp","themeEnhanceApp","Content","OutboundLink","ClientOnly","module","hot","prevBase","base","accept","window","alert","config","productionTip","use","mixin","component","prototype","$withBase","path","$site","charAt","slice","createApp","router","mode","fallback","scrollBehavior","to","from","saved","hash","disableScrollBehavior","selector","x","y","beforeEach","next","test","Object","assign","options","app","render","h","attrs","id","ref"],"mappings":";AAAA,OAAOA,GAAP,MAAgB,KAAhB;AACA,OAAOC,MAAP,MAAmB,YAAnB;AACA,OAAOC,SAAP,MAAsB,aAAtB;AACA,OAAOC,KAAP,MAAkB,SAAlB;AACA,SAASC,MAAT,QAAuB,cAAvB;AACA,SAASC,QAAT,QAAyB,gBAAzB;AACA,OAAOC,UAAP,MAAuB,kBAAvB;AACA,OAAOC,eAAP,MAA4B,uBAA5B,C,CAEA;;AACA,OAAO,kBAAP,E,CAEA;;AACA,OAAOC,OAAP,MAAoB,sBAApB;AACA,OAAOC,YAAP,MAAyB,+BAAzB;AACA,OAAOC,UAAP,MAAuB,yBAAvB,C,CAEA;;AACA,IAAIC,OAAOC,GAAX,EAAgB;AACd,MAAMC,WAAWR,SAASS,IAA1B;AACAH,SAAOC,GAAP,CAAWG,MAAX,CAAkB,kBAAlB,EAAsC,YAAM;AAC1C,QAAIV,SAASS,IAAT,KAAkBD,QAAtB,EAAgC;AAC9BG,aAAOC,KAAP,CACE,iGADF;AAID;AACF,GAPD;AAQD;;AAEDjB,IAAIkB,MAAJ,CAAWC,aAAX,GAA2B,KAA3B;AACAnB,IAAIoB,GAAJ,CAAQnB,MAAR,E,CACA;;AACAD,IAAIqB,KAAJ,CAAUnB,UAAUG,QAAV,CAAV,E,CACA;;AACAL,IAAIsB,SAAJ,CAAc,SAAd,EAAyBd,OAAzB;AACAR,IAAIsB,SAAJ,CAAc,cAAd,EAA8Bb,YAA9B;AACAT,IAAIsB,SAAJ,CAAc,OAAd,EAAuB;AAAA,SAAM,OAAO,wBAAP,CAAN;AAAA,CAAvB,E,CACA;;AACAtB,IAAIsB,SAAJ,CAAc,YAAd,EAA4BZ,UAA5B,E,CAEA;;AACAV,IAAIuB,SAAJ,CAAcC,SAAd,GAA0B,UAAUC,IAAV,EAAgB;AACxC,MAAMX,OAAO,KAAKY,KAAL,CAAWZ,IAAxB;;AACA,MAAIW,KAAKE,MAAL,CAAY,CAAZ,MAAmB,GAAvB,EAA4B;AAC1B,WAAOb,OAAOW,KAAKG,KAAL,CAAW,CAAX,CAAd;AACD,GAFD,MAEO;AACL,WAAOH,IAAP;AACD;AACF,CAPD;;AASA,OAAO,SAASI,SAAT,GAAsB;AAC3B,MAAMC,SAAS,IAAI7B,MAAJ,CAAW;AACxBa,UAAMT,SAASS,IADS;AAExBiB,UAAM,SAFkB;AAGxBC,cAAU,KAHc;AAIxB5B,kBAJwB;AAKxB6B,oBAAgB,wBAACC,EAAD,EAAKC,IAAL,EAAWC,KAAX,EAAqB;AACnC,UAAIA,KAAJ,EAAW;AACT,eAAOA,KAAP;AACD,OAFD,MAEO,IAAIF,GAAGG,IAAP,EAAa;AAClB,YAAIlC,MAAMmC,qBAAV,EAAiC;AAC/B,iBAAO,KAAP;AACD;;AACD,eAAO;AACLC,oBAAUL,GAAGG;AADR,SAAP;AAGD,OAPM,MAOA;AACL,eAAO;AAAEG,aAAG,CAAL;AAAQC,aAAG;AAAX,SAAP;AACD;AACF;AAlBuB,GAAX,CAAf,CAD2B,CAsB3B;;AACAX,SAAOY,UAAP,CAAkB,UAACR,EAAD,EAAKC,IAAL,EAAWQ,IAAX,EAAoB;AACpC,QAAI,CAAC,eAAeC,IAAf,CAAoBV,GAAGT,IAAvB,CAAL,EAAmC;AACjCkB,WAAKE,OAAOC,MAAP,CAAc,EAAd,EAAkBZ,EAAlB,EAAsB;AACzBT,cAAMS,GAAGT,IAAH,GAAU;AADS,OAAtB,CAAL;AAGD,KAJD,MAIO;AACLkB;AACD;AACF,GARD;AAUA,MAAMI,UAAU,EAAhB;AAEAxC,kBAAgB;AAAEP,YAAF;AAAO+C,oBAAP;AAAgBjB,kBAAhB;AAAwBzB;AAAxB,GAAhB;AACAC,aAAW;AAAEN,YAAF;AAAO+C,oBAAP;AAAgBjB,kBAAhB;AAAwBzB;AAAxB,GAAX;AAEA,MAAM2C,MAAM,IAAIhD,GAAJ,CACV6C,OAAOC,MAAP,CAAcC,OAAd,EAAuB;AACrBjB,kBADqB;AAErBmB,UAFqB,kBAEbC,CAFa,EAEV;AACT,aAAOA,EAAE,KAAF,EAAS;AAAEC,eAAO;AAAEC,cAAI;AAAN;AAAT,OAAT,EAAkC,CACvCF,EAAE,aAAF,EAAiB;AAAEG,aAAK;AAAP,OAAjB,CADuC,CAAlC,CAAP;AAGD;AANoB,GAAvB,CADU,CAAZ;AAWA,SAAO;AAAEL,YAAF;AAAOlB;AAAP,GAAP;AACD","sourceRoot":"/Users/ruki/projects/personal/xmake-docs","sourcesContent":["import Vue from 'vue'\nimport Router from 'vue-router'\nimport dataMixin from './dataMixin'\nimport store from './store'\nimport { routes } from '@temp/routes'\nimport { siteData } from '@temp/siteData'\nimport enhanceApp from '@temp/enhanceApp'\nimport themeEnhanceApp from '@temp/themeEnhanceApp'\n\n// generated from user config\nimport('@temp/style.styl')\n\n// built-in components\nimport Content from './components/Content'\nimport OutboundLink from './components/OutboundLink.vue'\nimport ClientOnly from './components/ClientOnly'\n\n// suggest dev server restart on base change\nif (module.hot) {\n const prevBase = siteData.base\n module.hot.accept('./.temp/siteData', () => {\n if (siteData.base !== prevBase) {\n window.alert(\n `[vuepress] Site base has changed. ` +\n `Please restart dev server to ensure correct asset paths.`\n )\n }\n })\n}\n\nVue.config.productionTip = false\nVue.use(Router)\n// mixin for exposing $site and $page\nVue.mixin(dataMixin(siteData))\n// component for rendering markdown content and setting title etc.\nVue.component('Content', Content)\nVue.component('OutboundLink', OutboundLink)\nVue.component('Badge', () => import('./components/Badge.vue'))\n// component for client-only content\nVue.component('ClientOnly', ClientOnly)\n\n// global helper for adding base path to absolute urls\nVue.prototype.$withBase = function (path) {\n const base = this.$site.base\n if (path.charAt(0) === '/') {\n return base + path.slice(1)\n } else {\n return path\n }\n}\n\nexport function createApp () {\n const router = new Router({\n base: siteData.base,\n mode: 'history',\n fallback: false,\n routes,\n scrollBehavior: (to, from, saved) => {\n if (saved) {\n return saved\n } else if (to.hash) {\n if (store.disableScrollBehavior) {\n return false\n }\n return {\n selector: to.hash\n }\n } else {\n return { x: 0, y: 0 }\n }\n }\n })\n\n // redirect /foo to /foo/\n router.beforeEach((to, from, next) => {\n if (!/(\\/|\\.html)$/.test(to.path)) {\n next(Object.assign({}, to, {\n path: to.path + '/'\n }))\n } else {\n next()\n }\n })\n\n const options = {}\n\n themeEnhanceApp({ Vue, options, router, siteData })\n enhanceApp({ Vue, options, router, siteData })\n\n const app = new Vue(\n Object.assign(options, {\n router,\n render (h) {\n return h('div', { attrs: { id: 'app' }}, [\n h('router-view', { ref: 'layout' })\n ])\n }\n })\n )\n\n return { app, router }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/6e2fdd1f6fb2087f776356ab834d1184.json b/node_modules/vuepress/node_modules/.cache/vuepress/6e2fdd1f6fb2087f776356ab834d1184.json new file mode 100644 index 00000000..c19806b8 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/6e2fdd1f6fb2087f776356ab834d1184.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.home\n padding $navbarHeight 2rem 0\n max-width 960px\n margin 0px auto\n .hero\n text-align center\n img\n max-height 280px\n display block\n margin 3rem auto 1.5rem\n h1\n font-size 3rem\n h1, .description, .action\n margin 1.8rem auto\n .description\n max-width 35rem\n font-size 1.6rem\n line-height 1.3\n color lighten($textColor, 40%)\n .action-button\n display inline-block\n font-size 1.2rem\n color #fff\n background-color $accentColor\n padding 0.8rem 1.6rem\n border-radius 4px\n transition background-color .1s ease\n box-sizing border-box\n border-bottom 1px solid darken($accentColor, 10%)\n &:hover\n background-color lighten($accentColor, 10%)\n .features\n border-top 1px solid $borderColor\n padding 1.2rem 0\n margin-top 2.5rem\n display flex\n flex-wrap wrap\n align-items flex-start\n align-content stretch\n justify-content space-between\n .feature\n flex-grow 1\n flex-basis 30%\n max-width 30%\n h2\n font-size 1.4rem\n font-weight 500\n border-bottom none\n padding-bottom 0\n color lighten($textColor, 10%)\n p\n color lighten($textColor, 25%)\n .footer\n padding 2.5rem\n border-top 1px solid $borderColor\n text-align center\n color lighten($textColor, 25%)\n\n@media (max-width: $MQMobile)\n .home\n .features\n flex-direction column\n .feature\n max-width 100%\n padding 0 2.5rem\n\n@media (max-width: $MQMobileNarrow)\n .home\n padding-left 1.5rem\n padding-right 1.5rem\n .hero\n img\n max-height 210px\n margin 2rem auto 1.2rem\n h1\n font-size 2rem\n h1, .description, .action\n margin 1.2rem auto\n .description\n font-size 1.2rem\n .action-button\n font-size 1rem\n padding 0.6rem 1.2rem\n .feature\n h2\n font-size 1.25rem\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/6e510c1f79fbe69f8faf94b26e912798.json b/node_modules/vuepress/node_modules/.cache/vuepress/6e510c1f79fbe69f8faf94b26e912798.json new file mode 100644 index 00000000..dab1fc73 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/6e510c1f79fbe69f8faf94b26e912798.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/root-mixins/updateMeta.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/root-mixins/updateMeta.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import \"core-js/modules/es6.object.keys\";\nimport \"core-js/modules/es6.array.map\";\nimport _toConsumableArray from \"/Users/ruki/projects/personal/tbox-docs/node_modules/@babel/runtime/helpers/builtin/es6/toConsumableArray\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.function.name\";\nimport \"core-js/modules/es6.array.filter\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.iterator\";\nimport \"core-js/modules/es6.string.iterator\";\nimport \"core-js/modules/es6.set\";\nexport default {\n created: function created() {\n if (this.$ssrContext) {\n this.$ssrContext.title = this.$title;\n this.$ssrContext.lang = this.$lang;\n this.$ssrContext.description = this.$page.description || this.$description;\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n // update title / meta tags\n this.currentMetaTags = new Set();\n\n var updateMeta = function updateMeta() {\n document.title = _this.$title;\n document.documentElement.lang = _this.$lang;\n var userMeta = _this.$page.frontmatter.meta || [];\n var meta = userMeta.slice(0);\n var useGlobalDescription = userMeta.filter(function (m) {\n return m.name === 'description';\n }).length === 0; // #665 Avoid duplicate description meta at runtime.\n\n if (useGlobalDescription) {\n meta.push({\n name: 'description',\n content: _this.$description\n });\n } // Including description meta coming from SSR.\n\n\n var descriptionMetas = document.querySelectorAll('meta[name=\"description\"]');\n\n if (descriptionMetas.length) {\n descriptionMetas.forEach(function (m) {\n return _this.currentMetaTags.add(m);\n });\n }\n\n _this.currentMetaTags = new Set(updateMetaTags(meta, _this.currentMetaTags));\n };\n\n this.$watch('$page', updateMeta);\n updateMeta();\n },\n beforeDestroy: function beforeDestroy() {\n updateMetaTags(null, this.currentMetaTags);\n }\n};\n\nfunction updateMetaTags(meta, current) {\n if (current) {\n _toConsumableArray(current).forEach(function (c) {\n document.head.removeChild(c);\n });\n }\n\n if (meta) {\n return meta.map(function (m) {\n var tag = document.createElement('meta');\n Object.keys(m).forEach(function (key) {\n tag.setAttribute(key, m[key]);\n });\n document.head.appendChild(tag);\n return tag;\n });\n }\n}",{"version":3,"sources":["node_modules/vuepress/lib/app/root-mixins/updateMeta.js"],"names":["created","$ssrContext","title","$title","lang","$lang","description","$page","$description","mounted","currentMetaTags","Set","updateMeta","document","documentElement","userMeta","frontmatter","meta","slice","useGlobalDescription","filter","m","name","length","push","content","descriptionMetas","querySelectorAll","forEach","add","updateMetaTags","$watch","beforeDestroy","current","head","removeChild","c","map","tag","createElement","Object","keys","setAttribute","key","appendChild"],"mappings":";;;;;;;;;;AAAA,eAAe;AACbA,SADa,qBACF;AACT,QAAI,KAAKC,WAAT,EAAsB;AACpB,WAAKA,WAAL,CAAiBC,KAAjB,GAAyB,KAAKC,MAA9B;AACA,WAAKF,WAAL,CAAiBG,IAAjB,GAAwB,KAAKC,KAA7B;AACA,WAAKJ,WAAL,CAAiBK,WAAjB,GAA+B,KAAKC,KAAL,CAAWD,WAAX,IAA0B,KAAKE,YAA9D;AACD;AACF,GAPY;AASbC,SATa,qBASF;AAAA;;AACT;AACA,SAAKC,eAAL,GAAuB,IAAIC,GAAJ,EAAvB;;AAEA,QAAMC,aAAa,SAAbA,UAAa,GAAM;AACvBC,eAASX,KAAT,GAAiB,MAAKC,MAAtB;AACAU,eAASC,eAAT,CAAyBV,IAAzB,GAAgC,MAAKC,KAArC;AACA,UAAMU,WAAW,MAAKR,KAAL,CAAWS,WAAX,CAAuBC,IAAvB,IAA+B,EAAhD;AACA,UAAMA,OAAOF,SAASG,KAAT,CAAe,CAAf,CAAb;AACA,UAAMC,uBAAuBJ,SAASK,MAAT,CAAgB;AAAA,eAAKC,EAAEC,IAAF,KAAW,aAAhB;AAAA,OAAhB,EAA+CC,MAA/C,KAA0D,CAAvF,CALuB,CAOvB;;AACA,UAAIJ,oBAAJ,EAA0B;AACxBF,aAAKO,IAAL,CAAU;AAAEF,gBAAM,aAAR;AAAuBG,mBAAS,MAAKjB;AAArC,SAAV;AACD,OAVsB,CAYvB;;;AACA,UAAMkB,mBAAmBb,SAASc,gBAAT,CAA0B,0BAA1B,CAAzB;;AACA,UAAID,iBAAiBH,MAArB,EAA6B;AAC3BG,yBAAiBE,OAAjB,CAAyB;AAAA,iBAAK,MAAKlB,eAAL,CAAqBmB,GAArB,CAAyBR,CAAzB,CAAL;AAAA,SAAzB;AACD;;AAED,YAAKX,eAAL,GAAuB,IAAIC,GAAJ,CAAQmB,eAAeb,IAAf,EAAqB,MAAKP,eAA1B,CAAR,CAAvB;AACD,KAnBD;;AAoBA,SAAKqB,MAAL,CAAY,OAAZ,EAAqBnB,UAArB;AACAA;AACD,GAnCY;AAqCboB,eArCa,2BAqCI;AACfF,mBAAe,IAAf,EAAqB,KAAKpB,eAA1B;AACD;AAvCY,CAAf;;AA0CA,SAASoB,cAAT,CAAyBb,IAAzB,EAA+BgB,OAA/B,EAAwC;AACtC,MAAIA,OAAJ,EAAa;AACX,uBAAIA,OAAJ,EAAaL,OAAb,CAAqB,aAAK;AACxBf,eAASqB,IAAT,CAAcC,WAAd,CAA0BC,CAA1B;AACD,KAFD;AAGD;;AACD,MAAInB,IAAJ,EAAU;AACR,WAAOA,KAAKoB,GAAL,CAAS,aAAK;AACnB,UAAMC,MAAMzB,SAAS0B,aAAT,CAAuB,MAAvB,CAAZ;AACAC,aAAOC,IAAP,CAAYpB,CAAZ,EAAeO,OAAf,CAAuB,eAAO;AAC5BU,YAAII,YAAJ,CAAiBC,GAAjB,EAAsBtB,EAAEsB,GAAF,CAAtB;AACD,OAFD;AAGA9B,eAASqB,IAAT,CAAcU,WAAd,CAA0BN,GAA1B;AACA,aAAOA,GAAP;AACD,KAPM,CAAP;AAQD;AACF","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["export default {\n created () {\n if (this.$ssrContext) {\n this.$ssrContext.title = this.$title\n this.$ssrContext.lang = this.$lang\n this.$ssrContext.description = this.$page.description || this.$description\n }\n },\n\n mounted () {\n // update title / meta tags\n this.currentMetaTags = new Set()\n\n const updateMeta = () => {\n document.title = this.$title\n document.documentElement.lang = this.$lang\n const userMeta = this.$page.frontmatter.meta || []\n const meta = userMeta.slice(0)\n const useGlobalDescription = userMeta.filter(m => m.name === 'description').length === 0\n\n // #665 Avoid duplicate description meta at runtime.\n if (useGlobalDescription) {\n meta.push({ name: 'description', content: this.$description })\n }\n\n // Including description meta coming from SSR.\n const descriptionMetas = document.querySelectorAll('meta[name=\"description\"]')\n if (descriptionMetas.length) {\n descriptionMetas.forEach(m => this.currentMetaTags.add(m))\n }\n\n this.currentMetaTags = new Set(updateMetaTags(meta, this.currentMetaTags))\n }\n this.$watch('$page', updateMeta)\n updateMeta()\n },\n\n beforeDestroy () {\n updateMetaTags(null, this.currentMetaTags)\n }\n}\n\nfunction updateMetaTags (meta, current) {\n if (current) {\n [...current].forEach(c => {\n document.head.removeChild(c)\n })\n }\n if (meta) {\n return meta.map(m => {\n const tag = document.createElement('meta')\n Object.keys(m).forEach(key => {\n tag.setAttribute(key, m[key])\n })\n document.head.appendChild(tag)\n return tag\n })\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/6ed7e0f8eeca4c4b32ff5376dece6ebe.json b/node_modules/vuepress/node_modules/.cache/vuepress/6ed7e0f8eeca4c4b32ff5376dece6ebe.json new file mode 100644 index 00000000..878f63ad --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/6ed7e0f8eeca4c4b32ff5376dece6ebe.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=b8539214&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('b8539214', component.options)\n } else {\n api.reload('b8539214', component.options)\n }\n module.hot.accept(\"./Home.vue?vue&type=template&id=b8539214&\", function () {\n api.rerender('b8539214', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/default-theme/Home.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/6ed993d7c3a3a397e7b9de1e41c1db41.json b/node_modules/vuepress/node_modules/.cache/vuepress/6ed993d7c3a3a397e7b9de1e41c1db41.json new file mode 100644 index 00000000..3b8a10fa --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/6ed993d7c3a3a397e7b9de1e41c1db41.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexport default {\n name: 'DropdownTransition',\n\n methods: {\n setHeight (items) {\n // explicitly set height so that it can be transitioned\n items.style.height = items.scrollHeight + 'px'\n },\n\n unsetHeight (items) {\n items.style.height = ''\n }\n }\n}\n",{"version":3,"sources":["DropdownTransition.vue"],"names":[],"mappings":";;;;;;;;;;;;AAYA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA","file":"DropdownTransition.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <transition\n name=\"dropdown\"\n @enter=\"setHeight\"\n @after-enter=\"unsetHeight\"\n @before-leave=\"setHeight\"\n >\n <slot/>\n </transition>\n</template>\n\n<script>\nexport default {\n name: 'DropdownTransition',\n\n methods: {\n setHeight (items) {\n // explicitly set height so that it can be transitioned\n items.style.height = items.scrollHeight + 'px'\n },\n\n unsetHeight (items) {\n items.style.height = ''\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n.dropdown-enter, .dropdown-leave-to\n height 0 !important\n\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/6f655893c7e35c221e67acd7a441118c.json b/node_modules/vuepress/node_modules/.cache/vuepress/6f655893c7e35c221e67acd7a441118c.json new file mode 100644 index 00000000..eda62362 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/6f655893c7e35c221e67acd7a441118c.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/zh/manual.md?vue&type=template&id=0a36aeef&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/zh/manual.md","mtime":1489213929000},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/6fea2978025b042f77349e79b925066f.json b/node_modules/vuepress/node_modules/.cache/vuepress/6fea2978025b042f77349e79b925066f.json new file mode 100644 index 00000000..64eb0e06 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/6fea2978025b042f77349e79b925066f.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue?vue&type=template&id=67f2a5b2&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div class=\"sidebar-button\" @click=\"$emit('toggle-sidebar')\">\n <svg class=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" role=\"img\" viewBox=\"0 0 448 512\">\n <path fill=\"currentColor\" d=\"M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z\" class=\"\"></path>\n </svg>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/7004965e3934ebdf03ba8f26ade8f2c3.json b/node_modules/vuepress/node_modules/.cache/vuepress/7004965e3934ebdf03ba8f26ade8f2c3.json new file mode 100644 index 00000000..2b8ef656 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/7004965e3934ebdf03ba8f26ade8f2c3.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexport default {\n props: {\n updateEvent: {\n type: Object,\n default: null\n }\n },\n\n computed: {\n popupConfig () {\n for (const config of [this.$themeLocaleConfig, this.$site.themeConfig]) {\n const sw = config.serviceWorker\n if (sw && sw.updatePopup) {\n return typeof sw.updatePopup === 'object' ? sw.updatePopup : {}\n }\n }\n return null\n },\n\n enabled () {\n return Boolean(this.popupConfig && this.updateEvent)\n },\n\n message () {\n const c = this.popupConfig\n return (c && c.message) || 'New content is available.'\n },\n\n buttonText () {\n const c = this.popupConfig\n return (c && c.buttonText) || 'Refresh'\n }\n },\n\n methods: {\n reload () {\n if (this.updateEvent) {\n this.updateEvent.skipWaiting().then(() => {\n location.reload(true)\n })\n this.updateEvent = null\n }\n }\n }\n}\n",{"version":3,"sources":["SWUpdatePopup.vue"],"names":[],"mappings":";;;;;;;;;;;;;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"SWUpdatePopup.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <transition name=\"sw-update-popup\">\n <div\n v-if=\"enabled\"\n class=\"sw-update-popup\"\n >\n {{message}}<br>\n <button @click=\"reload\">{{buttonText}}</button>\n </div>\n </transition>\n</template>\n\n<script>\nexport default {\n props: {\n updateEvent: {\n type: Object,\n default: null\n }\n },\n\n computed: {\n popupConfig () {\n for (const config of [this.$themeLocaleConfig, this.$site.themeConfig]) {\n const sw = config.serviceWorker\n if (sw && sw.updatePopup) {\n return typeof sw.updatePopup === 'object' ? sw.updatePopup : {}\n }\n }\n return null\n },\n\n enabled () {\n return Boolean(this.popupConfig && this.updateEvent)\n },\n\n message () {\n const c = this.popupConfig\n return (c && c.message) || 'New content is available.'\n },\n\n buttonText () {\n const c = this.popupConfig\n return (c && c.buttonText) || 'Refresh'\n }\n },\n\n methods: {\n reload () {\n if (this.updateEvent) {\n this.updateEvent.skipWaiting().then(() => {\n location.reload(true)\n })\n this.updateEvent = null\n }\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.sw-update-popup\n position fixed\n right 1em\n bottom 1em\n padding 1em\n border 1px solid $accentColor\n border-radius 3px\n background #fff\n box-shadow 0 4px 16px rgba(0, 0, 0, 0.5)\n text-align center\n\n button\n margin-top 0.5em\n padding 0.25em 2em\n\n.sw-update-popup-enter-active, .sw-update-popup-leave-active\n transition opacity 0.3s, transform 0.3s\n\n.sw-update-popup-enter, .sw-update-popup-leave-to\n opacity 0\n transform translate(0, 50%) scale(0.5)\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/70738cf55c999a96dc891ec70e87502b.json b/node_modules/vuepress/node_modules/.cache/vuepress/70738cf55c999a96dc891ec70e87502b.json new file mode 100644 index 00000000..392fe921 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/70738cf55c999a96dc891ec70e87502b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue?vue&type=template&id=ba85aa8c&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dropdown-wrapper\",class:{ open: _vm.open }},[_vm._ssrNode(\"<a class=\\\"dropdown-title\\\"><span class=\\\"title\\\">\"+_vm._ssrEscape(_vm._s(_vm.item.text))+\"</span> <span\"+(_vm._ssrClass(\"arrow\",_vm.open ? 'down' : 'right'))+\"></span></a> \"),_c('DropdownTransition',[_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.open),expression:\"open\"}],staticClass:\"nav-dropdown\"},_vm._l((_vm.item.items),function(subItem,index){return _c('li',{key:subItem.link || index,staticClass:\"dropdown-item\"},[(subItem.type === 'links')?_c('h4',[_vm._v(_vm._s(subItem.text))]):_vm._e(),_vm._v(\" \"),(subItem.type === 'links')?_c('ul',{staticClass:\"dropdown-subitem-wrapper\"},_vm._l((subItem.items),function(childSubItem){return _c('li',{key:childSubItem.link,staticClass:\"dropdown-subitem\"},[_c('NavLink',{attrs:{\"item\":childSubItem}})],1)})):_c('NavLink',{attrs:{\"item\":subItem}})],1)}))])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/707f5d6af4b7421e588441bd455270d7.json b/node_modules/vuepress/node_modules/.cache/vuepress/707f5d6af4b7421e588441bd455270d7.json new file mode 100644 index 00000000..3331ecb9 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/707f5d6af4b7421e588441bd455270d7.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Navbar.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Navbar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n$navbar-vertical-padding = 0.7rem\n$navbar-horizontal-padding = 1.5rem\n\n.navbar\n padding $navbar-vertical-padding $navbar-horizontal-padding\n line-height $navbarHeight - 1.4rem\n position relative\n a, span, img\n display inline-block\n .logo\n height $navbarHeight - 1.4rem\n min-width $navbarHeight - 1.4rem\n margin-right 0.8rem\n vertical-align top\n .site-name\n font-size 1.3rem\n font-weight 600\n color $textColor\n position relative\n .links\n padding-left 1.5rem\n box-sizing border-box\n background-color white\n white-space nowrap\n font-size 0.9rem\n position absolute\n right $navbar-horizontal-padding\n top $navbar-vertical-padding\n display flex\n .search-box\n flex: 0 0 auto\n vertical-align top\n .nav-links\n flex 1\n\n@media (max-width: $MQMobile)\n .navbar\n padding-left 4rem\n .can-hide\n display none\n .links\n padding-left 1.5rem\n",{"version":3,"sources":["Navbar.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwFA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA","file":"Navbar.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <header class=\"navbar\">\n <SidebarButton @toggle-sidebar=\"$emit('toggle-sidebar')\"/>\n\n <router-link\n :to=\"$localePath\"\n class=\"home-link\"\n >\n <img\n class=\"logo\"\n v-if=\"$site.themeConfig.logo\"\n :src=\"$withBase($site.themeConfig.logo)\"\n :alt=\"$siteTitle\"\n >\n <span\n ref=\"siteName\"\n class=\"site-name\"\n v-if=\"$siteTitle\"\n :class=\"{ 'can-hide': $site.themeConfig.logo }\"\n >{{ $siteTitle }}</span>\n </router-link>\n\n <div\n class=\"links\"\n :style=\"{\n 'max-width': linksWrapMaxWidth + 'px'\n }\"\n >\n <AlgoliaSearchBox\n v-if=\"isAlgoliaSearch\"\n :options=\"algolia\"\n />\n <SearchBox v-else-if=\"$site.themeConfig.search !== false\"/>\n <NavLinks class=\"can-hide\"/>\n </div>\n </header>\n</template>\n\n<script>\nimport SidebarButton from './SidebarButton.vue'\nimport AlgoliaSearchBox from '@AlgoliaSearchBox'\nimport SearchBox from './SearchBox.vue'\nimport NavLinks from './NavLinks.vue'\n\nexport default {\n components: { SidebarButton, NavLinks, SearchBox, AlgoliaSearchBox },\n\n data () {\n return {\n linksWrapMaxWidth: null\n }\n },\n\n mounted () {\n const MOBILE_DESKTOP_BREAKPOINT = 719 // refer to config.styl\n const NAVBAR_VERTICAL_PADDING = parseInt(css(this.$el, 'paddingLeft')) + parseInt(css(this.$el, 'paddingRight'))\n const handleLinksWrapWidth = () => {\n if (document.documentElement.clientWidth < MOBILE_DESKTOP_BREAKPOINT) {\n this.linksWrapMaxWidth = null\n } else {\n this.linksWrapMaxWidth = this.$el.offsetWidth - NAVBAR_VERTICAL_PADDING -\n (this.$refs.siteName && this.$refs.siteName.offsetWidth || 0)\n }\n }\n handleLinksWrapWidth()\n window.addEventListener('resize', handleLinksWrapWidth, false)\n },\n\n computed: {\n algolia () {\n return this.$themeLocaleConfig.algolia || this.$site.themeConfig.algolia || {}\n },\n\n isAlgoliaSearch () {\n return this.algolia && this.algolia.apiKey && this.algolia.indexName\n }\n }\n}\n\nfunction css (el, property) {\n // NOTE: Known bug, will return 'auto' if style value is 'auto'\n const win = el.ownerDocument.defaultView\n // null means not to return pseudo styles\n return win.getComputedStyle(el, null)[property]\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n$navbar-vertical-padding = 0.7rem\n$navbar-horizontal-padding = 1.5rem\n\n.navbar\n padding $navbar-vertical-padding $navbar-horizontal-padding\n line-height $navbarHeight - 1.4rem\n position relative\n a, span, img\n display inline-block\n .logo\n height $navbarHeight - 1.4rem\n min-width $navbarHeight - 1.4rem\n margin-right 0.8rem\n vertical-align top\n .site-name\n font-size 1.3rem\n font-weight 600\n color $textColor\n position relative\n .links\n padding-left 1.5rem\n box-sizing border-box\n background-color white\n white-space nowrap\n font-size 0.9rem\n position absolute\n right $navbar-horizontal-padding\n top $navbar-vertical-padding\n display flex\n .search-box\n flex: 0 0 auto\n vertical-align top\n .nav-links\n flex 1\n\n@media (max-width: $MQMobile)\n .navbar\n padding-left 4rem\n .can-hide\n display none\n .links\n padding-left 1.5rem\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/709beb1d9b092abb2bac28048d7cd74b.json b/node_modules/vuepress/node_modules/.cache/vuepress/709beb1d9b092abb2bac28048d7cd74b.json new file mode 100644 index 00000000..cf645436 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/709beb1d9b092abb2bac28048d7cd74b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/manual/index.md?vue&type=template&id=c064eaca&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/manual/index.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"manual\"><a class=\"header-anchor\" href=\"#manual\" aria-hidden=\"true\">#</a> Manual</h1>\n<p>[TODO]</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/70d65d415796e58501863141ea4ff933.json b/node_modules/vuepress/node_modules/.cache/vuepress/70d65d415796e58501863141ea4ff933.json new file mode 100644 index 00000000..a17f83ca --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/70d65d415796e58501863141ea4ff933.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/getting-started.md?vue&type=template&id=b833ee74&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/getting-started.md","mtime":1541489096650},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._ssrNode(\"<h1 id=\\\"快速开始\\\"><a href=\\\"#快速开始\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 快速开始</h1> <h2 id=\\\"编译\\\"><a href=\\\"#编译\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 编译</h2> \"),_vm._ssrNode(\"<p>\",\"</p>\",[_vm._ssrNode(\"请先安装: \"),_vm._ssrNode(\"<a href=\\\"https://github.com/tboox/xmake\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"xmake\"),_c('OutboundLink')],2)],2),_vm._ssrNode(\" <div class=\\\"language-console extra-class\\\"><pre class=\\\"language-text\\\"><code># 默认直接编译当前主机平台\\n$ cd ./tbox\\n$ xmake\\n\\n# 编译mingw平台\\n$ cd ./tbox\\n$ xmake f -p mingw --sdk=/home/mingwsdk \\n$ xmake\\n\\n# 编译iphoneos平台\\n$ cd ./tbox\\n$ xmake f -p iphoneos \\n$ xmake\\n\\n# 编译android平台\\n$ cd ./tbox\\n$ xmake f -p android --ndk=xxxxx\\n$ xmake\\n\\n# 交叉编译\\n$ cd ./tbox\\n$ xmake f -p linux --sdk=/home/sdk #--bin=/home/sdk/bin\\n$ xmake\\n</code></pre></div><h2 id=\\\"例子\\\"><a href=\\\"#例子\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 例子</h2> <div class=\\\"language-c extra-class\\\"><pre class=\\\"language-c\\\"><code><span class=\\\"token macro property\\\">#<span class=\\\"token directive keyword\\\">include</span> <span class=\\\"token string\\\">"tbox/tbox.h"</span></span>\\n\\n<span class=\\\"token keyword\\\">int</span> <span class=\\\"token function\\\">main</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token keyword\\\">int</span> argc<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token keyword\\\">char</span><span class=\\\"token operator\\\">*</span><span class=\\\"token operator\\\">*</span> argv<span class=\\\"token punctuation\\\">)</span>\\n<span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// init tbox</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span><span class=\\\"token operator\\\">!</span><span class=\\\"token function\\\">tb_init</span><span class=\\\"token punctuation\\\">(</span>tb_null<span class=\\\"token punctuation\\\">,</span> tb_null<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span> <span class=\\\"token keyword\\\">return</span> <span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// trace</span>\\n <span class=\\\"token function\\\">tb_trace_i</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token string\\\">"hello tbox"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// init vector</span>\\n tb_vector_ref_t vector <span class=\\\"token operator\\\">=</span> <span class=\\\"token function\\\">tb_vector_init</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">,</span> <span class=\\\"token function\\\">tb_element_cstr</span><span class=\\\"token punctuation\\\">(</span>tb_true<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// insert item</span>\\n <span class=\\\"token function\\\">tb_vector_insert_tail</span><span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token string\\\">"hello"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token function\\\">tb_vector_insert_tail</span><span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token string\\\">"tbox"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// dump all items</span>\\n tb_for_all <span class=\\\"token punctuation\\\">(</span>tb_char_t <span class=\\\"token keyword\\\">const</span><span class=\\\"token operator\\\">*</span><span class=\\\"token punctuation\\\">,</span> cstr<span class=\\\"token punctuation\\\">,</span> vector<span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// trace</span>\\n <span class=\\\"token function\\\">tb_trace_i</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token string\\\">"%s"</span><span class=\\\"token punctuation\\\">,</span> cstr<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n\\n <span class=\\\"token comment\\\">// exit vector</span>\\n <span class=\\\"token function\\\">tb_vector_exit</span><span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n\\n <span class=\\\"token comment\\\">// init stream</span>\\n tb_stream_ref_t stream <span class=\\\"token operator\\\">=</span> <span class=\\\"token function\\\">tb_stream_init_from_url</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token string\\\">"http://www.xxx.com/file.txt"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span>stream<span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// open stream</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span><span class=\\\"token function\\\">tb_stream_open</span><span class=\\\"token punctuation\\\">(</span>stream<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// read line</span>\\n tb_long_t size <span class=\\\"token operator\\\">=</span> <span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">;</span>\\n tb_char_t line<span class=\\\"token punctuation\\\">[</span>TB_STREAM_BLOCK_MAXN<span class=\\\"token punctuation\\\">]</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token keyword\\\">while</span> <span class=\\\"token punctuation\\\">(</span><span class=\\\"token punctuation\\\">(</span>size <span class=\\\"token operator\\\">=</span> <span class=\\\"token function\\\">tb_stream_bread_line</span><span class=\\\"token punctuation\\\">(</span>stream<span class=\\\"token punctuation\\\">,</span> line<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token keyword\\\">sizeof</span><span class=\\\"token punctuation\\\">(</span>line<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span> <span class=\\\"token operator\\\">>=</span> <span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// trace</span>\\n <span class=\\\"token function\\\">tb_trace_i</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token string\\\">"line: %s"</span><span class=\\\"token punctuation\\\">,</span> line<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n\\n <span class=\\\"token comment\\\">// exit stream</span>\\n <span class=\\\"token function\\\">tb_stream_exit</span><span class=\\\"token punctuation\\\">(</span>stream<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n\\n <span class=\\\"token comment\\\">// wait </span>\\n <span class=\\\"token function\\\">getchar</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// exit tbox</span>\\n <span class=\\\"token function\\\">tb_exit</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token keyword\\\">return</span> <span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">;</span>\\n<span class=\\\"token punctuation\\\">}</span>\\n</code></pre></div>\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/7120eabc17418977107a11334774824a.json b/node_modules/vuepress/node_modules/.cache/vuepress/7120eabc17418977107a11334774824a.json new file mode 100644 index 00000000..6e039058 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/7120eabc17418977107a11334774824a.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/manual/index.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/manual/index.md","mtime":1541492172602},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./index.md?vue&type=template&id=6d0b4415&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n \"07b9593a\"\n \n)\n\ncomponent.options.__file = \"index.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/7141460c23021a5ab0802347cc0cf51e.json b/node_modules/vuepress/node_modules/.cache/vuepress/7141460c23021a5ab0802347cc0cf51e.json new file mode 100644 index 00000000..47032a65 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/7141460c23021a5ab0802347cc0cf51e.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/zh/README.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/zh/README.md","mtime":1534123204913},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./README.md?vue&type=template&id=691ca007&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('691ca007', component.options)\n } else {\n api.reload('691ca007', component.options)\n }\n module.hot.accept(\"./README.md?vue&type=template&id=691ca007&\", function () {\n api.rerender('691ca007', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"docs/guide/zh/README.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/7144b0f9cfc5a7b7a117335e70db602d.json b/node_modules/vuepress/node_modules/.cache/vuepress/7144b0f9cfc5a7b7a117335e70db602d.json new file mode 100644 index 00000000..c62901f3 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/7144b0f9cfc5a7b7a117335e70db602d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue?vue&type=template&id=2e630b6d&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm.userLinks.length || _vm.repoLink\n ? _c(\n \"nav\",\n { staticClass: \"nav-links\" },\n [\n _vm._l(_vm.userLinks, function(item) {\n return _c(\n \"div\",\n { key: item.link, staticClass: \"nav-item\" },\n [\n item.type === \"links\"\n ? _c(\"DropdownLink\", { attrs: { item: item } })\n : _c(\"NavLink\", { attrs: { item: item } })\n ],\n 1\n )\n }),\n _vm._v(\" \"),\n _vm.repoLink\n ? _c(\n \"a\",\n {\n staticClass: \"repo-link\",\n attrs: {\n href: _vm.repoLink,\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [\n _vm._v(\"\\n \" + _vm._s(_vm.repoLabel) + \"\\n \"),\n _c(\"OutboundLink\")\n ],\n 1\n )\n : _vm._e()\n ],\n 2\n )\n : _vm._e()\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/720008b31165304d6b51cf0d4c21298c.json b/node_modules/vuepress/node_modules/.cache/vuepress/720008b31165304d6b51cf0d4c21298c.json new file mode 100644 index 00000000..048dcb16 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/720008b31165304d6b51cf0d4c21298c.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/manual.md?vue&type=template&id=3d9f7361&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/manual.md","mtime":1541487162645},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"manual\"><a class=\"header-anchor\" href=\"#manual\" aria-hidden=\"true\">#</a> Manual</h1>\n<p>[TODO]</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/738b5ae79c3be00478e21709cc93b43b.json b/node_modules/vuepress/node_modules/.cache/vuepress/738b5ae79c3be00478e21709cc93b43b.json new file mode 100644 index 00000000..e7cf5fcc --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/738b5ae79c3be00478e21709cc93b43b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.search-box\n display inline-block\n position relative\n margin-right 1rem\n input\n cursor text\n width 10rem\n color lighten($textColor, 25%)\n display inline-block\n border 1px solid darken($borderColor, 10%)\n border-radius 2rem\n font-size 0.9rem\n line-height 2rem\n padding 0 0.5rem 0 2rem\n outline none\n transition all .2s ease\n background #fff url(./search.svg) 0.6rem 0.5rem no-repeat\n background-size 1rem\n &:focus\n cursor auto\n border-color $accentColor\n .suggestions\n background #fff\n width 20rem\n position absolute\n top 1.5rem\n border 1px solid darken($borderColor, 10%)\n border-radius 6px\n padding 0.4rem\n list-style-type none\n &.align-right\n right 0\n .suggestion\n line-height 1.4\n padding 0.4rem 0.6rem\n border-radius 4px\n cursor pointer\n a\n white-space normal\n color lighten($textColor, 35%)\n .page-title\n font-weight 600\n .header\n font-size 0.9em\n margin-left 0.25em\n &.focused\n background-color #f3f4f5\n a\n color $accentColor\n\n@media (max-width: $MQNarrow)\n .search-box\n input\n cursor pointer\n width 0\n border-color transparent\n position relative\n &:focus\n cursor text\n left 0\n width 10rem\n\n@media (max-width: $MQNarrow) and (min-width: $MQMobile)\n .search-box\n .suggestions\n left 0\n\n@media (max-width: $MQMobile)\n .search-box\n margin-right 0\n input\n left 1rem\n .suggestions\n right 0\n\n@media (max-width: $MQMobileNarrow)\n .search-box\n .suggestions\n width calc(100vw - 4rem)\n input:focus\n width 8rem\n",{"version":3,"sources":["SearchBox.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0JA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA","file":"SearchBox.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <div class=\"search-box\">\n <input\n @input=\"query = $event.target.value\"\n aria-label=\"Search\"\n :value=\"query\"\n :class=\"{ 'focused': focused }\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n @focus=\"focused = true\"\n @blur=\"focused = false\"\n @keyup.enter=\"go(focusIndex)\"\n @keyup.up=\"onUp\"\n @keyup.down=\"onDown\"\n >\n <ul\n class=\"suggestions\"\n v-if=\"showSuggestions\"\n :class=\"{ 'align-right': alignRight }\"\n @mouseleave=\"unfocus\"\n >\n <li\n class=\"suggestion\"\n v-for=\"(s, i) in suggestions\"\n :class=\"{ focused: i === focusIndex }\"\n @mousedown=\"go(i)\"\n @mouseenter=\"focus(i)\"\n >\n <a :href=\"s.path\" @click.prevent>\n <span class=\"page-title\">{{ s.title || s.path }}</span>\n <span v-if=\"s.header\" class=\"header\">> {{ s.header.title }}</span>\n </a>\n </li>\n </ul>\n </div>\n</template>\n\n<script>\nexport default {\n data () {\n return {\n query: '',\n focused: false,\n focusIndex: 0\n }\n },\n\n computed: {\n showSuggestions () {\n return (\n this.focused &&\n this.suggestions &&\n this.suggestions.length\n )\n },\n\n suggestions () {\n const query = this.query.trim().toLowerCase()\n if (!query) {\n return\n }\n\n const { pages, themeConfig } = this.$site\n const max = themeConfig.searchMaxSuggestions || 5\n const localePath = this.$localePath\n const matches = item => (\n item.title &&\n item.title.toLowerCase().indexOf(query) > -1\n )\n const res = []\n for (let i = 0; i < pages.length; i++) {\n if (res.length >= max) break\n const p = pages[i]\n // filter out results that do not match current locale\n if (this.getPageLocalePath(p) !== localePath) {\n continue\n }\n if (matches(p)) {\n res.push(p)\n } else if (p.headers) {\n for (let j = 0; j < p.headers.length; j++) {\n if (res.length >= max) break\n const h = p.headers[j]\n if (matches(h)) {\n res.push(Object.assign({}, p, {\n path: p.path + '#' + h.slug,\n header: h\n }))\n }\n }\n }\n }\n return res\n },\n\n // make suggestions align right when there are not enough items\n alignRight () {\n const navCount = (this.$site.themeConfig.nav || []).length\n const repo = this.$site.repo ? 1 : 0\n return navCount + repo <= 2\n }\n },\n\n methods: {\n getPageLocalePath (page) {\n for (const localePath in this.$site.locales || {}) {\n if (localePath !== '/' && page.path.indexOf(localePath) === 0) {\n return localePath\n }\n }\n return '/'\n },\n\n onUp () {\n if (this.showSuggestions) {\n if (this.focusIndex > 0) {\n this.focusIndex--\n } else {\n this.focusIndex = this.suggestions.length - 1\n }\n }\n },\n\n onDown () {\n if (this.showSuggestions) {\n if (this.focusIndex < this.suggestions.length - 1) {\n this.focusIndex++\n } else {\n this.focusIndex = 0\n }\n }\n },\n\n go (i) {\n if (!this.showSuggestions) {\n return\n }\n this.$router.push(this.suggestions[i].path)\n this.query = ''\n this.focusIndex = 0\n },\n\n focus (i) {\n this.focusIndex = i\n },\n\n unfocus () {\n this.focusIndex = -1\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.search-box\n display inline-block\n position relative\n margin-right 1rem\n input\n cursor text\n width 10rem\n color lighten($textColor, 25%)\n display inline-block\n border 1px solid darken($borderColor, 10%)\n border-radius 2rem\n font-size 0.9rem\n line-height 2rem\n padding 0 0.5rem 0 2rem\n outline none\n transition all .2s ease\n background #fff url(./search.svg) 0.6rem 0.5rem no-repeat\n background-size 1rem\n &:focus\n cursor auto\n border-color $accentColor\n .suggestions\n background #fff\n width 20rem\n position absolute\n top 1.5rem\n border 1px solid darken($borderColor, 10%)\n border-radius 6px\n padding 0.4rem\n list-style-type none\n &.align-right\n right 0\n .suggestion\n line-height 1.4\n padding 0.4rem 0.6rem\n border-radius 4px\n cursor pointer\n a\n white-space normal\n color lighten($textColor, 35%)\n .page-title\n font-weight 600\n .header\n font-size 0.9em\n margin-left 0.25em\n &.focused\n background-color #f3f4f5\n a\n color $accentColor\n\n@media (max-width: $MQNarrow)\n .search-box\n input\n cursor pointer\n width 0\n border-color transparent\n position relative\n &:focus\n cursor text\n left 0\n width 10rem\n\n@media (max-width: $MQNarrow) and (min-width: $MQMobile)\n .search-box\n .suggestions\n left 0\n\n@media (max-width: $MQMobile)\n .search-box\n margin-right 0\n input\n left 1rem\n .suggestions\n right 0\n\n@media (max-width: $MQMobileNarrow)\n .search-box\n .suggestions\n width calc(100vw - 4rem)\n input:focus\n width 8rem\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/738cc2e7a9a2e96506fc4a159ac759cc.json b/node_modules/vuepress/node_modules/.cache/vuepress/738cc2e7a9a2e96506fc4a159ac759cc.json new file mode 100644 index 00000000..ce0dbe19 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/738cc2e7a9a2e96506fc4a159ac759cc.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue?vue&type=template&id=c97eee92&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div class=\"sidebar\">\n <NavLinks/>\n <slot name=\"top\"/>\n <ul class=\"sidebar-links\" v-if=\"items.length\">\n <li v-for=\"(item, i) in items\" :key=\"i\">\n <SidebarGroup\n v-if=\"item.type === 'group'\"\n :item=\"item\"\n :first=\"i === 0\"\n :open=\"i === openGroupIndex\"\n :collapsable=\"item.collapsable || item.collapsible\"\n @toggle=\"toggleGroup(i)\"\n />\n <SidebarLink v-else :item=\"item\"/>\n </li>\n </ul>\n <slot name=\"bottom\"/>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/74132bf2996b8833a376fe0a48020425.json b/node_modules/vuepress/node_modules/.cache/vuepress/74132bf2996b8833a376fe0a48020425.json new file mode 100644 index 00000000..4de16197 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/74132bf2996b8833a376fe0a48020425.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue?vue&type=template&id=bd900d28&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div class=\"sidebar-button\" @click=\"$emit('toggle-sidebar')\">\n <svg class=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" role=\"img\" viewBox=\"0 0 448 512\">\n <path fill=\"currentColor\" d=\"M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z\" class=\"\"></path>\n </svg>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/745f5615358fa2ba738a5d0c2c286e18.json b/node_modules/vuepress/node_modules/.cache/vuepress/745f5615358fa2ba738a5d0c2c286e18.json new file mode 100644 index 00000000..14d7078e --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/745f5615358fa2ba738a5d0c2c286e18.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLink.vue?vue&type=template&id=e3abcdbc&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.isExternal(_vm.link))?_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":_vm.link,\"exact\":_vm.exact}},[_vm._v(_vm._s(_vm.item.text))]):_c('a',{staticClass:\"nav-link external\",attrs:{\"href\":_vm.link,\"target\":_vm.isMailto(_vm.link) || _vm.isTel(_vm.link) ? null : '_blank',\"rel\":_vm.isMailto(_vm.link) || _vm.isTel(_vm.link) ? null : 'noopener noreferrer'}},[_vm._v(\"\\n \"+_vm._s(_vm.item.text)+\"\\n \"),_c('OutboundLink')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/75443307c2a5fd71da9017ae7066ab9c.json b/node_modules/vuepress/node_modules/.cache/vuepress/75443307c2a5fd71da9017ae7066ab9c.json new file mode 100644 index 00000000..cdfbe327 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/75443307c2a5fd71da9017ae7066ab9c.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/introduction.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/introduction.md","mtime":1541488030814},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./introduction.md?vue&type=template&id=2b93628e&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"introduction.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/75cd6bf5303777798f2b0fa3e2492d9f.json b/node_modules/vuepress/node_modules/.cache/vuepress/75cd6bf5303777798f2b0fa3e2492d9f.json new file mode 100644 index 00000000..53f4618b --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/75cd6bf5303777798f2b0fa3e2492d9f.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/.temp/themeEnhanceApp.js","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/.temp/themeEnhanceApp.js","mtime":1541598695625},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import \"core-js/modules/es6.promise\";\nexport default function () {}",{"version":3,"sources":["node_modules/vuepress/lib/app/.temp/themeEnhanceApp.js"],"names":[],"mappings":";AAAA,eAAe,YAAY,CAAE","sourceRoot":"/Users/ruki/projects/personal/xmake-docs","sourcesContent":["export default function () {}"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/75e748fa8262e36acd15d888b5663846.json b/node_modules/vuepress/node_modules/.cache/vuepress/75e748fa8262e36acd15d888b5663846.json new file mode 100644 index 00000000..95845645 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/75e748fa8262e36acd15d888b5663846.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/manual/index.md?vue&type=template&id=3b730ffa&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/manual/index.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"manual\"><a class=\"header-anchor\" href=\"#manual\" aria-hidden=\"true\">#</a> Manual</h1>\n<p>[TODO]</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/760e7ea4da390a0e861b513f1fb53d4d.json b/node_modules/vuepress/node_modules/.cache/vuepress/760e7ea4da390a0e861b513f1fb53d4d.json new file mode 100644 index 00000000..247a2a2c --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/760e7ea4da390a0e861b513f1fb53d4d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/index.md?vue&type=template&id=4661a084&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/index.md","mtime":1541487864525},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"TBOX is a glib-like cross-platform C library that is simple to use yet powerful in nature.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"The project focuses on making C development easier and provides many modules (.e.g stream, coroutine, regex, container, algorithm ...),\\nso that any developer can quickly pick it up and enjoy the productivity boost when developing in C language.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"It supports the following platforms:\")]),\n _vm._v(\" \"),\n _vm._m(1),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"And it provides many compiling options using \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.xmake.io\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\":\")\n ]),\n _vm._v(\" \"),\n _vm._m(2),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"If you want to know more, please refer to:\")]),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://tboox.org\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"HomePage\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/tbox/wiki/documents\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Documents\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/tbox\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Github\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://gitee.com/tboox/tbox\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Gitee\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm._m(3),\n _vm._v(\" \"),\n _vm._m(4),\n _vm._v(\" \"),\n _vm._m(5),\n _vm._v(\" \"),\n _vm._m(6),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"Provides high-performance coroutine switch(refer to \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://tboox.org/2016/10/28/benchbox-coroutine/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"reports\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\")\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports arm, arm64, x86, x86_64 ..\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Provides channel interfaces\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Provides semaphore and lock interfaces\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Supports io socket and stream operation in coroutine\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Provides some io servers (http ..) using coroutine\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Provides stackfull and stackless coroutines\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Support epoll, kqueue, poll, select and IOCP\")])\n ]),\n _vm._v(\" \"),\n _vm._m(7),\n _vm._v(\" \"),\n _vm._m(8),\n _vm._v(\" \"),\n _vm._m(9),\n _vm._v(\" \"),\n _vm._m(10),\n _vm._v(\" \"),\n _vm._m(11),\n _vm._v(\" \"),\n _vm._m(12),\n _vm._v(\" \"),\n _vm._m(13),\n _vm._v(\" \"),\n _vm._m(14),\n _vm._v(\" \"),\n _vm._m(15),\n _vm._v(\" \"),\n _vm._m(16),\n _vm._v(\" \"),\n _vm._m(17),\n _vm._v(\" \"),\n _vm._m(18),\n _vm._v(\" \"),\n _vm._m(19),\n _vm._v(\" \"),\n _vm._m(20),\n _vm._v(\" \"),\n _vm._m(21),\n _vm._v(\" \"),\n _vm._m(22),\n _vm._v(\" \"),\n _vm._m(23),\n _vm._v(\" \"),\n _vm._m(24),\n _vm._v(\" \"),\n _vm._m(25),\n _vm._v(\" \"),\n _vm._m(26),\n _vm._v(\" \"),\n _vm._m(27),\n _vm._v(\" \"),\n _vm._m(28),\n _vm._v(\" \"),\n _vm._m(29),\n _vm._v(\" \"),\n _vm._m(30),\n _vm._v(\" \"),\n _vm._m(31),\n _vm._v(\" \"),\n _vm._m(32),\n _vm._v(\" \"),\n _vm._m(33),\n _vm._v(\" \"),\n _vm._m(34),\n _vm._v(\" \"),\n _vm._m(35),\n _vm._v(\" \"),\n _vm._m(36),\n _vm._v(\" \"),\n _vm._m(37),\n _vm._v(\" \"),\n _vm._m(38),\n _vm._v(\" \"),\n _vm._m(39),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Some projects using tbox:\")]),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/gbox\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"gbox\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/vm86\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"vm86\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.xmake.io\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/itrace\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"itrace\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/tbox/wiki/tbox-projects\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"more\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm._m(40),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"Please install xmake first: \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _vm._m(41),\n _vm._m(42),\n _vm._v(\" \"),\n _vm._m(43),\n _vm._m(44),\n _vm._v(\" \"),\n _c(\"ul\", [\n _vm._m(45),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Homepage:\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.tboox.org\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"tboox.org\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Community:\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://www.reddit.com/r/tboox/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"/r/tboox on reddit\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ])\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h1\", { attrs: { id: \"introduction\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#introduction\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Introduction\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Windows\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Macosx\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Linux\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Android\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"iOS\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Release: Disable debug information, assertion, memory checking and enable optimization.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Debug: Enable debug information, assertion, memory checking and disable optimization.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Small: Disable all extensional modules and enable space optimization.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Micro: compiling micro library (~64K) for the embed system.\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"features\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#features\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Features\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-stream-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-stream-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The stream library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Supports file, data, http and socket source\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports the stream filter for gzip, charset and...\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements stream transfer\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements the static buffer stream for parsing data\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Supports coroutine and implements asynchronous operation\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-coroutine-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-coroutine-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The coroutine library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-database-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-database-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The database library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Supports mysql and sqlite3 database and enumerates data using the iterator mode\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-xml-parser-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-xml-parser-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The xml parser library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Supports DOM and SAX mode and Supports xpath\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"h4\",\n { attrs: { id: \"the-serialization-and-deserialization-library\" } },\n [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: {\n href: \"#the-serialization-and-deserialization-library\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The serialization and deserialization library\")\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Supports xml, json, bplist, xplist, binary formats\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-memory-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-memory-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The memory library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Implements some memory pools for optimizing memory\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Supports fast memory error detecting. it can detect the following types of bugs for the debug mode:\\n\"\n ),\n _c(\"ul\", [\n _c(\"li\", [_vm._v(\"out-of-bounds accesses to heap and globals\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"use-after-free\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"double-free, invalid free\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"memory leaks\")])\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-container-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-container-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The container library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Implements hash table, single list, double list, vector, stack, queue\\nand min/max heap. Supports iterator mode for algorithm\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-algorithm-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-algorithm-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The algorithm library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Uses the iterator mode\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements find, binary find and reverse find algorithm\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Implements sort, bubble sort, quick sort, heap sort and insert sort algorithm\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Implements count, walk items, reverse walk items, for_all and rfor_all\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-network-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-network-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The network library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Implements dns(cached)\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements ssl(openssl, polarssl, mbedtls)\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements http\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements cookies\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports ipv4, ipv6\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports coroutine\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-platform-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-platform-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The platform library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Implements timer, fast and low precision timer\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements atomic and atomic64 operation\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Implements spinlock, mutex, event, semaphore, thread and thread pool\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements file, socket operation\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements poller using epoll, poll, select, kqueue ...\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements switch context interfaces for coroutine\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-charset-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-charset-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The charset library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Supports utf8, utf16, gbk, gb2312, uc2 and uc4\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports big endian and little endian mode\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-zip-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-zip-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The zip library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Supports gzip, zlibraw, zlib formats using the zlib library if exists\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements lzsw, lz77 and rlc algorithm\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-utils-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-utils-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The utils library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Implements base32, base64 encoder and decoder\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements assert and trace output for the debug mode\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements bits operation for parsing u8, u16, u32, u64 data\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-math-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-math-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The math library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Implements random generator\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Implements fast fixed-point calculation, Supports 6-bits, 16-bits, 30-bits fixed-point number\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-libc-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-libc-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The libc library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Implements lightweight libc library interfaces, the interface name contains \"\n ),\n _c(\"code\", [_vm._v(\"tb_xxx\")]),\n _vm._v(\" prefix for avoiding conflict\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements strixxx strrxxx wcsixxx wcsrxxx interface extension\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Optimizes some frequently-used interface, .e.g. memset, memcpy, strcpy ...\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements \"),\n _c(\"code\", [_vm._v(\"memset_u16\")]),\n _vm._v(\", \"),\n _c(\"code\", [_vm._v(\"memset_u32\")]),\n _vm._v(\", \"),\n _c(\"code\", [_vm._v(\"memset_u64\")]),\n _vm._v(\" extension interfaces\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-libm-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-libm-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The libm library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Implements lightweight libm library interfaces, the interface name contains \"\n ),\n _c(\"code\", [_vm._v(\"tb_xxx\")]),\n _vm._v(\" prefix for avoiding conflict\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports float and double type\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-regex-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-regex-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The regex library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Supports match and replace\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports global/multiline/caseless mode\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Uses pcre, pcre2 and posix regex modules\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-hash-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-hash-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The hash library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"Implements crc32, adler32, md5 and sha1 hash algorithm\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Implements some string hash algorithms (.e.g bkdr, fnv32, fnv64, sdbm, djb2, rshash, aphash ...)\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements uuid generator\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"projects\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#projects\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Projects\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"build\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#build\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Build\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-console extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-text\" } }, [\n _c(\"code\", [\n _vm._v(\n \"# build for the host platform\\n$ cd ./tbox\\n$ xmake\\n\\n# build for the mingw platform\\n$ cd ./tbox\\n$ xmake f -p mingw --sdk=/home/mingwsdk \\n$ xmake\\n\\n# build for the iphoneos platform\\n$ cd ./tbox\\n$ xmake f -p iphoneos \\n$ xmake\\n\\n# build for the android platform\\n$ cd ./tbox\\n$ xmake f -p android --ndk=xxxxx\\n$ xmake\\n\\n# build for the linux cross-platform\\n$ cd ./tbox\\n$ xmake f -p linux --sdk=/home/sdk # --bin=/home/sdk/bin\\n$ xmake\\n\"\n )\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"example\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#example\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Example\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-c extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-c\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token macro property\" } }, [\n _vm._v(\"#\"),\n _c(\"span\", { attrs: { class: \"token directive keyword\" } }, [\n _vm._v(\"include\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"tbox/tbox.h\"')\n ])\n ]),\n _vm._v(\"\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"int\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"main\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"int\")]),\n _vm._v(\" argc\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"char\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _vm._v(\" argv\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// init tbox\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"!\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_init\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"tb_null\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" tb_null\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"return\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// trace\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_trace_i\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"hello tbox\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// init vector\")\n ]),\n _vm._v(\"\\n tb_vector_ref_t vector \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_init\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_element_cstr\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"tb_true\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// insert item\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_insert_tail\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"hello\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_insert_tail\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"tbox\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// dump all items\")\n ]),\n _vm._v(\"\\n tb_for_all \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"tb_char_t \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"const\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" cstr\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// trace\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_trace_i\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"%s\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" cstr\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// exit vector\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_exit\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// init stream\")\n ]),\n _vm._v(\"\\n tb_stream_ref_t stream \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_init_from_url\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"http://www.xxx.com/file.txt\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// open stream\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_open\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// read line\")\n ]),\n _vm._v(\"\\n tb_long_t size \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n tb_char_t line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"TB_STREAM_BLOCK_MAXN\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"while\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"size \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_bread_line\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"sizeof\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\">=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// trace\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_trace_i\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"line: %s\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// exit stream\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_exit\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// wait \")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"getchar\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// exit tbox\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_exit\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"return\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"contacts\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#contacts\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Contacts\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"li\", [\n _vm._v(\"Email:\"),\n _c(\"a\", { attrs: { href: \"mailto:waruqi@gmail.com\" } }, [\n _vm._v(\"waruqi@gmail.com\")\n ])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/7692d896cf8f705e0f76bec5562925bb.json b/node_modules/vuepress/node_modules/.cache/vuepress/7692d896cf8f705e0f76bec5562925bb.json new file mode 100644 index 00000000..fbab81e2 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/7692d896cf8f705e0f76bec5562925bb.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexport default {\n data () {\n return {\n query: '',\n focused: false,\n focusIndex: 0\n }\n },\n\n computed: {\n showSuggestions () {\n return (\n this.focused &&\n this.suggestions &&\n this.suggestions.length\n )\n },\n\n suggestions () {\n const query = this.query.trim().toLowerCase()\n if (!query) {\n return\n }\n\n const { pages, themeConfig } = this.$site\n const max = themeConfig.searchMaxSuggestions || 5\n const localePath = this.$localePath\n const matches = item => (\n item.title &&\n item.title.toLowerCase().indexOf(query) > -1\n )\n const res = []\n for (let i = 0; i < pages.length; i++) {\n if (res.length >= max) break\n const p = pages[i]\n // filter out results that do not match current locale\n if (this.getPageLocalePath(p) !== localePath) {\n continue\n }\n if (matches(p)) {\n res.push(p)\n } else if (p.headers) {\n for (let j = 0; j < p.headers.length; j++) {\n if (res.length >= max) break\n const h = p.headers[j]\n if (matches(h)) {\n res.push(Object.assign({}, p, {\n path: p.path + '#' + h.slug,\n header: h\n }))\n }\n }\n }\n }\n return res\n },\n\n // make suggestions align right when there are not enough items\n alignRight () {\n const navCount = (this.$site.themeConfig.nav || []).length\n const repo = this.$site.repo ? 1 : 0\n return navCount + repo <= 2\n }\n },\n\n methods: {\n getPageLocalePath (page) {\n for (const localePath in this.$site.locales || {}) {\n if (localePath !== '/' && page.path.indexOf(localePath) === 0) {\n return localePath\n }\n }\n return '/'\n },\n\n onUp () {\n if (this.showSuggestions) {\n if (this.focusIndex > 0) {\n this.focusIndex--\n } else {\n this.focusIndex = this.suggestions.length - 1\n }\n }\n },\n\n onDown () {\n if (this.showSuggestions) {\n if (this.focusIndex < this.suggestions.length - 1) {\n this.focusIndex++\n } else {\n this.focusIndex = 0\n }\n }\n },\n\n go (i) {\n if (!this.showSuggestions) {\n return\n }\n this.$router.push(this.suggestions[i].path)\n this.query = ''\n this.focusIndex = 0\n },\n\n focus (i) {\n this.focusIndex = i\n },\n\n unfocus () {\n this.focusIndex = -1\n }\n }\n}\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/76b7662673ec17063ca750d56e117d1d.json b/node_modules/vuepress/node_modules/.cache/vuepress/76b7662673ec17063ca750d56e117d1d.json new file mode 100644 index 00000000..c9bfcf24 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/76b7662673ec17063ca750d56e117d1d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/guide/getting-started.md?vue&type=template&id=527ea621&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/guide/getting-started.md","mtime":1541554688137},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._ssrNode(\"<h1 id=\\\"getting-started\\\"><a href=\\\"#getting-started\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Getting Started</h1> \"),_vm._ssrNode(\"<p>\",\"</p>\",[_vm._ssrNode(\"Please install xmake first: \"),_vm._ssrNode(\"<a href=\\\"https://github.com/tboox/xmake\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"xmake\"),_c('OutboundLink')],2)],2),_vm._ssrNode(\" <div class=\\\"language-bash extra-class\\\"><pre class=\\\"language-bash\\\"><code><span class=\\\"token comment\\\"># build for the host platform</span>\\n$ <span class=\\\"token function\\\">cd</span> ./tbox\\n$ xmake\\n\\n<span class=\\\"token comment\\\"># build for the mingw platform</span>\\n$ <span class=\\\"token function\\\">cd</span> ./tbox\\n$ xmake f -p mingw --sdk<span class=\\\"token operator\\\">=</span>/home/mingwsdk \\n$ xmake\\n\\n<span class=\\\"token comment\\\"># build for the iphoneos platform</span>\\n$ <span class=\\\"token function\\\">cd</span> ./tbox\\n$ xmake f -p iphoneos \\n$ xmake\\n\\n<span class=\\\"token comment\\\"># build for the android platform</span>\\n$ <span class=\\\"token function\\\">cd</span> ./tbox\\n$ xmake f -p android --ndk<span class=\\\"token operator\\\">=</span>xxxxx\\n$ xmake\\n\\n<span class=\\\"token comment\\\"># build for the linux cross-platform</span>\\n$ <span class=\\\"token function\\\">cd</span> ./tbox\\n$ xmake f -p linux --sdk<span class=\\\"token operator\\\">=</span>/home/sdk <span class=\\\"token comment\\\"># --bin=/home/sdk/bin</span>\\n$ xmake\\n</code></pre></div><h2 id=\\\"example\\\"><a href=\\\"#example\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Example</h2> <div class=\\\"language-c extra-class\\\"><pre class=\\\"language-c\\\"><code><span class=\\\"token macro property\\\">#<span class=\\\"token directive keyword\\\">include</span> <span class=\\\"token string\\\">"tbox/tbox.h"</span></span>\\n\\n<span class=\\\"token keyword\\\">int</span> <span class=\\\"token function\\\">main</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token keyword\\\">int</span> argc<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token keyword\\\">char</span><span class=\\\"token operator\\\">*</span><span class=\\\"token operator\\\">*</span> argv<span class=\\\"token punctuation\\\">)</span>\\n<span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// init tbox</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span><span class=\\\"token operator\\\">!</span><span class=\\\"token function\\\">tb_init</span><span class=\\\"token punctuation\\\">(</span>tb_null<span class=\\\"token punctuation\\\">,</span> tb_null<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span> <span class=\\\"token keyword\\\">return</span> <span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// trace</span>\\n <span class=\\\"token function\\\">tb_trace_i</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token string\\\">"hello tbox"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// init vector</span>\\n tb_vector_ref_t vector <span class=\\\"token operator\\\">=</span> <span class=\\\"token function\\\">tb_vector_init</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">,</span> <span class=\\\"token function\\\">tb_element_cstr</span><span class=\\\"token punctuation\\\">(</span>tb_true<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// insert item</span>\\n <span class=\\\"token function\\\">tb_vector_insert_tail</span><span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token string\\\">"hello"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token function\\\">tb_vector_insert_tail</span><span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token string\\\">"tbox"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// dump all items</span>\\n tb_for_all <span class=\\\"token punctuation\\\">(</span>tb_char_t <span class=\\\"token keyword\\\">const</span><span class=\\\"token operator\\\">*</span><span class=\\\"token punctuation\\\">,</span> cstr<span class=\\\"token punctuation\\\">,</span> vector<span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// trace</span>\\n <span class=\\\"token function\\\">tb_trace_i</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token string\\\">"%s"</span><span class=\\\"token punctuation\\\">,</span> cstr<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n\\n <span class=\\\"token comment\\\">// exit vector</span>\\n <span class=\\\"token function\\\">tb_vector_exit</span><span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n\\n <span class=\\\"token comment\\\">// init stream</span>\\n tb_stream_ref_t stream <span class=\\\"token operator\\\">=</span> <span class=\\\"token function\\\">tb_stream_init_from_url</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token string\\\">"http://www.xxx.com/file.txt"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span>stream<span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// open stream</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span><span class=\\\"token function\\\">tb_stream_open</span><span class=\\\"token punctuation\\\">(</span>stream<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// read line</span>\\n tb_long_t size <span class=\\\"token operator\\\">=</span> <span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">;</span>\\n tb_char_t line<span class=\\\"token punctuation\\\">[</span>TB_STREAM_BLOCK_MAXN<span class=\\\"token punctuation\\\">]</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token keyword\\\">while</span> <span class=\\\"token punctuation\\\">(</span><span class=\\\"token punctuation\\\">(</span>size <span class=\\\"token operator\\\">=</span> <span class=\\\"token function\\\">tb_stream_bread_line</span><span class=\\\"token punctuation\\\">(</span>stream<span class=\\\"token punctuation\\\">,</span> line<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token keyword\\\">sizeof</span><span class=\\\"token punctuation\\\">(</span>line<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span> <span class=\\\"token operator\\\">>=</span> <span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// trace</span>\\n <span class=\\\"token function\\\">tb_trace_i</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token string\\\">"line: %s"</span><span class=\\\"token punctuation\\\">,</span> line<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n\\n <span class=\\\"token comment\\\">// exit stream</span>\\n <span class=\\\"token function\\\">tb_stream_exit</span><span class=\\\"token punctuation\\\">(</span>stream<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n\\n <span class=\\\"token comment\\\">// wait </span>\\n <span class=\\\"token function\\\">getchar</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// exit tbox</span>\\n <span class=\\\"token function\\\">tb_exit</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token keyword\\\">return</span> <span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">;</span>\\n<span class=\\\"token punctuation\\\">}</span>\\n</code></pre></div>\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/76ce13316e5b8e36e8da8767c4eb5fc7.json b/node_modules/vuepress/node_modules/.cache/vuepress/76ce13316e5b8e36e8da8767c4eb5fc7.json new file mode 100644 index 00000000..7c658285 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/76ce13316e5b8e36e8da8767c4eb5fc7.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/guide/introduction.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/guide/introduction.md","mtime":1541555923022},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./introduction.md?vue&type=template&id=b5b1b492&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('b5b1b492', component.options)\n } else {\n api.reload('b5b1b492', component.options)\n }\n module.hot.accept(\"./introduction.md?vue&type=template&id=b5b1b492&\", function () {\n api.rerender('b5b1b492', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/guide/introduction.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/76ed2a97f55a4af2ae00192f4368e0fe.json b/node_modules/vuepress/node_modules/.cache/vuepress/76ed2a97f55a4af2ae00192f4368e0fe.json new file mode 100644 index 00000000..1312be78 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/76ed2a97f55a4af2ae00192f4368e0fe.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NotFound.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NotFound.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar msgs = [\"There's nothing here.\", \"How did we get here?\", \"That's a Four-Oh-Four.\", \"Looks like we've got some broken links.\"];\nexport default {\n methods: {\n getMsg: function getMsg() {\n return msgs[Math.floor(Math.random() * msgs.length)];\n }\n }\n};",{"version":3,"sources":["NotFound.vue"],"names":[],"mappings":";;;;;;;;;;AAWA,IAAA,OAAA,sHAAA;AAOA,eAAA;AACA,WAAA;AACA,UADA,oBACA;AACA,aAAA,KAAA,KAAA,KAAA,CAAA,KAAA,MAAA,KAAA,KAAA,MAAA,CAAA,CAAA;AACA;AAHA;AADA,CAAA","sourcesContent":["<template>\n <div class=\"theme-container\">\n <div class=\"content\">\n <h1>404</h1>\n <blockquote>{{ getMsg() }}</blockquote>\n <router-link to=\"/\">Take me home.</router-link>\n </div>\n </div>\n</template>\n\n<script>\nconst msgs = [\n `There's nothing here.`,\n `How did we get here?`,\n `That's a Four-Oh-Four.`,\n `Looks like we've got some broken links.`\n]\n\nexport default {\n methods: {\n getMsg () {\n return msgs[Math.floor(Math.random() * msgs.length)]\n }\n }\n}\n</script>\n"],"sourceRoot":"node_modules/vuepress/lib/default-theme"}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/7716e0e6e9e05df70f6073e9cbb38561.json b/node_modules/vuepress/node_modules/.cache/vuepress/7716e0e6e9e05df70f6073e9cbb38561.json new file mode 100644 index 00000000..4e9def28 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/7716e0e6e9e05df70f6073e9cbb38561.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/root-mixins/activeHeaderLinks.js","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/root-mixins/activeHeaderLinks.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import \"core-js/modules/es6.regexp.replace\";\nimport \"core-js/modules/es6.array.some\";\nimport \"core-js/modules/es6.array.filter\";\nimport store from '@app/store';\nimport throttle from 'lodash.throttle';\nexport default {\n mounted: function mounted() {\n window.addEventListener('scroll', this.onScroll);\n },\n methods: {\n onScroll: throttle(function () {\n this.setActiveHash();\n }, 300),\n setActiveHash: function setActiveHash() {\n var _this = this;\n\n var sidebarLinks = [].slice.call(document.querySelectorAll('.sidebar-link'));\n var anchors = [].slice.call(document.querySelectorAll('.header-anchor')).filter(function (anchor) {\n return sidebarLinks.some(function (sidebarLink) {\n return sidebarLink.hash === anchor.hash;\n });\n });\n var scrollTop = Math.max(window.pageYOffset, document.documentElement.scrollTop, document.body.scrollTop);\n\n for (var i = 0; i < anchors.length; i++) {\n var anchor = anchors[i];\n var nextAnchor = anchors[i + 1];\n var isActive = i === 0 && scrollTop === 0 || scrollTop >= anchor.parentElement.offsetTop + 10 && (!nextAnchor || scrollTop < nextAnchor.parentElement.offsetTop - 10);\n\n if (isActive && decodeURIComponent(this.$route.hash) !== decodeURIComponent(anchor.hash)) {\n store.disableScrollBehavior = true;\n this.$router.replace(decodeURIComponent(anchor.hash), function () {\n // execute after scrollBehavior handler.\n _this.$nextTick(function () {\n store.disableScrollBehavior = false;\n });\n });\n return;\n }\n }\n }\n },\n beforeDestroy: function beforeDestroy() {\n window.removeEventListener('scroll', this.onScroll);\n }\n};",{"version":3,"sources":["node_modules/vuepress/lib/app/root-mixins/activeHeaderLinks.js"],"names":["store","throttle","mounted","window","addEventListener","onScroll","methods","setActiveHash","sidebarLinks","slice","call","document","querySelectorAll","anchors","filter","some","sidebarLink","hash","anchor","scrollTop","Math","max","pageYOffset","documentElement","body","i","length","nextAnchor","isActive","parentElement","offsetTop","decodeURIComponent","$route","disableScrollBehavior","$router","replace","$nextTick","beforeDestroy","removeEventListener"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,YAAlB;AACA,OAAOC,QAAP,MAAqB,iBAArB;AAEA,eAAe;AACbC,SADa,qBACF;AACTC,WAAOC,gBAAP,CAAwB,QAAxB,EAAkC,KAAKC,QAAvC;AACD,GAHY;AAIbC,WAAS;AACPD,cAAUJ,SAAS,YAAY;AAC7B,WAAKM,aAAL;AACD,KAFS,EAEP,GAFO,CADH;AAIPA,iBAJO,2BAIU;AAAA;;AACf,UAAMC,eAAe,GAAGC,KAAH,CAASC,IAAT,CAAcC,SAASC,gBAAT,CAA0B,eAA1B,CAAd,CAArB;AACA,UAAMC,UAAU,GAAGJ,KAAH,CAASC,IAAT,CAAcC,SAASC,gBAAT,CAA0B,gBAA1B,CAAd,EACfE,MADe,CACR;AAAA,eAAUN,aAAaO,IAAb,CAAkB;AAAA,iBAAeC,YAAYC,IAAZ,KAAqBC,OAAOD,IAA3C;AAAA,SAAlB,CAAV;AAAA,OADQ,CAAhB;AAGA,UAAME,YAAYC,KAAKC,GAAL,CAChBlB,OAAOmB,WADS,EAEhBX,SAASY,eAAT,CAAyBJ,SAFT,EAGhBR,SAASa,IAAT,CAAcL,SAHE,CAAlB;;AAMA,WAAK,IAAIM,IAAI,CAAb,EAAgBA,IAAIZ,QAAQa,MAA5B,EAAoCD,GAApC,EAAyC;AACvC,YAAMP,SAASL,QAAQY,CAAR,CAAf;AACA,YAAME,aAAad,QAAQY,IAAI,CAAZ,CAAnB;AAEA,YAAMG,WAAWH,MAAM,CAAN,IAAWN,cAAc,CAAzB,IAChBA,aAAaD,OAAOW,aAAP,CAAqBC,SAArB,GAAiC,EAA9C,KACA,CAACH,UAAD,IAAeR,YAAYQ,WAAWE,aAAX,CAAyBC,SAAzB,GAAqC,EADhE,CADD;;AAIA,YAAIF,YAAYG,mBAAmB,KAAKC,MAAL,CAAYf,IAA/B,MAAyCc,mBAAmBb,OAAOD,IAA1B,CAAzD,EAA0F;AACxFjB,gBAAMiC,qBAAN,GAA8B,IAA9B;AACA,eAAKC,OAAL,CAAaC,OAAb,CAAqBJ,mBAAmBb,OAAOD,IAA1B,CAArB,EAAsD,YAAM;AAC1D;AACA,kBAAKmB,SAAL,CAAe,YAAM;AACnBpC,oBAAMiC,qBAAN,GAA8B,KAA9B;AACD,aAFD;AAGD,WALD;AAMA;AACD;AACF;AACF;AAlCM,GAJI;AAwCbI,eAxCa,2BAwCI;AACflC,WAAOmC,mBAAP,CAA2B,QAA3B,EAAqC,KAAKjC,QAA1C;AACD;AA1CY,CAAf","sourceRoot":"/Users/ruki/projects/personal/xmake-docs","sourcesContent":["import store from '@app/store'\nimport throttle from 'lodash.throttle'\n\nexport default {\n mounted () {\n window.addEventListener('scroll', this.onScroll)\n },\n methods: {\n onScroll: throttle(function () {\n this.setActiveHash()\n }, 300),\n setActiveHash () {\n const sidebarLinks = [].slice.call(document.querySelectorAll('.sidebar-link'))\n const anchors = [].slice.call(document.querySelectorAll('.header-anchor'))\n .filter(anchor => sidebarLinks.some(sidebarLink => sidebarLink.hash === anchor.hash))\n\n const scrollTop = Math.max(\n window.pageYOffset,\n document.documentElement.scrollTop,\n document.body.scrollTop\n )\n\n for (let i = 0; i < anchors.length; i++) {\n const anchor = anchors[i]\n const nextAnchor = anchors[i + 1]\n\n const isActive = i === 0 && scrollTop === 0 ||\n (scrollTop >= anchor.parentElement.offsetTop + 10 &&\n (!nextAnchor || scrollTop < nextAnchor.parentElement.offsetTop - 10))\n\n if (isActive && decodeURIComponent(this.$route.hash) !== decodeURIComponent(anchor.hash)) {\n store.disableScrollBehavior = true\n this.$router.replace(decodeURIComponent(anchor.hash), () => {\n // execute after scrollBehavior handler.\n this.$nextTick(() => {\n store.disableScrollBehavior = false\n })\n })\n return\n }\n }\n }\n },\n beforeDestroy () {\n window.removeEventListener('scroll', this.onScroll)\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/77bc4ee517a076e81f820479d1d99eb3.json b/node_modules/vuepress/node_modules/.cache/vuepress/77bc4ee517a076e81f820479d1d99eb3.json new file mode 100644 index 00000000..c36560f0 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/77bc4ee517a076e81f820479d1d99eb3.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue?vue&type=template&id=247476d6&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"sidebar\" },\n [\n _c(\"NavLinks\"),\n _vm._v(\" \"),\n _vm._t(\"top\"),\n _vm._v(\" \"),\n _vm.items.length\n ? _c(\n \"ul\",\n { staticClass: \"sidebar-links\" },\n _vm._l(_vm.items, function(item, i) {\n return _c(\n \"li\",\n { key: i },\n [\n item.type === \"group\"\n ? _c(\"SidebarGroup\", {\n attrs: {\n item: item,\n first: i === 0,\n open: i === _vm.openGroupIndex,\n collapsable: item.collapsable || item.collapsible\n },\n on: {\n toggle: function($event) {\n _vm.toggleGroup(i)\n }\n }\n })\n : _c(\"SidebarLink\", { attrs: { item: item } })\n ],\n 1\n )\n })\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm._t(\"bottom\")\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/7801a887ae0c44f39b340d47c54d69b5.json b/node_modules/vuepress/node_modules/.cache/vuepress/7801a887ae0c44f39b340d47c54d69b5.json new file mode 100644 index 00000000..56787260 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/7801a887ae0c44f39b340d47c54d69b5.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/getting-started.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/getting-started.md","mtime":1541489096650},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./getting-started.md?vue&type=template&id=b833ee74&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n \"c4cde23e\"\n \n)\n\ncomponent.options.__file = \"getting-started.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/784e3183b457baf7a40c3995441ae01b.json b/node_modules/vuepress/node_modules/.cache/vuepress/784e3183b457baf7a40c3995441ae01b.json new file mode 100644 index 00000000..b2a6f7f1 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/784e3183b457baf7a40c3995441ae01b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue?vue&type=template&id=18ca159a&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div\n class=\"sidebar-group\"\n :class=\"{ first, collapsable }\"\n>\n <p\n class=\"sidebar-heading\"\n :class=\"{ open }\"\n @click=\"$emit('toggle')\"\n >\n <span>{{ item.title }}</span>\n <span\n class=\"arrow\"\n v-if=\"collapsable\"\n :class=\"open ? 'down' : 'right'\">\n </span>\n </p>\n\n <DropdownTransition>\n <ul\n ref=\"items\"\n class=\"sidebar-group-items\"\n v-if=\"open || !collapsable\"\n >\n <li v-for=\"child in item.children\">\n <SidebarLink :item=\"child\"/>\n </li>\n </ul>\n </DropdownTransition>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/78abdacfb0a6f15f767b5b9869488852.json b/node_modules/vuepress/node_modules/.cache/vuepress/78abdacfb0a6f15f767b5b9869488852.json new file mode 100644 index 00000000..5dc68773 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/78abdacfb0a6f15f767b5b9869488852.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./OutboundLink.vue?vue&type=template&id=2cf6a4d4&functional=true&\"\nvar script = {}\nimport style0 from \"./OutboundLink.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"OutboundLink.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/78fd8e8f94a27e7f857ed2c7e0e3452c.json b/node_modules/vuepress/node_modules/.cache/vuepress/78fd8e8f94a27e7f857ed2c7e0e3452c.json new file mode 100644 index 00000000..1d1ae117 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/78fd8e8f94a27e7f857ed2c7e0e3452c.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./SidebarButton.vue?vue&type=template&id=bd900d28&\"\nvar script = {}\nimport style0 from \"./SidebarButton.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"SidebarButton.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/7911e59d992e6cf0f02bb56d0b994c63.json b/node_modules/vuepress/node_modules/.cache/vuepress/7911e59d992e6cf0f02bb56d0b994c63.json new file mode 100644 index 00000000..001b0dd9 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/7911e59d992e6cf0f02bb56d0b994c63.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/manual/introduction.md?vue&type=template&id=9104bc32&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/manual/introduction.md","mtime":1541555949495},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"title1\"><a class=\"header-anchor\" href=\"#title1\" aria-hidden=\"true\">#</a> Title1</h1>\n<p><div class=\"table-of-contents\"><ul><li><a href=\"#title2\">Title2</a><ul><li><a href=\"#title3\">Title3</a></li><li><a href=\"#title3\">Title3</a></li></ul></li><li><a href=\"#title2\">Title2</a><ul><li><a href=\"#title3\">Title3</a></li></ul></li></ul></div></p>\n<h2 id=\"title2\"><a class=\"header-anchor\" href=\"#title2\" aria-hidden=\"true\">#</a> Title2</h2>\n<h3 id=\"title3\"><a class=\"header-anchor\" href=\"#title3\" aria-hidden=\"true\">#</a> Title3</h3>\n<h4 id=\"title4\"><a class=\"header-anchor\" href=\"#title4\" aria-hidden=\"true\">#</a> Title4</h4>\n<h5 id=\"title5\"><a class=\"header-anchor\" href=\"#title5\" aria-hidden=\"true\">#</a> Title5</h5>\n<p>...</p>\n<h5 id=\"title5-2\"><a class=\"header-anchor\" href=\"#title5-2\" aria-hidden=\"true\">#</a> Title5</h5>\n<p>...</p>\n<h4 id=\"title4-2\"><a class=\"header-anchor\" href=\"#title4-2\" aria-hidden=\"true\">#</a> Title4</h4>\n<p>...</p>\n<h3 id=\"title3-2\"><a class=\"header-anchor\" href=\"#title3-2\" aria-hidden=\"true\">#</a> Title3</h3>\n<p>...</p>\n<h2 id=\"title2-2\"><a class=\"header-anchor\" href=\"#title2-2\" aria-hidden=\"true\">#</a> Title2</h2>\n<p>...</p>\n<h3 id=\"title3-3\"><a class=\"header-anchor\" href=\"#title3-3\" aria-hidden=\"true\">#</a> Title3</h3>\n<p>...</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/797d6cf658e1b0407131fa8ade193766.json b/node_modules/vuepress/node_modules/.cache/vuepress/797d6cf658e1b0407131fa8ade193766.json new file mode 100644 index 00000000..28808ec0 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/797d6cf658e1b0407131fa8ade193766.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/README.md?vue&type=template&id=8a4bbf68&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/README.md","mtime":1541488927605},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/79ce366a6b65f69679ee6d48dc945f75.json b/node_modules/vuepress/node_modules/.cache/vuepress/79ce366a6b65f69679ee6d48dc945f75.json new file mode 100644 index 00000000..bf2b2991 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/79ce366a6b65f69679ee6d48dc945f75.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/manual/introduction.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/manual/introduction.md","mtime":1541555949495},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./introduction.md?vue&type=template&id=9104bc32&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n \"44555de1\"\n \n)\n\ncomponent.options.__file = \"introduction.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/79dc6bf65fb21c71547551b1e01d885a.json b/node_modules/vuepress/node_modules/.cache/vuepress/79dc6bf65fb21c71547551b1e01d885a.json new file mode 100644 index 00000000..cc0398d0 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/79dc6bf65fb21c71547551b1e01d885a.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/Content.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/Content.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["export default {\n functional: true,\n props: {\n custom: {\n type: Boolean,\n default: true\n }\n },\n render: function render(h, _ref) {\n var parent = _ref.parent,\n props = _ref.props,\n data = _ref.data;\n return h(parent.$page.key, {\n class: [props.custom ? 'custom' : '', data.class, data.staticClass],\n style: data.style\n });\n }\n};",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/79deedb9887d7fc9b3cec6af547660df.json b/node_modules/vuepress/node_modules/.cache/vuepress/79deedb9887d7fc9b3cec6af547660df.json new file mode 100644 index 00000000..3ebfc28d --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/79deedb9887d7fc9b3cec6af547660df.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/manual/introduction.md?vue&type=template&id=e9b9111a&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/manual/introduction.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"manual\"><a class=\"header-anchor\" href=\"#manual\" aria-hidden=\"true\">#</a> Manual</h1>\n<p>[TODO]</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/7a65895b160f030128f1cd4e1fafb328.json b/node_modules/vuepress/node_modules/.cache/vuepress/7a65895b160f030128f1cd4e1fafb328.json new file mode 100644 index 00000000..a84dc0a2 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/7a65895b160f030128f1cd4e1fafb328.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/manual/index.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/manual/index.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./index.md?vue&type=template&id=6a456338&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n \"2f2b0d3c\"\n \n)\n\ncomponent.options.__file = \"index.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/7aa3f8ca9aceca241987c8f4337d0527.json b/node_modules/vuepress/node_modules/.cache/vuepress/7aa3f8ca9aceca241987c8f4337d0527.json new file mode 100644 index 00000000..349f012b --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/7aa3f8ca9aceca241987c8f4337d0527.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue?vue&type=template&id=ba85aa8c&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div\n class=\"dropdown-wrapper\"\n :class=\"{ open }\"\n>\n <a\n class=\"dropdown-title\"\n @click=\"toggle\"\n >\n <span class=\"title\">{{ item.text }}</span>\n <span\n class=\"arrow\"\n :class=\"open ? 'down' : 'right'\"\n ></span>\n </a>\n\n <DropdownTransition>\n <ul\n class=\"nav-dropdown\"\n v-show=\"open\"\n >\n <li\n class=\"dropdown-item\"\n :key=\"subItem.link || index\"\n v-for=\"(subItem, index) in item.items\"\n >\n <h4 v-if=\"subItem.type === 'links'\">{{ subItem.text }}</h4>\n\n <ul\n class=\"dropdown-subitem-wrapper\"\n v-if=\"subItem.type === 'links'\"\n >\n <li\n class=\"dropdown-subitem\"\n :key=\"childSubItem.link\"\n v-for=\"childSubItem in subItem.items\"\n >\n <NavLink :item=\"childSubItem\"/>\n </li>\n </ul>\n\n <NavLink\n v-else\n :item=\"subItem\"\n />\n </li>\n </ul>\n </DropdownTransition>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/7b687030422634ac3c15b563b48b17f1.json b/node_modules/vuepress/node_modules/.cache/vuepress/7b687030422634ac3c15b563b48b17f1.json new file mode 100644 index 00000000..3ef31d66 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/7b687030422634ac3c15b563b48b17f1.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/Badge.vue?vue&type=style&index=0&id=099ab69c&lang=stylus&scoped=true&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/Badge.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/locals.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import '../../default-theme/styles/config.styl'\n\n.badge\n display inline-block\n font-size 14px\n height 18px\n line-height 18px\n border-radius 3px\n padding 0 6px\n color white\n margin-right 5px\n background-color #42b983\n &.middle\n vertical-align middle\n &.top\n vertical-align top\n &.tip, &.green\n background-color #42b983\n &.error\n background-color #DA5961 //#f66\n &.warning, &.warn, &.yellow\n background-color darken(#ffe564, 35%)\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/7b97fe26ce2a9629d7dde56c2aaaef5b.json b/node_modules/vuepress/node_modules/.cache/vuepress/7b97fe26ce2a9629d7dde56c2aaaef5b.json new file mode 100644 index 00000000..3a149e4f --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/7b97fe26ce2a9629d7dde56c2aaaef5b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue?vue&type=template&id=7eb32c3c&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page\"},[_vm._t(\"top\"),_vm._v(\" \"),_c('Content',{attrs:{\"custom\":false}}),_vm._v(\" \"),_c('div',{staticClass:\"page-edit\"},[(_vm.editLink)?_c('div',{staticClass:\"edit-link\"},[_c('a',{attrs:{\"href\":_vm.editLink,\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(_vm._s(_vm.editLinkText))]),_vm._v(\" \"),_c('OutboundLink')],1):_vm._e(),_vm._v(\" \"),(_vm.lastUpdated)?_c('div',{staticClass:\"last-updated\"},[_c('span',{staticClass:\"prefix\"},[_vm._v(_vm._s(_vm.lastUpdatedText)+\": \")]),_vm._v(\" \"),_c('span',{staticClass:\"time\"},[_vm._v(_vm._s(_vm.lastUpdated))])]):_vm._e()]),_vm._v(\" \"),(_vm.prev || _vm.next)?_c('div',{staticClass:\"page-nav\"},[_c('p',{staticClass:\"inner\"},[(_vm.prev)?_c('span',{staticClass:\"prev\"},[_vm._v(\"\\n ←\\n \"),(_vm.prev)?_c('router-link',{staticClass:\"prev\",attrs:{\"to\":_vm.prev.path}},[_vm._v(\"\\n \"+_vm._s(_vm.prev.title || _vm.prev.path)+\"\\n \")]):_vm._e()],1):_vm._e(),_vm._v(\" \"),(_vm.next)?_c('span',{staticClass:\"next\"},[(_vm.next)?_c('router-link',{attrs:{\"to\":_vm.next.path}},[_vm._v(\"\\n \"+_vm._s(_vm.next.title || _vm.next.path)+\"\\n \")]):_vm._e(),_vm._v(\"\\n →\\n \")],1):_vm._e()])]):_vm._e(),_vm._v(\" \"),_vm._t(\"bottom\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/7ba60aeeb688512fc3688090436af9f4.json b/node_modules/vuepress/node_modules/.cache/vuepress/7ba60aeeb688512fc3688090436af9f4.json new file mode 100644 index 00000000..e7d213e7 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/7ba60aeeb688512fc3688090436af9f4.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexport default {\n props: {\n updateEvent: {\n type: Object,\n default: null\n }\n },\n\n computed: {\n popupConfig () {\n for (const config of [this.$themeLocaleConfig, this.$site.themeConfig]) {\n const sw = config.serviceWorker\n if (sw && sw.updatePopup) {\n return typeof sw.updatePopup === 'object' ? sw.updatePopup : {}\n }\n }\n return null\n },\n\n enabled () {\n return Boolean(this.popupConfig && this.updateEvent)\n },\n\n message () {\n const c = this.popupConfig\n return (c && c.message) || 'New content is available.'\n },\n\n buttonText () {\n const c = this.popupConfig\n return (c && c.buttonText) || 'Refresh'\n }\n },\n\n methods: {\n reload () {\n if (this.updateEvent) {\n this.updateEvent.skipWaiting().then(() => {\n location.reload(true)\n })\n this.updateEvent = null\n }\n }\n }\n}\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/7c419de5b132c66f48150048aa4af36c.json b/node_modules/vuepress/node_modules/.cache/vuepress/7c419de5b132c66f48150048aa4af36c.json new file mode 100644 index 00000000..cfb02234 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/7c419de5b132c66f48150048aa4af36c.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport { resolvePage, normalize, outboundRE, endingSlashRE } from './util'\n\nexport default {\n props: ['sidebarItems'],\n\n computed: {\n lastUpdated () {\n if (this.$page.lastUpdated) {\n return new Date(this.$page.lastUpdated).toLocaleString(this.$lang)\n }\n },\n\n lastUpdatedText () {\n if (typeof this.$themeLocaleConfig.lastUpdated === 'string') {\n return this.$themeLocaleConfig.lastUpdated\n }\n if (typeof this.$site.themeConfig.lastUpdated === 'string') {\n return this.$site.themeConfig.lastUpdated\n }\n return 'Last Updated'\n },\n\n prev () {\n const prev = this.$page.frontmatter.prev\n if (prev === false) {\n return\n } else if (prev) {\n return resolvePage(this.$site.pages, prev, this.$route.path)\n } else {\n return resolvePrev(this.$page, this.sidebarItems)\n }\n },\n\n next () {\n const next = this.$page.frontmatter.next\n if (next === false) {\n return\n } else if (next) {\n return resolvePage(this.$site.pages, next, this.$route.path)\n } else {\n return resolveNext(this.$page, this.sidebarItems)\n }\n },\n\n editLink () {\n if (this.$page.frontmatter.editLink === false) {\n return\n }\n const {\n repo,\n editLinks,\n docsDir = '',\n docsBranch = 'master',\n docsRepo = repo\n } = this.$site.themeConfig\n\n let path = normalize(this.$page.path)\n if (endingSlashRE.test(path)) {\n path += 'README.md'\n } else {\n path += '.md'\n }\n if (docsRepo && editLinks) {\n return this.createEditLink(repo, docsRepo, docsDir, docsBranch, path)\n }\n },\n\n editLinkText () {\n return (\n this.$themeLocaleConfig.editLinkText ||\n this.$site.themeConfig.editLinkText ||\n `Edit this page`\n )\n }\n },\n\n methods: {\n createEditLink (repo, docsRepo, docsDir, docsBranch, path) {\n const bitbucket = /bitbucket.org/\n if (bitbucket.test(repo)) {\n const base = outboundRE.test(docsRepo)\n ? docsRepo\n : repo\n return (\n base.replace(endingSlashRE, '') +\n `/${docsBranch}` +\n (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') +\n path +\n `?mode=edit&spa=0&at=${docsBranch}&fileviewer=file-view-default`\n )\n }\n\n const base = outboundRE.test(docsRepo)\n ? docsRepo\n : `https://github.com/${docsRepo}`\n\n return (\n base.replace(endingSlashRE, '') +\n `/edit/${docsBranch}` +\n (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') +\n path\n )\n }\n }\n}\n\nfunction resolvePrev (page, items) {\n return find(page, items, -1)\n}\n\nfunction resolveNext (page, items) {\n return find(page, items, 1)\n}\n\nfunction find (page, items, offset) {\n const res = []\n items.forEach(item => {\n if (item.type === 'group') {\n res.push(...item.children || [])\n } else {\n res.push(item)\n }\n })\n for (let i = 0; i < res.length; i++) {\n const cur = res[i]\n if (cur.type === 'page' && cur.path === page.path) {\n return res[i + offset]\n }\n }\n}\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/7d027db0a3aa8e4d98aea9cbaceb837a.json b/node_modules/vuepress/node_modules/.cache/vuepress/7d027db0a3aa8e4d98aea9cbaceb837a.json new file mode 100644 index 00000000..9651729a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/7d027db0a3aa8e4d98aea9cbaceb837a.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport NavLink from './NavLink.vue';\nexport default {\n components: {\n NavLink: NavLink\n },\n computed: {\n data: function data() {\n return this.$page.frontmatter;\n },\n actionLink: function actionLink() {\n return {\n link: this.data.actionLink,\n text: this.data.actionText\n };\n }\n }\n};",{"version":3,"sources":["node_modules/vuepress/lib/default-theme/Home.vue"],"names":["NavLink","components","computed","data","$page","frontmatter","actionLink","link","text","actionText"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,OAAOA,OAAP,MAAoB,eAApB;AAEA,eAAe;AACbC,cAAY;AAAED;AAAF,GADC;AAGbE,YAAU;AACRC,QADQ,kBACA;AACN,aAAO,KAAKC,KAAL,CAAWC,WAAlB;AACD,KAHO;AAKRC,cALQ,wBAKM;AACZ,aAAO;AACLC,cAAM,KAAKJ,IAAL,CAAUG,UADX;AAELE,cAAM,KAAKL,IAAL,CAAUM;AAFX,OAAP;AAID;AAVO;AAHG,CAAf","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport NavLink from './NavLink.vue'\n\nexport default {\n components: { NavLink },\n\n computed: {\n data () {\n return this.$page.frontmatter\n },\n\n actionLink () {\n return {\n link: this.data.actionLink,\n text: this.data.actionText\n }\n }\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/7d6a08aca5692bf24620575e04466060.json b/node_modules/vuepress/node_modules/.cache/vuepress/7d6a08aca5692bf24620575e04466060.json new file mode 100644 index 00000000..b5982a4d --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/7d6a08aca5692bf24620575e04466060.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue?vue&type=template&id=2a2a1355&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"search-box\"},[_c('input',{class:{ 'focused': _vm.focused },attrs:{\"aria-label\":\"Search\",\"autocomplete\":\"off\",\"spellcheck\":\"false\"},domProps:{\"value\":_vm.query},on:{\"input\":function($event){_vm.query = $event.target.value},\"focus\":function($event){_vm.focused = true},\"blur\":function($event){_vm.focused = false},\"keyup\":[function($event){if(!('button' in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }_vm.go(_vm.focusIndex)},function($event){if(!('button' in $event)&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }return _vm.onUp($event)},function($event){if(!('button' in $event)&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }return _vm.onDown($event)}]}}),_vm._v(\" \"),(_vm.showSuggestions)?_c('ul',{staticClass:\"suggestions\",class:{ 'align-right': _vm.alignRight },on:{\"mouseleave\":_vm.unfocus}},_vm._l((_vm.suggestions),function(s,i){return _c('li',{staticClass:\"suggestion\",class:{ focused: i === _vm.focusIndex },on:{\"mousedown\":function($event){_vm.go(i)},\"mouseenter\":function($event){_vm.focus(i)}}},[_c('a',{attrs:{\"href\":s.path},on:{\"click\":function($event){$event.preventDefault();}}},[_c('span',{staticClass:\"page-title\"},[_vm._v(_vm._s(s.title || s.path))]),_vm._v(\" \"),(s.header)?_c('span',{staticClass:\"header\"},[_vm._v(\"> \"+_vm._s(s.header.title))]):_vm._e()])])})):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/7d867dd2fdcedf02f4179283aca46f11.json b/node_modules/vuepress/node_modules/.cache/vuepress/7d867dd2fdcedf02f4179283aca46f11.json new file mode 100644 index 00000000..61447d1f --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/7d867dd2fdcedf02f4179283aca46f11.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport NavLink from './NavLink.vue';\nimport DropdownTransition from './DropdownTransition.vue';\nexport default {\n components: {\n NavLink: NavLink,\n DropdownTransition: DropdownTransition\n },\n data: function data() {\n return {\n open: false\n };\n },\n props: {\n item: {\n required: true\n }\n },\n methods: {\n toggle: function toggle() {\n this.open = !this.open;\n }\n }\n};",{"version":3,"sources":["DropdownLink.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,OAAA,OAAA,MAAA,eAAA;AACA,OAAA,kBAAA,MAAA,0BAAA;AAEA,eAAA;AACA,cAAA;AAAA,oBAAA;AAAA;AAAA,GADA;AAGA,MAHA,kBAGA;AACA,WAAA;AACA,YAAA;AADA,KAAA;AAGA,GAPA;AASA,SAAA;AACA,UAAA;AACA,gBAAA;AADA;AADA,GATA;AAeA,WAAA;AACA,UADA,oBACA;AACA,WAAA,IAAA,GAAA,CAAA,KAAA,IAAA;AACA;AAHA;AAfA,CAAA","sourcesContent":["<template>\n <div\n class=\"dropdown-wrapper\"\n :class=\"{ open }\"\n >\n <a\n class=\"dropdown-title\"\n @click=\"toggle\"\n >\n <span class=\"title\">{{ item.text }}</span>\n <span\n class=\"arrow\"\n :class=\"open ? 'down' : 'right'\"\n ></span>\n </a>\n\n <DropdownTransition>\n <ul\n class=\"nav-dropdown\"\n v-show=\"open\"\n >\n <li\n class=\"dropdown-item\"\n :key=\"subItem.link || index\"\n v-for=\"(subItem, index) in item.items\"\n >\n <h4 v-if=\"subItem.type === 'links'\">{{ subItem.text }}</h4>\n\n <ul\n class=\"dropdown-subitem-wrapper\"\n v-if=\"subItem.type === 'links'\"\n >\n <li\n class=\"dropdown-subitem\"\n :key=\"childSubItem.link\"\n v-for=\"childSubItem in subItem.items\"\n >\n <NavLink :item=\"childSubItem\"/>\n </li>\n </ul>\n\n <NavLink\n v-else\n :item=\"subItem\"\n />\n </li>\n </ul>\n </DropdownTransition>\n </div>\n</template>\n\n<script>\nimport NavLink from './NavLink.vue'\nimport DropdownTransition from './DropdownTransition.vue'\n\nexport default {\n components: { NavLink, DropdownTransition },\n\n data () {\n return {\n open: false\n }\n },\n\n props: {\n item: {\n required: true\n }\n },\n\n methods: {\n toggle () {\n this.open = !this.open\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.dropdown-wrapper\n cursor pointer\n .dropdown-title\n display block\n &:hover\n border-color transparent\n .arrow\n vertical-align middle\n margin-top -1px\n margin-left 0.4rem\n .nav-dropdown\n .dropdown-item\n color inherit\n line-height 1.7rem\n h4\n margin 0.45rem 0 0\n border-top 1px solid #eee\n padding 0.45rem 1.5rem 0 1.25rem\n .dropdown-subitem-wrapper\n padding 0\n list-style none\n .dropdown-subitem\n font-size 0.9em\n a\n display block\n line-height 1.7rem\n position relative\n border-bottom none\n font-weight 400\n margin-bottom 0\n padding 0 1.5rem 0 1.25rem\n &:hover\n color $accentColor\n &.router-link-active\n color $accentColor\n &::after\n content \"\"\n width 0\n height 0\n border-left 5px solid $accentColor\n border-top 3px solid transparent\n border-bottom 3px solid transparent\n position absolute\n top calc(50% - 2px)\n left 9px\n &:first-child h4\n margin-top 0\n padding-top 0\n border-top 0\n\n@media (max-width: $MQMobile)\n .dropdown-wrapper\n &.open .dropdown-title\n margin-bottom 0.5rem\n .nav-dropdown\n transition height .1s ease-out\n overflow hidden\n .dropdown-item\n h4\n border-top 0\n margin-top 0\n padding-top 0\n h4, & > a\n font-size 15px\n line-height 2rem\n .dropdown-subitem\n font-size 14px\n padding-left 1rem\n\n@media (min-width: $MQMobile)\n .dropdown-wrapper\n height 1.8rem\n &:hover .nav-dropdown\n // override the inline style.\n display block !important\n .dropdown-title .arrow\n // make the arrow always down at desktop\n border-left 4px solid transparent\n border-right 4px solid transparent\n border-top 6px solid $arrowBgColor\n border-bottom 0\n .nav-dropdown\n display none\n // Avoid height shaked by clicking\n height auto !important\n box-sizing border-box;\n max-height calc(100vh - 2.7rem)\n overflow-y auto\n position absolute\n top 100%\n right 0\n background-color #fff\n padding 0.6rem 0\n border 1px solid #ddd\n border-bottom-color #ccc\n text-align left\n border-radius 0.25rem\n white-space nowrap\n margin 0\n</style>\n"],"sourceRoot":"node_modules/vuepress/lib/default-theme"}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/7d9c788ff717c3589ab7562cd940a9ea.json b/node_modules/vuepress/node_modules/.cache/vuepress/7d9c788ff717c3589ab7562cd940a9ea.json new file mode 100644 index 00000000..121c85f2 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/7d9c788ff717c3589ab7562cd940a9ea.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/zh/guide/faq.md","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/zh/guide/faq.md","mtime":1541582276720},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./faq.md?vue&type=template&id=69c46542&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('69c46542', component.options)\n } else {\n api.reload('69c46542', component.options)\n }\n module.hot.accept(\"./faq.md?vue&type=template&id=69c46542&\", function () {\n api.rerender('69c46542', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/zh/guide/faq.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/7dd216c8c68cb0abafb7f8b5b0cf6cb4.json b/node_modules/vuepress/node_modules/.cache/vuepress/7dd216c8c68cb0abafb7f8b5b0cf6cb4.json new file mode 100644 index 00000000..617d7bbe --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/7dd216c8c68cb0abafb7f8b5b0cf6cb4.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/README.md?vue&type=template&id=48a1fb61&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/README.md","mtime":1541513043653},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._ssrNode(\"<div class=\\\"language-c extra-class\\\"><pre class=\\\"language-c\\\"><code><span class=\\\"token macro property\\\">#<span class=\\\"token directive keyword\\\">include</span> <span class=\\\"token string\\\">"tbox/tbox.h"</span></span>\\n\\n<span class=\\\"token keyword\\\">int</span> <span class=\\\"token function\\\">main</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token keyword\\\">int</span> argc<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token keyword\\\">char</span><span class=\\\"token operator\\\">*</span><span class=\\\"token operator\\\">*</span> argv<span class=\\\"token punctuation\\\">)</span>\\n<span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// init tbox</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span><span class=\\\"token operator\\\">!</span><span class=\\\"token function\\\">tb_init</span><span class=\\\"token punctuation\\\">(</span>tb_null<span class=\\\"token punctuation\\\">,</span> tb_null<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span> <span class=\\\"token keyword\\\">return</span> <span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// init vector</span>\\n tb_vector_ref_t vector <span class=\\\"token operator\\\">=</span> <span class=\\\"token function\\\">tb_vector_init</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">,</span> <span class=\\\"token function\\\">tb_element_cstr</span><span class=\\\"token punctuation\\\">(</span>tb_true<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// insert item</span>\\n <span class=\\\"token function\\\">tb_vector_insert_tail</span><span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token string\\\">"hello"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token function\\\">tb_vector_insert_tail</span><span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token string\\\">"tbox"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// dump all items</span>\\n tb_for_all <span class=\\\"token punctuation\\\">(</span>tb_char_t <span class=\\\"token keyword\\\">const</span><span class=\\\"token operator\\\">*</span><span class=\\\"token punctuation\\\">,</span> cstr<span class=\\\"token punctuation\\\">,</span> vector<span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// trace</span>\\n <span class=\\\"token function\\\">tb_trace_i</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token string\\\">"%s"</span><span class=\\\"token punctuation\\\">,</span> cstr<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n\\n <span class=\\\"token comment\\\">// exit vector</span>\\n <span class=\\\"token function\\\">tb_vector_exit</span><span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n\\n <span class=\\\"token comment\\\">// exit tbox</span>\\n <span class=\\\"token function\\\">tb_exit</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n<span class=\\\"token punctuation\\\">}</span>\\n</code></pre></div>\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/7e5b4b4fa9dd3068af64f7bb98ee4a40.json b/node_modules/vuepress/node_modules/.cache/vuepress/7e5b4b4fa9dd3068af64f7bb98ee4a40.json new file mode 100644 index 00000000..70640ec0 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/7e5b4b4fa9dd3068af64f7bb98ee4a40.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/Badge.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/Badge.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["export default {\n functional: true,\n props: {\n type: {\n type: String,\n default: 'tip'\n },\n text: String,\n vertical: {\n type: String,\n default: 'top'\n }\n },\n render: function render(h, _ref) {\n var props = _ref.props,\n slots = _ref.slots;\n return h('span', {\n class: ['badge', props.type, props.vertical]\n }, props.text || slots().default);\n }\n};",{"version":3,"sources":["node_modules/vuepress/lib/app/components/Badge.vue"],"names":["functional","props","type","String","default","text","vertical","render","h","slots","class"],"mappings":"AACA,eAAe;AACbA,cAAY,IADC;AAEbC,SAAO;AACLC,UAAM;AACJA,YAAMC,MADF;AAEJC,eAAS;AAFL,KADD;AAKLC,UAAMF,MALD;AAMLG,cAAU;AACRJ,YAAMC,MADE;AAERC,eAAS;AAFD;AANL,GAFM;AAabG,QAba,kBAaLC,CAbK,QAagB;AAAA,QAAhBP,KAAgB,QAAhBA,KAAgB;AAAA,QAATQ,KAAS,QAATA,KAAS;AAC3B,WAAOD,EAAE,MAAF,EAAU;AACfE,aAAO,CAAC,OAAD,EAAUT,MAAMC,IAAhB,EAAsBD,MAAMK,QAA5B;AADQ,KAAV,EAEJL,MAAMI,IAAN,IAAcI,QAAQL,OAFlB,CAAP;AAGD;AAjBY,CAAf","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["\nexport default {\n functional: true,\n props: {\n type: {\n type: String,\n default: 'tip'\n },\n text: String,\n vertical: {\n type: String,\n default: 'top'\n }\n },\n render (h, { props, slots }) {\n return h('span', {\n class: ['badge', props.type, props.vertical]\n }, props.text || slots().default)\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/7f5cc64bd88d03c85fc2dad92b40dd05.json b/node_modules/vuepress/node_modules/.cache/vuepress/7f5cc64bd88d03c85fc2dad92b40dd05.json new file mode 100644 index 00000000..72159295 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/7f5cc64bd88d03c85fc2dad92b40dd05.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Layout.vue?vue&type=template&id=25045c01&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Layout.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div\n class=\"theme-container\"\n :class=\"pageClasses\"\n @touchstart=\"onTouchStart\"\n @touchend=\"onTouchEnd\"\n>\n <Navbar\n v-if=\"shouldShowNavbar\"\n @toggle-sidebar=\"toggleSidebar\"\n />\n\n <div\n class=\"sidebar-mask\"\n @click=\"toggleSidebar(false)\"\n ></div>\n\n <Sidebar\n :items=\"sidebarItems\"\n @toggle-sidebar=\"toggleSidebar\"\n >\n <slot\n name=\"sidebar-top\"\n slot=\"top\"\n />\n <slot\n name=\"sidebar-bottom\"\n slot=\"bottom\"\n />\n </Sidebar>\n\n <div\n class=\"custom-layout\"\n v-if=\"$page.frontmatter.layout\"\n >\n <component :is=\"$page.frontmatter.layout\"/>\n </div>\n\n <Home v-else-if=\"$page.frontmatter.home\"/>\n\n <Page\n v-else\n :sidebar-items=\"sidebarItems\"\n >\n <slot\n name=\"page-top\"\n slot=\"top\"\n />\n <slot\n name=\"page-bottom\"\n slot=\"bottom\"\n />\n </Page>\n\n <SWUpdatePopup :updateEvent=\"swUpdateEvent\"/>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/7fb32ef85d4747d370c388cc07ca3ed0.json b/node_modules/vuepress/node_modules/.cache/vuepress/7fb32ef85d4747d370c388cc07ca3ed0.json new file mode 100644 index 00000000..0331eed2 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/7fb32ef85d4747d370c388cc07ca3ed0.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/guide/introduction.md","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/guide/introduction.md","mtime":1541581901760},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./introduction.md?vue&type=template&id=b5b1b492&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('b5b1b492', component.options)\n } else {\n api.reload('b5b1b492', component.options)\n }\n module.hot.accept(\"./introduction.md?vue&type=template&id=b5b1b492&\", function () {\n api.rerender('b5b1b492', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/guide/introduction.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/7ff851f715b69c2861cc7a3c69dbef07.json b/node_modules/vuepress/node_modules/.cache/vuepress/7ff851f715b69c2861cc7a3c69dbef07.json new file mode 100644 index 00000000..07a60cc7 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/7ff851f715b69c2861cc7a3c69dbef07.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/manual/index.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/manual/index.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./index.md?vue&type=template&id=a7d8d386&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n \"fd7e92ca\"\n \n)\n\ncomponent.options.__file = \"index.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/802073b15142ee5d59b5a5597c5a2539.json b/node_modules/vuepress/node_modules/.cache/vuepress/802073b15142ee5d59b5a5597c5a2539.json new file mode 100644 index 00000000..7d8571d2 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/802073b15142ee5d59b5a5597c5a2539.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./DropdownTransition.vue?vue&type=template&id=61431e6a&\"\nimport script from \"./DropdownTransition.vue?vue&type=script&lang=js&\"\nexport * from \"./DropdownTransition.vue?vue&type=script&lang=js&\"\nfunction injectStyles (context) {\n \n var style0 = require(\"./DropdownTransition.vue?vue&type=style&index=0&lang=stylus&\")\nif (style0.__inject__) style0.__inject__(context)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n \"594bc4c2\"\n \n)\n\ncomponent.options.__file = \"DropdownTransition.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/803bd7246b23eb78e96653739d86bd12.json b/node_modules/vuepress/node_modules/.cache/vuepress/803bd7246b23eb78e96653739d86bd12.json new file mode 100644 index 00000000..7ac14b17 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/803bd7246b23eb78e96653739d86bd12.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexport default {\n props: {\n updateEvent: {\n type: Object,\n default: null\n }\n },\n\n computed: {\n popupConfig () {\n for (const config of [this.$themeLocaleConfig, this.$site.themeConfig]) {\n const sw = config.serviceWorker\n if (sw && sw.updatePopup) {\n return typeof sw.updatePopup === 'object' ? sw.updatePopup : {}\n }\n }\n return null\n },\n\n enabled () {\n return Boolean(this.popupConfig && this.updateEvent)\n },\n\n message () {\n const c = this.popupConfig\n return (c && c.message) || 'New content is available.'\n },\n\n buttonText () {\n const c = this.popupConfig\n return (c && c.buttonText) || 'Refresh'\n }\n },\n\n methods: {\n reload () {\n if (this.updateEvent) {\n this.updateEvent.skipWaiting().then(() => {\n location.reload(true)\n })\n this.updateEvent = null\n }\n }\n }\n}\n",{"version":3,"sources":["SWUpdatePopup.vue"],"names":[],"mappings":";;;;;;;;;;;;;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"SWUpdatePopup.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <transition name=\"sw-update-popup\">\n <div\n v-if=\"enabled\"\n class=\"sw-update-popup\"\n >\n {{message}}<br>\n <button @click=\"reload\">{{buttonText}}</button>\n </div>\n </transition>\n</template>\n\n<script>\nexport default {\n props: {\n updateEvent: {\n type: Object,\n default: null\n }\n },\n\n computed: {\n popupConfig () {\n for (const config of [this.$themeLocaleConfig, this.$site.themeConfig]) {\n const sw = config.serviceWorker\n if (sw && sw.updatePopup) {\n return typeof sw.updatePopup === 'object' ? sw.updatePopup : {}\n }\n }\n return null\n },\n\n enabled () {\n return Boolean(this.popupConfig && this.updateEvent)\n },\n\n message () {\n const c = this.popupConfig\n return (c && c.message) || 'New content is available.'\n },\n\n buttonText () {\n const c = this.popupConfig\n return (c && c.buttonText) || 'Refresh'\n }\n },\n\n methods: {\n reload () {\n if (this.updateEvent) {\n this.updateEvent.skipWaiting().then(() => {\n location.reload(true)\n })\n this.updateEvent = null\n }\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.sw-update-popup\n position fixed\n right 1em\n bottom 1em\n padding 1em\n border 1px solid $accentColor\n border-radius 3px\n background #fff\n box-shadow 0 4px 16px rgba(0, 0, 0, 0.5)\n text-align center\n\n button\n margin-top 0.5em\n padding 0.25em 2em\n\n.sw-update-popup-enter-active, .sw-update-popup-leave-active\n transition opacity 0.3s, transform 0.3s\n\n.sw-update-popup-enter, .sw-update-popup-leave-to\n opacity 0\n transform translate(0, 50%) scale(0.5)\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/80df48ef89c927eb6a9a50655545dfdd.json b/node_modules/vuepress/node_modules/.cache/vuepress/80df48ef89c927eb6a9a50655545dfdd.json new file mode 100644 index 00000000..05f09040 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/80df48ef89c927eb6a9a50655545dfdd.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/manual.md?vue&type=template&id=9258e588&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/manual.md","mtime":1489213929000},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/823e67918e979c22ad237ae9a5050bf1.json b/node_modules/vuepress/node_modules/.cache/vuepress/823e67918e979c22ad237ae9a5050bf1.json new file mode 100644 index 00000000..a90b3967 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/823e67918e979c22ad237ae9a5050bf1.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.sidebar-button\n display none\n width 1.25rem\n height 1.25rem\n position absolute\n padding 0.6rem\n top 0.6rem\n left 1rem\n .icon\n display block\n width 1.25rem\n height 1.25rem\n\n@media (max-width: $MQMobile)\n .sidebar-button\n display block\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/82d4a05b1190f01d378095e8f6a1a13a.json b/node_modules/vuepress/node_modules/.cache/vuepress/82d4a05b1190f01d378095e8f6a1a13a.json new file mode 100644 index 00000000..bcd61b03 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/82d4a05b1190f01d378095e8f6a1a13a.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Home.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Home.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport NavLink from './NavLink.vue';\nexport default {\n components: {\n NavLink: NavLink\n },\n computed: {\n data: function data() {\n return this.$page.frontmatter;\n },\n actionLink: function actionLink() {\n return {\n link: this.data.actionLink,\n text: this.data.actionText\n };\n }\n }\n};",{"version":3,"sources":["Home.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,OAAA,OAAA,MAAA,eAAA;AAEA,eAAA;AACA,cAAA;AAAA;AAAA,GADA;AAGA,YAAA;AACA,QADA,kBACA;AACA,aAAA,KAAA,KAAA,CAAA,WAAA;AACA,KAHA;AAKA,cALA,wBAKA;AACA,aAAA;AACA,cAAA,KAAA,IAAA,CAAA,UADA;AAEA,cAAA,KAAA,IAAA,CAAA;AAFA,OAAA;AAIA;AAVA;AAHA,CAAA","sourcesContent":["<template>\n <div class=\"home\">\n <div class=\"hero\">\n <img\n v-if=\"data.heroImage\"\n :src=\"$withBase(data.heroImage)\"\n alt=\"hero\"\n >\n\n <h1>{{ data.heroText || $title || 'Hello' }}</h1>\n\n <p class=\"description\">\n {{ data.tagline || $description || 'Welcome to your VuePress site' }}\n </p>\n\n <p\n class=\"action\"\n v-if=\"data.actionText && data.actionLink\"\n >\n <NavLink\n class=\"action-button\"\n :item=\"actionLink\"\n />\n </p>\n </div>\n\n <div\n class=\"features\"\n v-if=\"data.features && data.features.length\"\n >\n <div\n class=\"feature\"\n v-for=\"(feature, index) in data.features\"\n :key=\"index\"\n >\n <h2>{{ feature.title }}</h2>\n <p>{{ feature.details }}</p>\n </div>\n </div>\n\n <Content custom/>\n\n <div\n class=\"footer\"\n v-if=\"data.footer\"\n >\n {{ data.footer }}\n </div>\n </div>\n</template>\n\n<script>\nimport NavLink from './NavLink.vue'\n\nexport default {\n components: { NavLink },\n\n computed: {\n data () {\n return this.$page.frontmatter\n },\n\n actionLink () {\n return {\n link: this.data.actionLink,\n text: this.data.actionText\n }\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.home\n padding $navbarHeight 2rem 0\n max-width 960px\n margin 0px auto\n .hero\n text-align center\n img\n max-height 280px\n display block\n margin 3rem auto 1.5rem\n h1\n font-size 3rem\n h1, .description, .action\n margin 1.8rem auto\n .description\n max-width 35rem\n font-size 1.6rem\n line-height 1.3\n color lighten($textColor, 40%)\n .action-button\n display inline-block\n font-size 1.2rem\n color #fff\n background-color $accentColor\n padding 0.8rem 1.6rem\n border-radius 4px\n transition background-color .1s ease\n box-sizing border-box\n border-bottom 1px solid darken($accentColor, 10%)\n &:hover\n background-color lighten($accentColor, 10%)\n .features\n border-top 1px solid $borderColor\n padding 1.2rem 0\n margin-top 2.5rem\n display flex\n flex-wrap wrap\n align-items flex-start\n align-content stretch\n justify-content space-between\n .feature\n flex-grow 1\n flex-basis 30%\n max-width 30%\n h2\n font-size 1.4rem\n font-weight 500\n border-bottom none\n padding-bottom 0\n color lighten($textColor, 10%)\n p\n color lighten($textColor, 25%)\n .footer\n padding 2.5rem\n border-top 1px solid $borderColor\n text-align center\n color lighten($textColor, 25%)\n\n@media (max-width: $MQMobile)\n .home\n .features\n flex-direction column\n .feature\n max-width 100%\n padding 0 2.5rem\n\n@media (max-width: $MQMobileNarrow)\n .home\n padding-left 1.5rem\n padding-right 1.5rem\n .hero\n img\n max-height 210px\n margin 2rem auto 1.2rem\n h1\n font-size 2rem\n h1, .description, .action\n margin 1.2rem auto\n .description\n font-size 1.2rem\n .action-button\n font-size 1rem\n padding 0.6rem 1.2rem\n .feature\n h2\n font-size 1.25rem\n</style>\n"],"sourceRoot":"node_modules/vuepress/lib/default-theme"}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/831a877a4648dfa5fda8d69ef9080588.json b/node_modules/vuepress/node_modules/.cache/vuepress/831a877a4648dfa5fda8d69ef9080588.json new file mode 100644 index 00000000..e1c9d4b2 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/831a877a4648dfa5fda8d69ef9080588.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/manual.md?vue&type=template&id=88d032e4&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/manual.md","mtime":1489213929000},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/834e5a22ce1b2c794fb40ba9f7625101.json b/node_modules/vuepress/node_modules/.cache/vuepress/834e5a22ce1b2c794fb40ba9f7625101.json new file mode 100644 index 00000000..466cd909 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/834e5a22ce1b2c794fb40ba9f7625101.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NotFound.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NotFound.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./NotFound.vue?vue&type=template&id=5c808f81&\"\nimport script from \"./NotFound.vue?vue&type=script&lang=js&\"\nexport * from \"./NotFound.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n \"a47b6af0\"\n \n)\n\ncomponent.options.__file = \"NotFound.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/83762e28ae78e2fe828e008187081d36.json b/node_modules/vuepress/node_modules/.cache/vuepress/83762e28ae78e2fe828e008187081d36.json new file mode 100644 index 00000000..1c3abaa2 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/83762e28ae78e2fe828e008187081d36.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Layout.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Layout.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./Layout.vue?vue&type=template&id=25045c01&\"\nimport script from \"./Layout.vue?vue&type=script&lang=js&\"\nexport * from \"./Layout.vue?vue&type=script&lang=js&\"\nimport style0 from \"prismjs/themes/prism-tomorrow.css?vue&type=style&index=0&lang=css&\"\nimport style1 from \"./styles/theme.styl?vue&type=style&index=1&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('25045c01', component.options)\n } else {\n api.reload('25045c01', component.options)\n }\n module.hot.accept(\"./Layout.vue?vue&type=template&id=25045c01&\", function () {\n api.rerender('25045c01', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/default-theme/Layout.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/83e07f0acbe4e8579cbfbfbedcb819fb.json b/node_modules/vuepress/node_modules/.cache/vuepress/83e07f0acbe4e8579cbfbfbedcb819fb.json new file mode 100644 index 00000000..0d74a392 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/83e07f0acbe4e8579cbfbfbedcb819fb.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/manual/index.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/manual/index.md","mtime":1541492172602},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./index.md?vue&type=template&id=3b83be08&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('3b83be08', component.options)\n } else {\n api.reload('3b83be08', component.options)\n }\n module.hot.accept(\"./index.md?vue&type=template&id=3b83be08&\", function () {\n api.rerender('3b83be08', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/zh/manual/index.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/83f5c6594a180ae73b829fb886c4caf2.json b/node_modules/vuepress/node_modules/.cache/vuepress/83f5c6594a180ae73b829fb886c4caf2.json new file mode 100644 index 00000000..31b3e774 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/83f5c6594a180ae73b829fb886c4caf2.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./Sidebar.vue?vue&type=template&id=247476d6&\"\nimport script from \"./Sidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./Sidebar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Sidebar.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('247476d6', component.options)\n } else {\n api.reload('247476d6', component.options)\n }\n module.hot.accept(\"./Sidebar.vue?vue&type=template&id=247476d6&\", function () {\n api.rerender('247476d6', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/default-theme/Sidebar.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/842cdb1b07525468259860297e474e04.json b/node_modules/vuepress/node_modules/.cache/vuepress/842cdb1b07525468259860297e474e04.json new file mode 100644 index 00000000..378aa288 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/842cdb1b07525468259860297e474e04.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import \"core-js/modules/es6.array.some\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport SidebarGroup from './SidebarGroup.vue';\nimport SidebarLink from './SidebarLink.vue';\nimport NavLinks from './NavLinks.vue';\nimport { isActive as _isActive } from './util';\nexport default {\n components: {\n SidebarGroup: SidebarGroup,\n SidebarLink: SidebarLink,\n NavLinks: NavLinks\n },\n props: ['items'],\n data: function data() {\n return {\n openGroupIndex: 0\n };\n },\n created: function created() {\n this.refreshIndex();\n },\n watch: {\n '$route': function $route() {\n this.refreshIndex();\n }\n },\n methods: {\n refreshIndex: function refreshIndex() {\n var index = resolveOpenGroupIndex(this.$route, this.items);\n\n if (index > -1) {\n this.openGroupIndex = index;\n }\n },\n toggleGroup: function toggleGroup(index) {\n this.openGroupIndex = index === this.openGroupIndex ? -1 : index;\n },\n isActive: function isActive(page) {\n return _isActive(this.$route, page.path);\n }\n }\n};\n\nfunction resolveOpenGroupIndex(route, items) {\n for (var i = 0; i < items.length; i++) {\n var item = items[i];\n\n if (item.type === 'group' && item.children.some(function (c) {\n return _isActive(route, c.path);\n })) {\n return i;\n }\n }\n\n return -1;\n}",{"version":3,"sources":["Sidebar.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAsBA,OAAA,YAAA,MAAA,oBAAA;AACA,OAAA,WAAA,MAAA,mBAAA;AACA,OAAA,QAAA,MAAA,gBAAA;AACA,SAAA,qBAAA,QAAA,QAAA;AAEA,eAAA;AACA,cAAA;AAAA,8BAAA;AAAA,4BAAA;AAAA;AAAA,GADA;AAGA,SAAA,CAAA,OAAA,CAHA;AAKA,MALA,kBAKA;AACA,WAAA;AACA,sBAAA;AADA,KAAA;AAGA,GATA;AAWA,SAXA,qBAWA;AACA,SAAA,YAAA;AACA,GAbA;AAeA,SAAA;AACA,YADA,oBACA;AACA,WAAA,YAAA;AACA;AAHA,GAfA;AAqBA,WAAA;AACA,gBADA,0BACA;AACA,UAAA,QAAA,sBACA,KAAA,MADA,EAEA,KAAA,KAFA,CAAA;;AAIA,UAAA,QAAA,CAAA,CAAA,EAAA;AACA,aAAA,cAAA,GAAA,KAAA;AACA;AACA,KATA;AAWA,eAXA,uBAWA,KAXA,EAWA;AACA,WAAA,cAAA,GAAA,UAAA,KAAA,cAAA,GAAA,CAAA,CAAA,GAAA,KAAA;AACA,KAbA;AAeA,YAfA,oBAeA,IAfA,EAeA;AACA,aAAA,UAAA,KAAA,MAAA,EAAA,KAAA,IAAA,CAAA;AACA;AAjBA;AArBA,CAAA;;AA0CA,SAAA,qBAAA,CAAA,KAAA,EAAA,KAAA,EAAA;AACA,OAAA,IAAA,IAAA,CAAA,EAAA,IAAA,MAAA,MAAA,EAAA,GAAA,EAAA;AACA,QAAA,OAAA,MAAA,CAAA,CAAA;;AACA,QAAA,KAAA,IAAA,KAAA,OAAA,IAAA,KAAA,QAAA,CAAA,IAAA,CAAA;AAAA,aAAA,UAAA,KAAA,EAAA,EAAA,IAAA,CAAA;AAAA,KAAA,CAAA,EAAA;AACA,aAAA,CAAA;AACA;AACA;;AACA,SAAA,CAAA,CAAA;AACA","sourcesContent":["<template>\n <div class=\"sidebar\">\n <NavLinks/>\n <slot name=\"top\"/>\n <ul class=\"sidebar-links\" v-if=\"items.length\">\n <li v-for=\"(item, i) in items\" :key=\"i\">\n <SidebarGroup\n v-if=\"item.type === 'group'\"\n :item=\"item\"\n :first=\"i === 0\"\n :open=\"i === openGroupIndex\"\n :collapsable=\"item.collapsable || item.collapsible\"\n @toggle=\"toggleGroup(i)\"\n />\n <SidebarLink v-else :item=\"item\"/>\n </li>\n </ul>\n <slot name=\"bottom\"/>\n </div>\n</template>\n\n<script>\nimport SidebarGroup from './SidebarGroup.vue'\nimport SidebarLink from './SidebarLink.vue'\nimport NavLinks from './NavLinks.vue'\nimport { isActive } from './util'\n\nexport default {\n components: { SidebarGroup, SidebarLink, NavLinks },\n\n props: ['items'],\n\n data () {\n return {\n openGroupIndex: 0\n }\n },\n\n created () {\n this.refreshIndex()\n },\n\n watch: {\n '$route' () {\n this.refreshIndex()\n }\n },\n\n methods: {\n refreshIndex () {\n const index = resolveOpenGroupIndex(\n this.$route,\n this.items\n )\n if (index > -1) {\n this.openGroupIndex = index\n }\n },\n\n toggleGroup (index) {\n this.openGroupIndex = index === this.openGroupIndex ? -1 : index\n },\n\n isActive (page) {\n return isActive(this.$route, page.path)\n }\n }\n}\n\nfunction resolveOpenGroupIndex (route, items) {\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n if (item.type === 'group' && item.children.some(c => isActive(route, c.path))) {\n return i\n }\n }\n return -1\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.sidebar\n ul\n padding 0\n margin 0\n list-style-type none\n a\n display inline-block\n .nav-links\n display none\n border-bottom 1px solid $borderColor\n padding 0.5rem 0 0.75rem 0\n a\n font-weight 600\n .nav-item, .repo-link\n display block\n line-height 1.25rem\n font-size 1.1em\n padding 0.5rem 0 0.5rem 1.5rem\n .sidebar-links\n padding 1.5rem 0\n\n@media (max-width: $MQMobile)\n .sidebar\n .nav-links\n display block\n .dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active::after\n top calc(1rem - 2px)\n .sidebar-links\n padding 1rem 0\n</style>\n"],"sourceRoot":"node_modules/vuepress/lib/default-theme"}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/843122164d746bf901aaae8b9b7e5c9f.json b/node_modules/vuepress/node_modules/.cache/vuepress/843122164d746bf901aaae8b9b7e5c9f.json new file mode 100644 index 00000000..dc8e176d --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/843122164d746bf901aaae8b9b7e5c9f.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue?vue&type=template&id=4e56f67c&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div\n class=\"dropdown-wrapper\"\n :class=\"{ open }\"\n>\n <a\n class=\"dropdown-title\"\n @click=\"toggle\"\n >\n <span class=\"title\">{{ item.text }}</span>\n <span\n class=\"arrow\"\n :class=\"open ? 'down' : 'right'\"\n ></span>\n </a>\n\n <DropdownTransition>\n <ul\n class=\"nav-dropdown\"\n v-show=\"open\"\n >\n <li\n class=\"dropdown-item\"\n :key=\"subItem.link || index\"\n v-for=\"(subItem, index) in item.items\"\n >\n <h4 v-if=\"subItem.type === 'links'\">{{ subItem.text }}</h4>\n\n <ul\n class=\"dropdown-subitem-wrapper\"\n v-if=\"subItem.type === 'links'\"\n >\n <li\n class=\"dropdown-subitem\"\n :key=\"childSubItem.link\"\n v-for=\"childSubItem in subItem.items\"\n >\n <NavLink :item=\"childSubItem\"/>\n </li>\n </ul>\n\n <NavLink\n v-else\n :item=\"subItem\"\n />\n </li>\n </ul>\n </DropdownTransition>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/84d085212bc06b0050d8bba117f3a1d8.json b/node_modules/vuepress/node_modules/.cache/vuepress/84d085212bc06b0050d8bba117f3a1d8.json new file mode 100644 index 00000000..f4691753 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/84d085212bc06b0050d8bba117f3a1d8.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/locals.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n.icon.outbound\n color #aaa\n display inline-block\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/85b8a82cea39d5028d72f2c4a2ea1078.json b/node_modules/vuepress/node_modules/.cache/vuepress/85b8a82cea39d5028d72f2c4a2ea1078.json new file mode 100644 index 00000000..f2f7e748 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/85b8a82cea39d5028d72f2c4a2ea1078.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/manual/index.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/manual/index.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./index.md?vue&type=template&id=c064eaca&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"index.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/85efb352da3ff7177e6445bb5307a872.json b/node_modules/vuepress/node_modules/.cache/vuepress/85efb352da3ff7177e6445bb5307a872.json new file mode 100644 index 00000000..dab1fc73 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/85efb352da3ff7177e6445bb5307a872.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/root-mixins/updateMeta.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/root-mixins/updateMeta.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import \"core-js/modules/es6.object.keys\";\nimport \"core-js/modules/es6.array.map\";\nimport _toConsumableArray from \"/Users/ruki/projects/personal/tbox-docs/node_modules/@babel/runtime/helpers/builtin/es6/toConsumableArray\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.function.name\";\nimport \"core-js/modules/es6.array.filter\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.iterator\";\nimport \"core-js/modules/es6.string.iterator\";\nimport \"core-js/modules/es6.set\";\nexport default {\n created: function created() {\n if (this.$ssrContext) {\n this.$ssrContext.title = this.$title;\n this.$ssrContext.lang = this.$lang;\n this.$ssrContext.description = this.$page.description || this.$description;\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n // update title / meta tags\n this.currentMetaTags = new Set();\n\n var updateMeta = function updateMeta() {\n document.title = _this.$title;\n document.documentElement.lang = _this.$lang;\n var userMeta = _this.$page.frontmatter.meta || [];\n var meta = userMeta.slice(0);\n var useGlobalDescription = userMeta.filter(function (m) {\n return m.name === 'description';\n }).length === 0; // #665 Avoid duplicate description meta at runtime.\n\n if (useGlobalDescription) {\n meta.push({\n name: 'description',\n content: _this.$description\n });\n } // Including description meta coming from SSR.\n\n\n var descriptionMetas = document.querySelectorAll('meta[name=\"description\"]');\n\n if (descriptionMetas.length) {\n descriptionMetas.forEach(function (m) {\n return _this.currentMetaTags.add(m);\n });\n }\n\n _this.currentMetaTags = new Set(updateMetaTags(meta, _this.currentMetaTags));\n };\n\n this.$watch('$page', updateMeta);\n updateMeta();\n },\n beforeDestroy: function beforeDestroy() {\n updateMetaTags(null, this.currentMetaTags);\n }\n};\n\nfunction updateMetaTags(meta, current) {\n if (current) {\n _toConsumableArray(current).forEach(function (c) {\n document.head.removeChild(c);\n });\n }\n\n if (meta) {\n return meta.map(function (m) {\n var tag = document.createElement('meta');\n Object.keys(m).forEach(function (key) {\n tag.setAttribute(key, m[key]);\n });\n document.head.appendChild(tag);\n return tag;\n });\n }\n}",{"version":3,"sources":["node_modules/vuepress/lib/app/root-mixins/updateMeta.js"],"names":["created","$ssrContext","title","$title","lang","$lang","description","$page","$description","mounted","currentMetaTags","Set","updateMeta","document","documentElement","userMeta","frontmatter","meta","slice","useGlobalDescription","filter","m","name","length","push","content","descriptionMetas","querySelectorAll","forEach","add","updateMetaTags","$watch","beforeDestroy","current","head","removeChild","c","map","tag","createElement","Object","keys","setAttribute","key","appendChild"],"mappings":";;;;;;;;;;AAAA,eAAe;AACbA,SADa,qBACF;AACT,QAAI,KAAKC,WAAT,EAAsB;AACpB,WAAKA,WAAL,CAAiBC,KAAjB,GAAyB,KAAKC,MAA9B;AACA,WAAKF,WAAL,CAAiBG,IAAjB,GAAwB,KAAKC,KAA7B;AACA,WAAKJ,WAAL,CAAiBK,WAAjB,GAA+B,KAAKC,KAAL,CAAWD,WAAX,IAA0B,KAAKE,YAA9D;AACD;AACF,GAPY;AASbC,SATa,qBASF;AAAA;;AACT;AACA,SAAKC,eAAL,GAAuB,IAAIC,GAAJ,EAAvB;;AAEA,QAAMC,aAAa,SAAbA,UAAa,GAAM;AACvBC,eAASX,KAAT,GAAiB,MAAKC,MAAtB;AACAU,eAASC,eAAT,CAAyBV,IAAzB,GAAgC,MAAKC,KAArC;AACA,UAAMU,WAAW,MAAKR,KAAL,CAAWS,WAAX,CAAuBC,IAAvB,IAA+B,EAAhD;AACA,UAAMA,OAAOF,SAASG,KAAT,CAAe,CAAf,CAAb;AACA,UAAMC,uBAAuBJ,SAASK,MAAT,CAAgB;AAAA,eAAKC,EAAEC,IAAF,KAAW,aAAhB;AAAA,OAAhB,EAA+CC,MAA/C,KAA0D,CAAvF,CALuB,CAOvB;;AACA,UAAIJ,oBAAJ,EAA0B;AACxBF,aAAKO,IAAL,CAAU;AAAEF,gBAAM,aAAR;AAAuBG,mBAAS,MAAKjB;AAArC,SAAV;AACD,OAVsB,CAYvB;;;AACA,UAAMkB,mBAAmBb,SAASc,gBAAT,CAA0B,0BAA1B,CAAzB;;AACA,UAAID,iBAAiBH,MAArB,EAA6B;AAC3BG,yBAAiBE,OAAjB,CAAyB;AAAA,iBAAK,MAAKlB,eAAL,CAAqBmB,GAArB,CAAyBR,CAAzB,CAAL;AAAA,SAAzB;AACD;;AAED,YAAKX,eAAL,GAAuB,IAAIC,GAAJ,CAAQmB,eAAeb,IAAf,EAAqB,MAAKP,eAA1B,CAAR,CAAvB;AACD,KAnBD;;AAoBA,SAAKqB,MAAL,CAAY,OAAZ,EAAqBnB,UAArB;AACAA;AACD,GAnCY;AAqCboB,eArCa,2BAqCI;AACfF,mBAAe,IAAf,EAAqB,KAAKpB,eAA1B;AACD;AAvCY,CAAf;;AA0CA,SAASoB,cAAT,CAAyBb,IAAzB,EAA+BgB,OAA/B,EAAwC;AACtC,MAAIA,OAAJ,EAAa;AACX,uBAAIA,OAAJ,EAAaL,OAAb,CAAqB,aAAK;AACxBf,eAASqB,IAAT,CAAcC,WAAd,CAA0BC,CAA1B;AACD,KAFD;AAGD;;AACD,MAAInB,IAAJ,EAAU;AACR,WAAOA,KAAKoB,GAAL,CAAS,aAAK;AACnB,UAAMC,MAAMzB,SAAS0B,aAAT,CAAuB,MAAvB,CAAZ;AACAC,aAAOC,IAAP,CAAYpB,CAAZ,EAAeO,OAAf,CAAuB,eAAO;AAC5BU,YAAII,YAAJ,CAAiBC,GAAjB,EAAsBtB,EAAEsB,GAAF,CAAtB;AACD,OAFD;AAGA9B,eAASqB,IAAT,CAAcU,WAAd,CAA0BN,GAA1B;AACA,aAAOA,GAAP;AACD,KAPM,CAAP;AAQD;AACF","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["export default {\n created () {\n if (this.$ssrContext) {\n this.$ssrContext.title = this.$title\n this.$ssrContext.lang = this.$lang\n this.$ssrContext.description = this.$page.description || this.$description\n }\n },\n\n mounted () {\n // update title / meta tags\n this.currentMetaTags = new Set()\n\n const updateMeta = () => {\n document.title = this.$title\n document.documentElement.lang = this.$lang\n const userMeta = this.$page.frontmatter.meta || []\n const meta = userMeta.slice(0)\n const useGlobalDescription = userMeta.filter(m => m.name === 'description').length === 0\n\n // #665 Avoid duplicate description meta at runtime.\n if (useGlobalDescription) {\n meta.push({ name: 'description', content: this.$description })\n }\n\n // Including description meta coming from SSR.\n const descriptionMetas = document.querySelectorAll('meta[name=\"description\"]')\n if (descriptionMetas.length) {\n descriptionMetas.forEach(m => this.currentMetaTags.add(m))\n }\n\n this.currentMetaTags = new Set(updateMetaTags(meta, this.currentMetaTags))\n }\n this.$watch('$page', updateMeta)\n updateMeta()\n },\n\n beforeDestroy () {\n updateMetaTags(null, this.currentMetaTags)\n }\n}\n\nfunction updateMetaTags (meta, current) {\n if (current) {\n [...current].forEach(c => {\n document.head.removeChild(c)\n })\n }\n if (meta) {\n return meta.map(m => {\n const tag = document.createElement('meta')\n Object.keys(m).forEach(key => {\n tag.setAttribute(key, m[key])\n })\n document.head.appendChild(tag)\n return tag\n })\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/860a73e29efc1fce8386b3c0009b6d19.json b/node_modules/vuepress/node_modules/.cache/vuepress/860a73e29efc1fce8386b3c0009b6d19.json new file mode 100644 index 00000000..c6a4e36c --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/860a73e29efc1fce8386b3c0009b6d19.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/.temp/enhanceApp.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/.temp/enhanceApp.js","mtime":1541576694591},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import \"core-js/modules/es6.promise\";\nexport { default } from \"/Users/ruki/projects/personal/tbox-docs/src/.vuepress/enhanceApp.js\";",{"version":3,"sources":["node_modules/vuepress/lib/app/.temp/enhanceApp.js"],"names":["default"],"mappings":";AAAA,SAASA,OAAT,QAAwB,qEAAxB","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["export { default } from \"/Users/ruki/projects/personal/tbox-docs/src/.vuepress/enhanceApp.js\""]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/862591a5a437bf427c084339536fccd2.json b/node_modules/vuepress/node_modules/.cache/vuepress/862591a5a437bf427c084339536fccd2.json new file mode 100644 index 00000000..ec7a2c20 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/862591a5a437bf427c084339536fccd2.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.dropdown-wrapper\n cursor pointer\n .dropdown-title\n display block\n &:hover\n border-color transparent\n .arrow\n vertical-align middle\n margin-top -1px\n margin-left 0.4rem\n .nav-dropdown\n .dropdown-item\n color inherit\n line-height 1.7rem\n h4\n margin 0.45rem 0 0\n border-top 1px solid #eee\n padding 0.45rem 1.5rem 0 1.25rem\n .dropdown-subitem-wrapper\n padding 0\n list-style none\n .dropdown-subitem\n font-size 0.9em\n a\n display block\n line-height 1.7rem\n position relative\n border-bottom none\n font-weight 400\n margin-bottom 0\n padding 0 1.5rem 0 1.25rem\n &:hover\n color $accentColor\n &.router-link-active\n color $accentColor\n &::after\n content \"\"\n width 0\n height 0\n border-left 5px solid $accentColor\n border-top 3px solid transparent\n border-bottom 3px solid transparent\n position absolute\n top calc(50% - 2px)\n left 9px\n &:first-child h4\n margin-top 0\n padding-top 0\n border-top 0\n\n@media (max-width: $MQMobile)\n .dropdown-wrapper\n &.open .dropdown-title\n margin-bottom 0.5rem\n .nav-dropdown\n transition height .1s ease-out\n overflow hidden\n .dropdown-item\n h4\n border-top 0\n margin-top 0\n padding-top 0\n h4, & > a\n font-size 15px\n line-height 2rem\n .dropdown-subitem\n font-size 14px\n padding-left 1rem\n\n@media (min-width: $MQMobile)\n .dropdown-wrapper\n height 1.8rem\n &:hover .nav-dropdown\n // override the inline style.\n display block !important\n .dropdown-title .arrow\n // make the arrow always down at desktop\n border-left 4px solid transparent\n border-right 4px solid transparent\n border-top 6px solid $arrowBgColor\n border-bottom 0\n .nav-dropdown\n display none\n // Avoid height shaked by clicking\n height auto !important\n box-sizing border-box;\n max-height calc(100vh - 2.7rem)\n overflow-y auto\n position absolute\n top 100%\n right 0\n background-color #fff\n padding 0.6rem 0\n border 1px solid #ddd\n border-bottom-color #ccc\n text-align left\n border-radius 0.25rem\n white-space nowrap\n margin 0\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/867ace7c8ae54a9c7900e213fe4727e0.json b/node_modules/vuepress/node_modules/.cache/vuepress/867ace7c8ae54a9c7900e213fe4727e0.json new file mode 100644 index 00000000..05211e09 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/867ace7c8ae54a9c7900e213fe4727e0.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/introduction.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/introduction.md","mtime":1541489249205},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./introduction.md?vue&type=template&id=60806558&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n \"1fcb9dd7\"\n \n)\n\ncomponent.options.__file = \"introduction.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/87ec77164ea61510592b14bedcfc2e82.json b/node_modules/vuepress/node_modules/.cache/vuepress/87ec77164ea61510592b14bedcfc2e82.json new file mode 100644 index 00000000..370822c3 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/87ec77164ea61510592b14bedcfc2e82.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/api/introduction.md?vue&type=template&id=c004d6d6&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/api/introduction.md","mtime":1541569456015},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm._m(0)\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _c(\"h1\", { attrs: { id: \"title1\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title1\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title1\")\n ]),\n _vm._v(\" \"),\n _c(\"p\"),\n _c(\"div\", { staticClass: \"table-of-contents\" }, [\n _c(\"ul\", [\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title2\" } }, [_vm._v(\"Title2\")]),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title3\" } }, [_vm._v(\"Title3\")])\n ]),\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title3\" } }, [_vm._v(\"Title3\")])\n ])\n ])\n ]),\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title2\" } }, [_vm._v(\"Title2\")]),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title3\" } }, [_vm._v(\"Title3\")])\n ])\n ])\n ])\n ])\n ]),\n _c(\"p\"),\n _vm._v(\" \"),\n _c(\"h2\", { attrs: { id: \"title2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title2\")\n ]),\n _vm._v(\" \"),\n _c(\"h3\", { attrs: { id: \"title3\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title3\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title3\")\n ]),\n _vm._v(\" \"),\n _c(\"h4\", { attrs: { id: \"title4\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title4\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title4\")\n ]),\n _vm._v(\" \"),\n _c(\"h5\", { attrs: { id: \"title5\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title5\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title5\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h5\", { attrs: { id: \"title5-2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title5-2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title5\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h4\", { attrs: { id: \"title4-2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title4-2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title4\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h3\", { attrs: { id: \"title3-2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title3-2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title3\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h2\", { attrs: { id: \"title2-2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title2-2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title2\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h3\", { attrs: { id: \"title3-3\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title3-3\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title3\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/8813a566af5b73d7dc87ddecac6869ec.json b/node_modules/vuepress/node_modules/.cache/vuepress/8813a566af5b73d7dc87ddecac6869ec.json new file mode 100644 index 00000000..ec8ac689 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/8813a566af5b73d7dc87ddecac6869ec.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Home.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Home.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.home\n padding $navbarHeight 2rem 0\n max-width 960px\n margin 0px auto\n .hero\n text-align center\n img\n max-height 280px\n display block\n margin 3rem auto 1.5rem\n h1\n font-size 3rem\n h1, .description, .action\n margin 1.8rem auto\n .description\n max-width 35rem\n font-size 1.6rem\n line-height 1.3\n color lighten($textColor, 40%)\n .action-button\n display inline-block\n font-size 1.2rem\n color #fff\n background-color $accentColor\n padding 0.8rem 1.6rem\n border-radius 4px\n transition background-color .1s ease\n box-sizing border-box\n border-bottom 1px solid darken($accentColor, 10%)\n &:hover\n background-color lighten($accentColor, 10%)\n .features\n border-top 1px solid $borderColor\n padding 1.2rem 0\n margin-top 2.5rem\n display flex\n flex-wrap wrap\n align-items flex-start\n align-content stretch\n justify-content space-between\n .feature\n flex-grow 1\n flex-basis 30%\n max-width 30%\n h2\n font-size 1.4rem\n font-weight 500\n border-bottom none\n padding-bottom 0\n color lighten($textColor, 10%)\n p\n color lighten($textColor, 25%)\n .footer\n padding 2.5rem\n border-top 1px solid $borderColor\n text-align center\n color lighten($textColor, 25%)\n\n@media (max-width: $MQMobile)\n .home\n .features\n flex-direction column\n .feature\n max-width 100%\n padding 0 2.5rem\n\n@media (max-width: $MQMobileNarrow)\n .home\n padding-left 1.5rem\n padding-right 1.5rem\n .hero\n img\n max-height 210px\n margin 2rem auto 1.2rem\n h1\n font-size 2rem\n h1, .description, .action\n margin 1.2rem auto\n .description\n font-size 1.2rem\n .action-button\n font-size 1rem\n padding 0.6rem 1.2rem\n .feature\n h2\n font-size 1.25rem\n",{"version":3,"sources":["Home.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"Home.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <div class=\"home\">\n <div class=\"hero\">\n <img\n v-if=\"data.heroImage\"\n :src=\"$withBase(data.heroImage)\"\n alt=\"hero\"\n >\n\n <h1>{{ data.heroText || $title || 'Hello' }}</h1>\n\n <p class=\"description\">\n {{ data.tagline || $description || 'Welcome to your VuePress site' }}\n </p>\n\n <p\n class=\"action\"\n v-if=\"data.actionText && data.actionLink\"\n >\n <NavLink\n class=\"action-button\"\n :item=\"actionLink\"\n />\n </p>\n </div>\n\n <div\n class=\"features\"\n v-if=\"data.features && data.features.length\"\n >\n <div\n class=\"feature\"\n v-for=\"(feature, index) in data.features\"\n :key=\"index\"\n >\n <h2>{{ feature.title }}</h2>\n <p>{{ feature.details }}</p>\n </div>\n </div>\n\n <Content custom/>\n\n <div\n class=\"footer\"\n v-if=\"data.footer\"\n >\n {{ data.footer }}\n </div>\n </div>\n</template>\n\n<script>\nimport NavLink from './NavLink.vue'\n\nexport default {\n components: { NavLink },\n\n computed: {\n data () {\n return this.$page.frontmatter\n },\n\n actionLink () {\n return {\n link: this.data.actionLink,\n text: this.data.actionText\n }\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.home\n padding $navbarHeight 2rem 0\n max-width 960px\n margin 0px auto\n .hero\n text-align center\n img\n max-height 280px\n display block\n margin 3rem auto 1.5rem\n h1\n font-size 3rem\n h1, .description, .action\n margin 1.8rem auto\n .description\n max-width 35rem\n font-size 1.6rem\n line-height 1.3\n color lighten($textColor, 40%)\n .action-button\n display inline-block\n font-size 1.2rem\n color #fff\n background-color $accentColor\n padding 0.8rem 1.6rem\n border-radius 4px\n transition background-color .1s ease\n box-sizing border-box\n border-bottom 1px solid darken($accentColor, 10%)\n &:hover\n background-color lighten($accentColor, 10%)\n .features\n border-top 1px solid $borderColor\n padding 1.2rem 0\n margin-top 2.5rem\n display flex\n flex-wrap wrap\n align-items flex-start\n align-content stretch\n justify-content space-between\n .feature\n flex-grow 1\n flex-basis 30%\n max-width 30%\n h2\n font-size 1.4rem\n font-weight 500\n border-bottom none\n padding-bottom 0\n color lighten($textColor, 10%)\n p\n color lighten($textColor, 25%)\n .footer\n padding 2.5rem\n border-top 1px solid $borderColor\n text-align center\n color lighten($textColor, 25%)\n\n@media (max-width: $MQMobile)\n .home\n .features\n flex-direction column\n .feature\n max-width 100%\n padding 0 2.5rem\n\n@media (max-width: $MQMobileNarrow)\n .home\n padding-left 1.5rem\n padding-right 1.5rem\n .hero\n img\n max-height 210px\n margin 2rem auto 1.2rem\n h1\n font-size 2rem\n h1, .description, .action\n margin 1.2rem auto\n .description\n font-size 1.2rem\n .action-button\n font-size 1rem\n padding 0.6rem 1.2rem\n .feature\n h2\n font-size 1.25rem\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/8813c2637cfe44121bf59e6692eeb5aa.json b/node_modules/vuepress/node_modules/.cache/vuepress/8813c2637cfe44121bf59e6692eeb5aa.json new file mode 100644 index 00000000..b370a7a1 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/8813c2637cfe44121bf59e6692eeb5aa.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/api/introduction.md?vue&type=template&id=c004d6d6&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/api/introduction.md","mtime":1541569456015},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"title1\"><a class=\"header-anchor\" href=\"#title1\" aria-hidden=\"true\">#</a> Title1</h1>\n<p><div class=\"table-of-contents\"><ul><li><a href=\"#title2\">Title2</a><ul><li><a href=\"#title3\">Title3</a></li><li><a href=\"#title3\">Title3</a></li></ul></li><li><a href=\"#title2\">Title2</a><ul><li><a href=\"#title3\">Title3</a></li></ul></li></ul></div></p>\n<h2 id=\"title2\"><a class=\"header-anchor\" href=\"#title2\" aria-hidden=\"true\">#</a> Title2</h2>\n<h3 id=\"title3\"><a class=\"header-anchor\" href=\"#title3\" aria-hidden=\"true\">#</a> Title3</h3>\n<h4 id=\"title4\"><a class=\"header-anchor\" href=\"#title4\" aria-hidden=\"true\">#</a> Title4</h4>\n<h5 id=\"title5\"><a class=\"header-anchor\" href=\"#title5\" aria-hidden=\"true\">#</a> Title5</h5>\n<p>...</p>\n<h5 id=\"title5-2\"><a class=\"header-anchor\" href=\"#title5-2\" aria-hidden=\"true\">#</a> Title5</h5>\n<p>...</p>\n<h4 id=\"title4-2\"><a class=\"header-anchor\" href=\"#title4-2\" aria-hidden=\"true\">#</a> Title4</h4>\n<p>...</p>\n<h3 id=\"title3-2\"><a class=\"header-anchor\" href=\"#title3-2\" aria-hidden=\"true\">#</a> Title3</h3>\n<p>...</p>\n<h2 id=\"title2-2\"><a class=\"header-anchor\" href=\"#title2-2\" aria-hidden=\"true\">#</a> Title2</h2>\n<p>...</p>\n<h3 id=\"title3-3\"><a class=\"header-anchor\" href=\"#title3-3\" aria-hidden=\"true\">#</a> Title3</h3>\n<p>...</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/8837973873f1cc8d256af9871169c25e.json b/node_modules/vuepress/node_modules/.cache/vuepress/8837973873f1cc8d256af9871169c25e.json new file mode 100644 index 00000000..8e08edbe --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/8837973873f1cc8d256af9871169c25e.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/getting-started.md?vue&type=template&id=10a0f75e&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/getting-started.md","mtime":1541488106036},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"getting-started\"><a class=\"header-anchor\" href=\"#getting-started\" aria-hidden=\"true\">#</a> Getting Started</h1>\n<p>Please install xmake first: <a href=\"https://github.com/tboox/xmake\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></p>\n<!--beforebegin--><div class=\"language-console extra-class\"><!--afterbegin--><pre v-pre class=\"language-text\"><code># build for the host platform\n$ cd ./tbox\n$ xmake\n\n# build for the mingw platform\n$ cd ./tbox\n$ xmake f -p mingw --sdk=/home/mingwsdk \n$ xmake\n\n# build for the iphoneos platform\n$ cd ./tbox\n$ xmake f -p iphoneos \n$ xmake\n\n# build for the android platform\n$ cd ./tbox\n$ xmake f -p android --ndk=xxxxx\n$ xmake\n\n# build for the linux cross-platform\n$ cd ./tbox\n$ xmake f -p linux --sdk=/home/sdk # --bin=/home/sdk/bin\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"example\"><a class=\"header-anchor\" href=\"#example\" aria-hidden=\"true\">#</a> Example</h2>\n<!--beforebegin--><div class=\"language-c extra-class\"><!--afterbegin--><pre v-pre class=\"language-c\"><code><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">\"tbox/tbox.h\"</span></span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> argc<span class=\"token punctuation\">,</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span> argv<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// init tbox</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">tb_init</span><span class=\"token punctuation\">(</span>tb_null<span class=\"token punctuation\">,</span> tb_null<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"hello tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// init vector</span>\n tb_vector_ref_t vector <span class=\"token operator\">=</span> <span class=\"token function\">tb_vector_init</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">tb_element_cstr</span><span class=\"token punctuation\">(</span>tb_true<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// insert item</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// dump all items</span>\n tb_for_all <span class=\"token punctuation\">(</span>tb_char_t <span class=\"token keyword\">const</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">,</span> vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%s\"</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit vector</span>\n <span class=\"token function\">tb_vector_exit</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// init stream</span>\n tb_stream_ref_t stream <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_init_from_url</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"http://www.xxx.com/file.txt\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// open stream</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token function\">tb_stream_open</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// read line</span>\n tb_long_t size <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n tb_char_t line<span class=\"token punctuation\">[</span>TB_STREAM_BLOCK_MAXN<span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">while</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>size <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_bread_line</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">,</span> <span class=\"token keyword\">sizeof</span><span class=\"token punctuation\">(</span>line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">>=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"line: %s\"</span><span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit stream</span>\n <span class=\"token function\">tb_stream_exit</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// wait </span>\n <span class=\"token function\">getchar</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// exit tbox</span>\n <span class=\"token function\">tb_exit</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/88ca7358a9fb9cdf5221e21521100e95.json b/node_modules/vuepress/node_modules/.cache/vuepress/88ca7358a9fb9cdf5221e21521100e95.json new file mode 100644 index 00000000..0a4c79a7 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/88ca7358a9fb9cdf5221e21521100e95.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/getting-started.md?vue&type=template&id=09de92a0&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/getting-started.md","mtime":1541488106036},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"getting-started\"><a class=\"header-anchor\" href=\"#getting-started\" aria-hidden=\"true\">#</a> Getting Started</h1>\n<p>Please install xmake first: <a href=\"https://github.com/tboox/xmake\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></p>\n<!--beforebegin--><div class=\"language-console extra-class\"><!--afterbegin--><pre v-pre class=\"language-text\"><code># build for the host platform\n$ cd ./tbox\n$ xmake\n\n# build for the mingw platform\n$ cd ./tbox\n$ xmake f -p mingw --sdk=/home/mingwsdk \n$ xmake\n\n# build for the iphoneos platform\n$ cd ./tbox\n$ xmake f -p iphoneos \n$ xmake\n\n# build for the android platform\n$ cd ./tbox\n$ xmake f -p android --ndk=xxxxx\n$ xmake\n\n# build for the linux cross-platform\n$ cd ./tbox\n$ xmake f -p linux --sdk=/home/sdk # --bin=/home/sdk/bin\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"example\"><a class=\"header-anchor\" href=\"#example\" aria-hidden=\"true\">#</a> Example</h2>\n<!--beforebegin--><div class=\"language-c extra-class\"><!--afterbegin--><pre v-pre class=\"language-c\"><code><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">\"tbox/tbox.h\"</span></span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> argc<span class=\"token punctuation\">,</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span> argv<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// init tbox</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">tb_init</span><span class=\"token punctuation\">(</span>tb_null<span class=\"token punctuation\">,</span> tb_null<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"hello tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// init vector</span>\n tb_vector_ref_t vector <span class=\"token operator\">=</span> <span class=\"token function\">tb_vector_init</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">tb_element_cstr</span><span class=\"token punctuation\">(</span>tb_true<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// insert item</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// dump all items</span>\n tb_for_all <span class=\"token punctuation\">(</span>tb_char_t <span class=\"token keyword\">const</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">,</span> vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%s\"</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit vector</span>\n <span class=\"token function\">tb_vector_exit</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// init stream</span>\n tb_stream_ref_t stream <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_init_from_url</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"http://www.xxx.com/file.txt\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// open stream</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token function\">tb_stream_open</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// read line</span>\n tb_long_t size <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n tb_char_t line<span class=\"token punctuation\">[</span>TB_STREAM_BLOCK_MAXN<span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">while</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>size <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_bread_line</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">,</span> <span class=\"token keyword\">sizeof</span><span class=\"token punctuation\">(</span>line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">>=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"line: %s\"</span><span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit stream</span>\n <span class=\"token function\">tb_stream_exit</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// wait </span>\n <span class=\"token function\">getchar</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// exit tbox</span>\n <span class=\"token function\">tb_exit</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/8930cf860c54457ec616e928dc38d4a5.json b/node_modules/vuepress/node_modules/.cache/vuepress/8930cf860c54457ec616e928dc38d4a5.json new file mode 100644 index 00000000..afa9dba1 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/8930cf860c54457ec616e928dc38d4a5.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/manual/introduction.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/manual/introduction.md","mtime":1541492172602},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./introduction.md?vue&type=template&id=b3629762&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n \"490205f8\"\n \n)\n\ncomponent.options.__file = \"introduction.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/89d9f994ee8d2964ad24e740e01988d8.json b/node_modules/vuepress/node_modules/.cache/vuepress/89d9f994ee8d2964ad24e740e01988d8.json new file mode 100644 index 00000000..9fb873f1 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/89d9f994ee8d2964ad24e740e01988d8.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/guide/getting-started.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/getting-started.md","mtime":1541554744255},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./getting-started.md?vue&type=template&id=31f01bcd&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"getting-started.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/8a0f67d3968a962d89612e31334ec7a1.json b/node_modules/vuepress/node_modules/.cache/vuepress/8a0f67d3968a962d89612e31334ec7a1.json new file mode 100644 index 00000000..b7e09992 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/8a0f67d3968a962d89612e31334ec7a1.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/README.md?vue&type=template&id=0a27dc62&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/README.md","mtime":1541513030109},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><!--beforebegin--><div class=\"language-c extra-class\"><!--afterbegin--><pre v-pre class=\"language-c\"><code><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">\"tbox/tbox.h\"</span></span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> argc<span class=\"token punctuation\">,</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span> argv<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// init tbox</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">tb_init</span><span class=\"token punctuation\">(</span>tb_null<span class=\"token punctuation\">,</span> tb_null<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// init vector</span>\n tb_vector_ref_t vector <span class=\"token operator\">=</span> <span class=\"token function\">tb_vector_init</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">tb_element_cstr</span><span class=\"token punctuation\">(</span>tb_true<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// insert item</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// dump all items</span>\n tb_for_all <span class=\"token punctuation\">(</span>tb_char_t <span class=\"token keyword\">const</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">,</span> vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%s\"</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit vector</span>\n <span class=\"token function\">tb_vector_exit</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit tbox</span>\n <span class=\"token function\">tb_exit</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/8ae4178c9a3d5e90c13012ea2866e133.json b/node_modules/vuepress/node_modules/.cache/vuepress/8ae4178c9a3d5e90c13012ea2866e133.json new file mode 100644 index 00000000..d31abf82 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/8ae4178c9a3d5e90c13012ea2866e133.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render, staticRenderFns\nimport script from \"./SidebarLink.vue?vue&type=script&lang=js&\"\nexport * from \"./SidebarLink.vue?vue&type=script&lang=js&\"\nfunction injectStyles (context) {\n \n var style0 = require(\"./SidebarLink.vue?vue&type=style&index=0&lang=stylus&\")\nif (style0.__inject__) style0.__inject__(context)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n \"12a89e6d\"\n \n)\n\ncomponent.options.__file = \"SidebarLink.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/8b9940e787512ffcad169170bdc9e040.json b/node_modules/vuepress/node_modules/.cache/vuepress/8b9940e787512ffcad169170bdc9e040.json new file mode 100644 index 00000000..d9031994 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/8b9940e787512ffcad169170bdc9e040.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/.temp/enhanceApp.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/.temp/enhanceApp.js","mtime":1541576203197},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import \"core-js/modules/es6.promise\";\nexport { default } from \"/Users/ruki/projects/personal/tbox-docs/src/.vuepress/enhanceApp.js\";",{"version":3,"sources":["node_modules/vuepress/lib/app/.temp/enhanceApp.js"],"names":["default"],"mappings":";AAAA,SAASA,OAAT,QAAwB,qEAAxB","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["export { default } from \"/Users/ruki/projects/personal/tbox-docs/src/.vuepress/enhanceApp.js\""]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/8bf76aa9991514600bc61704ca167174.json b/node_modules/vuepress/node_modules/.cache/vuepress/8bf76aa9991514600bc61704ca167174.json new file mode 100644 index 00000000..35b718a2 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/8bf76aa9991514600bc61704ca167174.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLink.vue?vue&type=template&id=32ed2476&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<router-link\n class=\"nav-link\"\n :to=\"link\"\n v-if=\"!isExternal(link)\"\n :exact=\"exact\"\n>{{ item.text }}</router-link>\n<a\n v-else\n :href=\"link\"\n class=\"nav-link external\"\n :target=\"isMailto(link) || isTel(link) ? null : '_blank'\"\n :rel=\"isMailto(link) || isTel(link) ? null : 'noopener noreferrer'\"\n>\n {{ item.text }}\n <OutboundLink/>\n</a>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/8c3f4467d2395c24f2be7e1ff48428e2.json b/node_modules/vuepress/node_modules/.cache/vuepress/8c3f4467d2395c24f2be7e1ff48428e2.json new file mode 100644 index 00000000..3145068b --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/8c3f4467d2395c24f2be7e1ff48428e2.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/README.md?vue&type=template&id=48a1fb61&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/README.md","mtime":1541513043653},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"language-c extra-class\"},[_c('pre',{pre:true,attrs:{\"class\":\"language-c\"}},[_c('code',[_c('span',{attrs:{\"class\":\"token macro property\"}},[_vm._v(\"#\"),_c('span',{attrs:{\"class\":\"token directive keyword\"}},[_vm._v(\"include\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"tbox/tbox.h\\\"\")])]),_vm._v(\"\\n\\n\"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"int\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"main\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"int\")]),_vm._v(\" argc\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"char\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"*\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"*\")]),_vm._v(\" argv\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// init tbox\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"!\")]),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_init\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"tb_null\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" tb_null\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"return\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// init vector\")]),_vm._v(\"\\n tb_vector_ref_t vector \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_init\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_element_cstr\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"tb_true\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// insert item\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_insert_tail\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"hello\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_insert_tail\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"tbox\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// dump all items\")]),_vm._v(\"\\n tb_for_all \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"tb_char_t \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"const\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"*\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" cstr\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// trace\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_trace_i\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"%s\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" cstr\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// exit vector\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_exit\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// exit tbox\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_exit\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\")])])])])}]\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/8cf5463835ab043001fd2a09c981545e.json b/node_modules/vuepress/node_modules/.cache/vuepress/8cf5463835ab043001fd2a09c981545e.json new file mode 100644 index 00000000..f68fc2f9 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/8cf5463835ab043001fd2a09c981545e.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/guide/introduction.md?vue&type=template&id=7aabeaf7&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/introduction.md","mtime":1541489249205},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"简介\"><a class=\"header-anchor\" href=\"#简介\" aria-hidden=\"true\">#</a> 简介</h1>\n<p>TBOX是一个用c语言实现的跨平台开发库。</p>\n<p>针对各个平台,封装了统一的接口,简化了各类开发过程中常用操作,使你在开发过程中,更加关注实际应用的开发,而不是把时间浪费在琐碎的接口兼容性上面,并且充分利用了各个平台独有的一些特性进行优化。</p>\n<p>这个项目的目的,是为了使C开发更加的简单高效。</p>\n<p>目前支持的平台有:</p>\n<ul>\n<li>Windows</li>\n<li>Macosx</li>\n<li>Linux</li>\n<li>Android</li>\n<li>iOS</li>\n</ul>\n<p>通过<a href=\"http://www.xmake.io/cn\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a>支持各种编译模式:</p>\n<ul>\n<li>Release: 正式版编译,禁用调试信息、断言,各种检测机制,启用编译器优化</li>\n<li>Debug: 调试模式,默认启用详细调试信息、断言、内存越界检测、内存泄漏、锁竞争分析等检测机制</li>\n<li>Small: 最小化编译,默认禁用所有扩展模块,启用编译器最小化优化</li>\n<li>Micro: 针对嵌入式平台,仅仅编译tbox微内核,仅提供最基础的跨平台接口,生成库仅64K左右(内置轻量libc接口实现)</li>\n</ul>\n<p>如果你想了解更多,请参考:</p>\n<ul>\n<li><a href=\"http://www.tboox.org/cn\" target=\"_blank\" rel=\"noopener noreferrer\">项目主页<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/%E7%9B%AE%E5%BD%95\" target=\"_blank\" rel=\"noopener noreferrer\">在线文档<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Github<OutboundLink/></a></li>\n<li><a href=\"https://gitee.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Gitee<OutboundLink/></a></li>\n</ul>\n<h2 id=\"特性\"><a class=\"header-anchor\" href=\"#特性\" aria-hidden=\"true\">#</a> 特性</h2>\n<h4 id=\"流库\"><a class=\"header-anchor\" href=\"#流库\" aria-hidden=\"true\">#</a> 流库</h4>\n<p>针对http、file、socket、data等流数据,实现统一接口进行读写,并且支持: 阻塞、非阻塞、异步 三种读写模式。\n支持中间增加多层filter流进行流过滤,实现边读取,内部边进行解压、编码转换、加密等操作,极大的减少了内存使用。</p>\n<p>主要提供以下模块:</p>\n<ul>\n<li><code>stream</code>:通用非阻塞流,用于一般的单独io处理,同时支持协程以实现异步传输。</li>\n<li><code>transfer</code>:流传输器,维护两路流的传输。</li>\n<li><code>static_stream</code>:针对静态数据buffer优化的静态流,用于轻量快速的数据解析。</li>\n</ul>\n<h4 id=\"协程库\"><a class=\"header-anchor\" href=\"#协程库\" aria-hidden=\"true\">#</a> 协程库</h4>\n<ul>\n<li>快速高效的协程切换支持(具体性能参考:<a href=\"http://tboox.org/cn/2016/10/28/benchbox-coroutine/\" target=\"_blank\" rel=\"noopener noreferrer\">基准测试报告<OutboundLink/></a>)</li>\n<li>提供跨平台支持,核心切换算法参考boost,并且对其进行重写和优化,目前支持架构:x86, x86_64, arm, arm64, mips32</li>\n<li>提供channel协程间数据通信支持,基于生产、消费者模型</li>\n<li>提供信号量、协程锁支持</li>\n<li>socket、stream都模块原生支持协程,并且可在线程和协程间进行无缝切换</li>\n<li>提供http、file等基于协程的简单服务器实例,只需几百行代码,就可以从socket开始写个高性能io服务器,代码逻辑比异步回调模式更加清晰</li>\n<li>同时提供stackfull, stackless两种协程模式支持,stackless协程更加的轻量(每个协程只占用几十个bytes),切换更快(会牺牲部分易用性)</li>\n<li>支持epoll, kqueue, poll, select 和 IOCP</li>\n</ul>\n<h4 id=\"数据库\"><a class=\"header-anchor\" href=\"#数据库\" aria-hidden=\"true\">#</a> 数据库</h4>\n<ul>\n<li>统一并简化数据库操作接口,适配各种数据源,通过统一的url来自动连接打开支持的数据库,数据的枚举采用迭代器模型。</li>\n<li>目前支持sqlite3以及mysql两种关系型数据库,也可自定义扩展使用其他关系型数据库。</li>\n</ul>\n<h4 id=\"xml库\"><a class=\"header-anchor\" href=\"#xml库\" aria-hidden=\"true\">#</a> xml库</h4>\n<ul>\n<li>针对xml提供DOM和SAX两种解析模式,SAX方式采用外部迭代模式,灵活性和性能更高,并且可以选择指定路径,进行解析。</li>\n<li>解析过程完全基于stream,所以是高度流化的,可以实现边下载、边解压、边转码、边解析一条龙服务,使用较低的内存也可以解析大规模数据。</li>\n<li>提供xml writer以支持对xml生成</li>\n</ul>\n<h4 id=\"内存库\"><a class=\"header-anchor\" href=\"#内存库\" aria-hidden=\"true\">#</a> 内存库</h4>\n<ul>\n<li>参考linux内核内存管理机制的实现,并对其进行各种改造和优化,所实现的TBOX独有的一整套内存池管理架构。</li>\n<li>调试模式下,可以轻松检测并定位内存泄露、内存越界溢出、内存重叠覆盖等常见内存问题,并对整体内存的使用进行了统计和简要分析。</li>\n<li>针对大块数据、小块数据、字符串数据进行了充分的利用,避免了大量外部碎片和内部碎片的产生。分配操作进行了各种优化,96%的情况下,效率都是在O(1)。</li>\n</ul>\n<h4 id=\"容器库\"><a class=\"header-anchor\" href=\"#容器库\" aria-hidden=\"true\">#</a> 容器库</h4>\n<ul>\n<li>提供哈希、链表、数组、队列、堆栈、最小最大堆等常用容器。</li>\n<li>支持各种常用成员类型,在原有的容器期初上,其成员类型还可以完全自定义扩展。</li>\n<li>所有容器都支持迭代器操作。</li>\n<li>大部分容器都可以支持基于stream的序列化和反序列化操作。</li>\n</ul>\n<h4 id=\"算法库\"><a class=\"header-anchor\" href=\"#算法库\" aria-hidden=\"true\">#</a> 算法库</h4>\n<ul>\n<li>提供各种排序算法:冒泡排序、堆排序、快速排序、插入排序。</li>\n<li>提供各种查找算法:线性遍历、二分法搜索。</li>\n<li>提供各种遍历、删除、统计算法。</li>\n<li>以迭代器为接口,实现算法和容器的分离,类似stl,但是c实现的,更加轻量。</li>\n</ul>\n<h4 id=\"网络库\"><a class=\"header-anchor\" href=\"#网络库\" aria-hidden=\"true\">#</a> 网络库</h4>\n<ul>\n<li>实现http客户端模块</li>\n<li>实现cookies</li>\n<li>实现dns解析与缓存</li>\n<li>实现ssl(支持openssl, polarssl, mbedtls)</li>\n<li>支持ipv4、ipv6</li>\n<li>支持通过协程实现异步模式</li>\n</ul>\n<h4 id=\"数学运算库\"><a class=\"header-anchor\" href=\"#数学运算库\" aria-hidden=\"true\">#</a> 数学运算库</h4>\n<ul>\n<li>提供各种精度的定点运算支持</li>\n<li>提供随机数生成器</li>\n</ul>\n<h4 id=\"libc库\"><a class=\"header-anchor\" href=\"#libc库\" aria-hidden=\"true\">#</a> libc库</h4>\n<ul>\n<li>libc的一个轻量级实现,完全跨平台,并且针对不同架构进行了优化。</li>\n<li>支持大部分字符串、宽字符串操作。</li>\n<li>扩展字符串、宽字符串的各种大小写不敏感操作接口</li>\n<li>扩展<code>memset_u16</code>、<code>memset_u32</code>等接口,并对其进行高度优化,尤其适合图形渲染程序</li>\n</ul>\n<h4 id=\"libm库\"><a class=\"header-anchor\" href=\"#libm库\" aria-hidden=\"true\">#</a> libm库</h4>\n<ul>\n<li>libm部分接口的一个轻量级实现,以及对常用系统接口的封装。(目前只实现了部分,之后有时间会完全实现掉)</li>\n<li>扩展部分常用接口,增加对sqrt、log2等常用函数的整数版本计算,进行高度优化,不涉及浮点运算,适合嵌入式环境使用。</li>\n</ul>\n<h4 id=\"object库\"><a class=\"header-anchor\" href=\"#object库\" aria-hidden=\"true\">#</a> object库</h4>\n<ul>\n<li>轻量级类apple的CoreFoundation库,支持object、dictionary、array、string、number、date、data等常用对象,并且可以方便扩展自定义对象的序列化。</li>\n<li>支持对xml、json、binary以及apple的plist(xplist/bplist)格式序列化和反序列化。\n并且实现自有的binary序列化格式, 针对明文进行了简单的加密,在不影响性能的前提下,序列化后的大小比bplist节省30%。</li>\n</ul>\n<h4 id=\"平台库\"><a class=\"header-anchor\" href=\"#平台库\" aria-hidden=\"true\">#</a> 平台库</h4>\n<ul>\n<li>提供file、directory、socket、thread、time等常用系统接口</li>\n<li>提供atomic、atomic64接口</li>\n<li>提供高精度、低精度定时器</li>\n<li>提供高性能的线程池操作</li>\n<li>提供event、mutex、semaphore、spinlock等事件、互斥、信号量、自旋锁操作</li>\n<li>提供获取函数堆栈信息的接口,方便调试和错误定位</li>\n<li>提供跨平台动态库加载接口(如果系统支持的话)</li>\n<li>提供io轮询器,针对epoll, poll, select, kqueue进行跨平台封装</li>\n<li>提供跨平台上下文切换接口,主要用于协程实现,切换效率非常高</li>\n</ul>\n<h4 id=\"压缩库\"><a class=\"header-anchor\" href=\"#压缩库\" aria-hidden=\"true\">#</a> 压缩库</h4>\n<ul>\n<li>支持zlib/zlibraw/gzip的压缩与解压(需要第三方zlib库支持)。</li>\n</ul>\n<h4 id=\"字符编码库\"><a class=\"header-anchor\" href=\"#字符编码库\" aria-hidden=\"true\">#</a> 字符编码库</h4>\n<ul>\n<li>支持utf8、utf16、gbk、gb2312、uc2、uc4 之间的互相转码,并且支持大小端格式。</li>\n</ul>\n<h4 id=\"实用工具库\"><a class=\"header-anchor\" href=\"#实用工具库\" aria-hidden=\"true\">#</a> 实用工具库</h4>\n<ul>\n<li>实现base64/32编解码</li>\n<li>实现crc32、adler32、md5、sha1等常用hash算法</li>\n<li>实现日志输出、断言等辅助调试工具</li>\n<li>实现url编解码</li>\n<li>实现位操作相关接口,支持各种数据格式的解析,可以对8bits、16bits、32bits、64bits、float、double以及任意bits的字段进行解析操作,并且同时支持大端、小端和本地端模式,并针对部分操作进行了优化,像static_stream、stream都有相关接口对其进行了封装,方便在流上进行快速数据解析。</li>\n<li>实现swap16、swap32、swap64等位交换操作,并针对各个平台进行了优化。</li>\n<li>实现一些高级的位处理接口,例如:位0的快速统计、前导0和前导1的快速位计数、后导01的快速位计数</li>\n<li>实现单例模块,可以对静态对象、实例对象进行快速的单例封装,实现全局线程安全</li>\n<li>实现option模块,对命令行参数进行解析,提供快速方便的命令行选项建立和解析操作,对于写终端程序还是很有帮助的</li>\n</ul>\n<h4 id=\"正则表达式库\"><a class=\"header-anchor\" href=\"#正则表达式库\" aria-hidden=\"true\">#</a> 正则表达式库</h4>\n<ul>\n<li>支持匹配和替换操作</li>\n<li>支持全局、多行、大小写不敏感等模式</li>\n<li>使用pcre, pcre2和posix正则库</li>\n</ul>\n<h2 id=\"项目例子\"><a class=\"header-anchor\" href=\"#项目例子\" aria-hidden=\"true\">#</a> 项目例子</h2>\n<p>一些使用tbox的项目</p>\n<ul>\n<li><a href=\"https://github.com/tboox/gbox\" target=\"_blank\" rel=\"noopener noreferrer\">gbox<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/vm86\" target=\"_blank\" rel=\"noopener noreferrer\">vm86<OutboundLink/></a></li>\n<li><a href=\"http://www.xmake.io/cn\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/itrace\" target=\"_blank\" rel=\"noopener noreferrer\">itrace<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/%E4%BD%BF%E7%94%A8tbox%E7%9A%84%E5%BC%80%E6%BA%90%E5%BA%93\" target=\"_blank\" rel=\"noopener noreferrer\">更多项目<OutboundLink/></a></li>\n</ul>\n<h2 id=\"联系方式\"><a class=\"header-anchor\" href=\"#联系方式\" aria-hidden=\"true\">#</a> 联系方式</h2>\n<ul>\n<li>邮箱:<a href=\"mailto:waruqi@gmail.com\">waruqi@gmail.com</a></li>\n<li>主页:<a href=\"http://www.tboox.org/cn\" target=\"_blank\" rel=\"noopener noreferrer\">TBOOX开源工程<OutboundLink/></a></li>\n<li>社区:<a href=\"https://www.reddit.com/r/tboox/\" target=\"_blank\" rel=\"noopener noreferrer\">Reddit论坛<OutboundLink/></a></li>\n<li>QQ群:343118190</li>\n<li>微信公众号:tboox-os</li>\n</ul>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/8d1e3eb3f6fd30712a4aa0cc2800dbcd.json b/node_modules/vuepress/node_modules/.cache/vuepress/8d1e3eb3f6fd30712a4aa0cc2800dbcd.json new file mode 100644 index 00000000..6a85e205 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/8d1e3eb3f6fd30712a4aa0cc2800dbcd.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue?vue&type=template&id=1bddee00&functional=true&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function(_h, _vm) {\n var _c = _vm._c\n return _c(\n \"svg\",\n {\n staticClass: \"icon outbound\",\n attrs: {\n xmlns: \"http://www.w3.org/2000/svg\",\n \"aria-hidden\": \"true\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 100 100\",\n width: \"15\",\n height: \"15\"\n }\n },\n [\n _c(\"path\", {\n attrs: {\n fill: \"currentColor\",\n d:\n \"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z\"\n }\n }),\n _vm._v(\" \"),\n _c(\"polygon\", {\n attrs: {\n fill: \"currentColor\",\n points:\n \"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9\"\n }\n })\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/8d48e03f14a70b06b6319dc8f2f34634.json b/node_modules/vuepress/node_modules/.cache/vuepress/8d48e03f14a70b06b6319dc8f2f34634.json new file mode 100644 index 00000000..18a95813 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/8d48e03f14a70b06b6319dc8f2f34634.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.sw-update-popup\n position fixed\n right 1em\n bottom 1em\n padding 1em\n border 1px solid $accentColor\n border-radius 3px\n background #fff\n box-shadow 0 4px 16px rgba(0, 0, 0, 0.5)\n text-align center\n\n button\n margin-top 0.5em\n padding 0.25em 2em\n\n.sw-update-popup-enter-active, .sw-update-popup-leave-active\n transition opacity 0.3s, transform 0.3s\n\n.sw-update-popup-enter, .sw-update-popup-leave-to\n opacity 0\n transform translate(0, 50%) scale(0.5)\n",{"version":3,"sources":["SWUpdatePopup.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6DA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA","file":"SWUpdatePopup.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <transition name=\"sw-update-popup\">\n <div\n v-if=\"enabled\"\n class=\"sw-update-popup\"\n >\n {{message}}<br>\n <button @click=\"reload\">{{buttonText}}</button>\n </div>\n </transition>\n</template>\n\n<script>\nexport default {\n props: {\n updateEvent: {\n type: Object,\n default: null\n }\n },\n\n computed: {\n popupConfig () {\n for (const config of [this.$themeLocaleConfig, this.$site.themeConfig]) {\n const sw = config.serviceWorker\n if (sw && sw.updatePopup) {\n return typeof sw.updatePopup === 'object' ? sw.updatePopup : {}\n }\n }\n return null\n },\n\n enabled () {\n return Boolean(this.popupConfig && this.updateEvent)\n },\n\n message () {\n const c = this.popupConfig\n return (c && c.message) || 'New content is available.'\n },\n\n buttonText () {\n const c = this.popupConfig\n return (c && c.buttonText) || 'Refresh'\n }\n },\n\n methods: {\n reload () {\n if (this.updateEvent) {\n this.updateEvent.skipWaiting().then(() => {\n location.reload(true)\n })\n this.updateEvent = null\n }\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.sw-update-popup\n position fixed\n right 1em\n bottom 1em\n padding 1em\n border 1px solid $accentColor\n border-radius 3px\n background #fff\n box-shadow 0 4px 16px rgba(0, 0, 0, 0.5)\n text-align center\n\n button\n margin-top 0.5em\n padding 0.25em 2em\n\n.sw-update-popup-enter-active, .sw-update-popup-leave-active\n transition opacity 0.3s, transform 0.3s\n\n.sw-update-popup-enter, .sw-update-popup-leave-to\n opacity 0\n transform translate(0, 50%) scale(0.5)\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/8d4c3f99eabef01f00ab590158ee9325.json b/node_modules/vuepress/node_modules/.cache/vuepress/8d4c3f99eabef01f00ab590158ee9325.json new file mode 100644 index 00000000..3df95857 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/8d4c3f99eabef01f00ab590158ee9325.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NotFound.vue?vue&type=template&id=5c808f81&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NotFound.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div class=\"theme-container\">\n <div class=\"content\">\n <h1>404</h1>\n <blockquote>{{ getMsg() }}</blockquote>\n <router-link to=\"/\">Take me home.</router-link>\n </div>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/8e81ecdca24e383899433582afdb3488.json b/node_modules/vuepress/node_modules/.cache/vuepress/8e81ecdca24e383899433582afdb3488.json new file mode 100644 index 00000000..f61b89bc --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/8e81ecdca24e383899433582afdb3488.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/README.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/README.md","mtime":1541486439372},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./README.md?vue&type=template&id=271aadf1&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"README.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/8e9ec34cb07091a253211c58c8afcac5.json b/node_modules/vuepress/node_modules/.cache/vuepress/8e9ec34cb07091a253211c58c8afcac5.json new file mode 100644 index 00000000..001b0dd9 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/8e9ec34cb07091a253211c58c8afcac5.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/manual/introduction.md?vue&type=template&id=9104bc32&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/manual/introduction.md","mtime":1541555949495},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"title1\"><a class=\"header-anchor\" href=\"#title1\" aria-hidden=\"true\">#</a> Title1</h1>\n<p><div class=\"table-of-contents\"><ul><li><a href=\"#title2\">Title2</a><ul><li><a href=\"#title3\">Title3</a></li><li><a href=\"#title3\">Title3</a></li></ul></li><li><a href=\"#title2\">Title2</a><ul><li><a href=\"#title3\">Title3</a></li></ul></li></ul></div></p>\n<h2 id=\"title2\"><a class=\"header-anchor\" href=\"#title2\" aria-hidden=\"true\">#</a> Title2</h2>\n<h3 id=\"title3\"><a class=\"header-anchor\" href=\"#title3\" aria-hidden=\"true\">#</a> Title3</h3>\n<h4 id=\"title4\"><a class=\"header-anchor\" href=\"#title4\" aria-hidden=\"true\">#</a> Title4</h4>\n<h5 id=\"title5\"><a class=\"header-anchor\" href=\"#title5\" aria-hidden=\"true\">#</a> Title5</h5>\n<p>...</p>\n<h5 id=\"title5-2\"><a class=\"header-anchor\" href=\"#title5-2\" aria-hidden=\"true\">#</a> Title5</h5>\n<p>...</p>\n<h4 id=\"title4-2\"><a class=\"header-anchor\" href=\"#title4-2\" aria-hidden=\"true\">#</a> Title4</h4>\n<p>...</p>\n<h3 id=\"title3-2\"><a class=\"header-anchor\" href=\"#title3-2\" aria-hidden=\"true\">#</a> Title3</h3>\n<p>...</p>\n<h2 id=\"title2-2\"><a class=\"header-anchor\" href=\"#title2-2\" aria-hidden=\"true\">#</a> Title2</h2>\n<p>...</p>\n<h3 id=\"title3-3\"><a class=\"header-anchor\" href=\"#title3-3\" aria-hidden=\"true\">#</a> Title3</h3>\n<p>...</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/8ea2a537d8582b5db39c702c9a2325d5.json b/node_modules/vuepress/node_modules/.cache/vuepress/8ea2a537d8582b5db39c702c9a2325d5.json new file mode 100644 index 00000000..64a57086 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/8ea2a537d8582b5db39c702c9a2325d5.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/src/.vuepress/enhanceApp.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/.vuepress/enhanceApp.js","mtime":1541576687752},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["function integrateGitalk(router) {\n var linkGitalk = document.createElement('link');\n linkGitalk.href = '/assets/css/gitalk.css';\n linkGitalk.rel = 'stylesheet';\n document.body.appendChild(linkGitalk);\n var scriptGitalk = document.createElement('script');\n scriptGitalk.src = '/assets/js/gitalk.min.js';\n document.body.appendChild(scriptGitalk);\n router.afterEach(function (to) {\n if (scriptGitalk.onload) {\n loadGitalk(to);\n } else {\n scriptGitalk.onload = function () {\n loadGitalk(to);\n };\n }\n });\n\n function loadGitalk(to) {\n var commentsContainer = document.createElement('div');\n commentsContainer.id = 'gitalk-container';\n commentsContainer.classList.add('content');\n var $page = document.querySelector('.page');\n\n if ($page) {\n $page.appendChild(commentsContainer);\n renderGitalk(to.fullPath);\n }\n }\n\n function renderGitalk(fullPath) {\n var gitalk = new Gitalk({\n clientID: '3ebed7fd0834268f0add',\n clientSecret: 'b68e2ebf0bd9358eccaf3159f3a4cebb66e3b398',\n repo: 'tbox-docs',\n owner: 'waruqi',\n admin: ['waruqi'],\n id: 'comment',\n distractionFreeMode: false\n });\n gitalk.render('gitalk-container');\n }\n}\n\nexport default (function (_ref) {\n var Vue = _ref.Vue,\n options = _ref.options,\n router = _ref.router,\n siteData = _ref.siteData;\n\n try {\n document && integrateGitalk(router);\n } catch (e) {\n console.error(e.message);\n }\n});",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/8f02e49d19d6cc2445571ba5814d950b.json b/node_modules/vuepress/node_modules/.cache/vuepress/8f02e49d19d6cc2445571ba5814d950b.json new file mode 100644 index 00000000..277ff171 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/8f02e49d19d6cc2445571ba5814d950b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/components/ClientOnly.js","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/components/ClientOnly.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["export default {\n functional: true,\n render: function render(h, _ref) {\n var parent = _ref.parent,\n children = _ref.children;\n\n if (parent._isMounted) {\n return children;\n } else {\n parent.$once('hook:mounted', function () {\n parent.$forceUpdate();\n });\n }\n }\n};",{"version":3,"sources":["node_modules/vuepress/lib/app/components/ClientOnly.js"],"names":["functional","render","h","parent","children","_isMounted","$once","$forceUpdate"],"mappings":"AAAA,eAAe;AACbA,cAAY,IADC;AAEbC,QAFa,kBAELC,CAFK,QAEoB;AAAA,QAApBC,MAAoB,QAApBA,MAAoB;AAAA,QAAZC,QAAY,QAAZA,QAAY;;AAC/B,QAAID,OAAOE,UAAX,EAAuB;AACrB,aAAOD,QAAP;AACD,KAFD,MAEO;AACLD,aAAOG,KAAP,CAAa,cAAb,EAA6B,YAAM;AACjCH,eAAOI,YAAP;AACD,OAFD;AAGD;AACF;AAVY,CAAf","sourceRoot":"/Users/ruki/projects/personal/xmake-docs","sourcesContent":["export default {\n functional: true,\n render (h, { parent, children }) {\n if (parent._isMounted) {\n return children\n } else {\n parent.$once('hook:mounted', () => {\n parent.$forceUpdate()\n })\n }\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/8fc010bf23cb2857bda21193f475a601.json b/node_modules/vuepress/node_modules/.cache/vuepress/8fc010bf23cb2857bda21193f475a601.json new file mode 100644 index 00000000..72f4dda7 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/8fc010bf23cb2857bda21193f475a601.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/manual.md?vue&type=template&id=9258e588&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/manual.md","mtime":1489213929000},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/8fdcedd1bd0cd7aba4876d8548f148bb.json b/node_modules/vuepress/node_modules/.cache/vuepress/8fdcedd1bd0cd7aba4876d8548f148bb.json new file mode 100644 index 00000000..09a2cc24 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/8fdcedd1bd0cd7aba4876d8548f148bb.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Home.vue?vue&type=template&id=b8539214&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Home.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div class=\"home\">\n <div class=\"hero\">\n <img\n v-if=\"data.heroImage\"\n :src=\"$withBase(data.heroImage)\"\n alt=\"hero\"\n >\n\n <h1>{{ data.heroText || $title || 'Hello' }}</h1>\n\n <p class=\"description\">\n {{ data.tagline || $description || 'Welcome to your VuePress site' }}\n </p>\n\n <p\n class=\"action\"\n v-if=\"data.actionText && data.actionLink\"\n >\n <NavLink\n class=\"action-button\"\n :item=\"actionLink\"\n />\n </p>\n </div>\n\n <div\n class=\"features\"\n v-if=\"data.features && data.features.length\"\n >\n <div\n class=\"feature\"\n v-for=\"(feature, index) in data.features\"\n :key=\"index\"\n >\n <h2>{{ feature.title }}</h2>\n <p>{{ feature.details }}</p>\n </div>\n </div>\n\n <Content custom/>\n\n <div\n class=\"footer\"\n v-if=\"data.footer\"\n >\n {{ data.footer }}\n </div>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/9092bb9d592d4151a0d415e7c34ebc8e.json b/node_modules/vuepress/node_modules/.cache/vuepress/9092bb9d592d4151a0d415e7c34ebc8e.json new file mode 100644 index 00000000..c1912bb9 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/9092bb9d592d4151a0d415e7c34ebc8e.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/util.js","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/util.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import \"core-js/modules/es6.array.index-of\";\nimport \"core-js/modules/es6.array.is-array\";\nimport \"core-js/modules/es6.array.filter\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/es6.regexp.split\";\nimport \"core-js/modules/es6.object.assign\";\nimport \"core-js/modules/es6.regexp.match\";\nimport \"core-js/modules/es6.regexp.replace\";\nexport var hashRE = /#.*$/;\nexport var extRE = /\\.(md|html)$/;\nexport var endingSlashRE = /\\/$/;\nexport var outboundRE = /^(https?:|mailto:|tel:)/;\nexport function normalize(path) {\n return decodeURI(path).replace(hashRE, '').replace(extRE, '');\n}\nexport function getHash(path) {\n var match = path.match(hashRE);\n\n if (match) {\n return match[0];\n }\n}\nexport function isExternal(path) {\n return outboundRE.test(path);\n}\nexport function isMailto(path) {\n return /^mailto:/.test(path);\n}\nexport function isTel(path) {\n return /^tel:/.test(path);\n}\nexport function ensureExt(path) {\n if (isExternal(path)) {\n return path;\n }\n\n var hashMatch = path.match(hashRE);\n var hash = hashMatch ? hashMatch[0] : '';\n var normalized = normalize(path);\n\n if (endingSlashRE.test(normalized)) {\n return path;\n }\n\n return normalized + '.html' + hash;\n}\nexport function isActive(route, path) {\n var routeHash = route.hash;\n var linkHash = getHash(path);\n\n if (linkHash && routeHash !== linkHash) {\n return false;\n }\n\n var routePath = normalize(route.path);\n var pagePath = normalize(path);\n return routePath === pagePath;\n}\nexport function resolvePage(pages, rawPath, base) {\n if (base) {\n rawPath = resolvePath(rawPath, base);\n }\n\n var path = normalize(rawPath);\n\n for (var i = 0; i < pages.length; i++) {\n if (normalize(pages[i].path) === path) {\n return Object.assign({}, pages[i], {\n type: 'page',\n path: ensureExt(rawPath)\n });\n }\n }\n\n console.error(\"[vuepress] No matching page found for sidebar item \\\"\".concat(rawPath, \"\\\"\"));\n return {};\n}\n\nfunction resolvePath(relative, base, append) {\n var firstChar = relative.charAt(0);\n\n if (firstChar === '/') {\n return relative;\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative;\n }\n\n var stack = base.split('/'); // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n } // resolve relative path\n\n\n var segments = relative.replace(/^\\//, '').split('/');\n\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n } // ensure leading slash\n\n\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/');\n}\n\nexport function resolveSidebarItems(page, route, site, localePath) {\n var pages = site.pages,\n themeConfig = site.themeConfig;\n var localeConfig = localePath && themeConfig.locales ? themeConfig.locales[localePath] || themeConfig : themeConfig;\n var pageSidebarConfig = page.frontmatter.sidebar || localeConfig.sidebar || themeConfig.sidebar;\n\n if (pageSidebarConfig === 'auto') {\n return resolveHeaders(page);\n }\n\n var sidebarConfig = localeConfig.sidebar || themeConfig.sidebar;\n\n if (!sidebarConfig) {\n return [];\n } else {\n var _resolveMatchingConfi = resolveMatchingConfig(route, sidebarConfig),\n base = _resolveMatchingConfi.base,\n config = _resolveMatchingConfi.config;\n\n return config ? config.map(function (item) {\n return resolveItem(item, pages, base);\n }) : [];\n }\n}\n\nfunction resolveHeaders(page) {\n var headers = groupHeaders(page.headers || []);\n return [{\n type: 'group',\n collapsable: false,\n title: page.title,\n children: headers.map(function (h) {\n return {\n type: 'auto',\n title: h.title,\n basePath: page.path,\n path: page.path + '#' + h.slug,\n children: h.children || []\n };\n })\n }];\n}\n\nexport function groupHeaders(headers) {\n // group h3s under h2\n headers = headers.map(function (h) {\n return Object.assign({}, h);\n });\n var lastH2;\n headers.forEach(function (h) {\n if (h.level === 2) {\n lastH2 = h;\n } else if (lastH2) {\n (lastH2.children || (lastH2.children = [])).push(h);\n }\n });\n return headers.filter(function (h) {\n return h.level === 2;\n });\n}\nexport function resolveNavLinkItem(linkItem) {\n return Object.assign(linkItem, {\n type: linkItem.items && linkItem.items.length ? 'links' : 'link'\n });\n}\nexport function resolveMatchingConfig(route, config) {\n if (Array.isArray(config)) {\n return {\n base: '/',\n config: config\n };\n }\n\n for (var base in config) {\n if (ensureEndingSlash(route.path).indexOf(base) === 0) {\n return {\n base: base,\n config: config[base]\n };\n }\n }\n\n return {};\n}\n\nfunction ensureEndingSlash(path) {\n return /(\\.html|\\/)$/.test(path) ? path : path + '/';\n}\n\nfunction resolveItem(item, pages, base, isNested) {\n if (typeof item === 'string') {\n return resolvePage(pages, item, base);\n } else if (Array.isArray(item)) {\n return Object.assign(resolvePage(pages, item[0], base), {\n title: item[1]\n });\n } else {\n if (isNested) {\n console.error('[vuepress] Nested sidebar groups are not supported. ' + 'Consider using navbar + categories instead.');\n }\n\n var children = item.children || [];\n return {\n type: 'group',\n title: item.title,\n children: children.map(function (child) {\n return resolveItem(child, pages, base, true);\n }),\n collapsable: item.collapsable !== false\n };\n }\n}",{"version":3,"sources":["node_modules/vuepress/lib/default-theme/util.js"],"names":["hashRE","extRE","endingSlashRE","outboundRE","normalize","path","decodeURI","replace","getHash","match","isExternal","test","isMailto","isTel","ensureExt","hashMatch","hash","normalized","isActive","route","routeHash","linkHash","routePath","pagePath","resolvePage","pages","rawPath","base","resolvePath","i","length","Object","assign","type","console","error","relative","append","firstChar","charAt","stack","split","pop","segments","segment","push","unshift","join","resolveSidebarItems","page","site","localePath","themeConfig","localeConfig","locales","pageSidebarConfig","frontmatter","sidebar","resolveHeaders","sidebarConfig","resolveMatchingConfig","config","map","resolveItem","item","headers","groupHeaders","collapsable","title","children","h","basePath","slug","lastH2","forEach","level","filter","resolveNavLinkItem","linkItem","items","Array","isArray","ensureEndingSlash","indexOf","isNested","child"],"mappings":";;;;;;;;;;AAAA,OAAO,IAAMA,SAAS,MAAf;AACP,OAAO,IAAMC,QAAQ,cAAd;AACP,OAAO,IAAMC,gBAAgB,KAAtB;AACP,OAAO,IAAMC,aAAa,yBAAnB;AAEP,OAAO,SAASC,SAAT,CAAoBC,IAApB,EAA0B;AAC/B,SAAOC,UAAUD,IAAV,EACJE,OADI,CACIP,MADJ,EACY,EADZ,EAEJO,OAFI,CAEIN,KAFJ,EAEW,EAFX,CAAP;AAGD;AAED,OAAO,SAASO,OAAT,CAAkBH,IAAlB,EAAwB;AAC7B,MAAMI,QAAQJ,KAAKI,KAAL,CAAWT,MAAX,CAAd;;AACA,MAAIS,KAAJ,EAAW;AACT,WAAOA,MAAM,CAAN,CAAP;AACD;AACF;AAED,OAAO,SAASC,UAAT,CAAqBL,IAArB,EAA2B;AAChC,SAAOF,WAAWQ,IAAX,CAAgBN,IAAhB,CAAP;AACD;AAED,OAAO,SAASO,QAAT,CAAmBP,IAAnB,EAAyB;AAC9B,SAAO,WAAWM,IAAX,CAAgBN,IAAhB,CAAP;AACD;AAED,OAAO,SAASQ,KAAT,CAAgBR,IAAhB,EAAsB;AAC3B,SAAO,QAAQM,IAAR,CAAaN,IAAb,CAAP;AACD;AAED,OAAO,SAASS,SAAT,CAAoBT,IAApB,EAA0B;AAC/B,MAAIK,WAAWL,IAAX,CAAJ,EAAsB;AACpB,WAAOA,IAAP;AACD;;AACD,MAAMU,YAAYV,KAAKI,KAAL,CAAWT,MAAX,CAAlB;AACA,MAAMgB,OAAOD,YAAYA,UAAU,CAAV,CAAZ,GAA2B,EAAxC;AACA,MAAME,aAAab,UAAUC,IAAV,CAAnB;;AAEA,MAAIH,cAAcS,IAAd,CAAmBM,UAAnB,CAAJ,EAAoC;AAClC,WAAOZ,IAAP;AACD;;AACD,SAAOY,aAAa,OAAb,GAAuBD,IAA9B;AACD;AAED,OAAO,SAASE,QAAT,CAAmBC,KAAnB,EAA0Bd,IAA1B,EAAgC;AACrC,MAAMe,YAAYD,MAAMH,IAAxB;AACA,MAAMK,WAAWb,QAAQH,IAAR,CAAjB;;AACA,MAAIgB,YAAYD,cAAcC,QAA9B,EAAwC;AACtC,WAAO,KAAP;AACD;;AACD,MAAMC,YAAYlB,UAAUe,MAAMd,IAAhB,CAAlB;AACA,MAAMkB,WAAWnB,UAAUC,IAAV,CAAjB;AACA,SAAOiB,cAAcC,QAArB;AACD;AAED,OAAO,SAASC,WAAT,CAAsBC,KAAtB,EAA6BC,OAA7B,EAAsCC,IAAtC,EAA4C;AACjD,MAAIA,IAAJ,EAAU;AACRD,cAAUE,YAAYF,OAAZ,EAAqBC,IAArB,CAAV;AACD;;AACD,MAAMtB,OAAOD,UAAUsB,OAAV,CAAb;;AACA,OAAK,IAAIG,IAAI,CAAb,EAAgBA,IAAIJ,MAAMK,MAA1B,EAAkCD,GAAlC,EAAuC;AACrC,QAAIzB,UAAUqB,MAAMI,CAAN,EAASxB,IAAnB,MAA6BA,IAAjC,EAAuC;AACrC,aAAO0B,OAAOC,MAAP,CAAc,EAAd,EAAkBP,MAAMI,CAAN,CAAlB,EAA4B;AACjCI,cAAM,MAD2B;AAEjC5B,cAAMS,UAAUY,OAAV;AAF2B,OAA5B,CAAP;AAID;AACF;;AACDQ,UAAQC,KAAR,gEAAqET,OAArE;AACA,SAAO,EAAP;AACD;;AAED,SAASE,WAAT,CAAsBQ,QAAtB,EAAgCT,IAAhC,EAAsCU,MAAtC,EAA8C;AAC5C,MAAMC,YAAYF,SAASG,MAAT,CAAgB,CAAhB,CAAlB;;AACA,MAAID,cAAc,GAAlB,EAAuB;AACrB,WAAOF,QAAP;AACD;;AAED,MAAIE,cAAc,GAAd,IAAqBA,cAAc,GAAvC,EAA4C;AAC1C,WAAOX,OAAOS,QAAd;AACD;;AAED,MAAMI,QAAQb,KAAKc,KAAL,CAAW,GAAX,CAAd,CAV4C,CAY5C;AACA;AACA;;AACA,MAAI,CAACJ,MAAD,IAAW,CAACG,MAAMA,MAAMV,MAAN,GAAe,CAArB,CAAhB,EAAyC;AACvCU,UAAME,GAAN;AACD,GAjB2C,CAmB5C;;;AACA,MAAMC,WAAWP,SAAS7B,OAAT,CAAiB,KAAjB,EAAwB,EAAxB,EAA4BkC,KAA5B,CAAkC,GAAlC,CAAjB;;AACA,OAAK,IAAIZ,IAAI,CAAb,EAAgBA,IAAIc,SAASb,MAA7B,EAAqCD,GAArC,EAA0C;AACxC,QAAMe,UAAUD,SAASd,CAAT,CAAhB;;AACA,QAAIe,YAAY,IAAhB,EAAsB;AACpBJ,YAAME,GAAN;AACD,KAFD,MAEO,IAAIE,YAAY,GAAhB,EAAqB;AAC1BJ,YAAMK,IAAN,CAAWD,OAAX;AACD;AACF,GA5B2C,CA8B5C;;;AACA,MAAIJ,MAAM,CAAN,MAAa,EAAjB,EAAqB;AACnBA,UAAMM,OAAN,CAAc,EAAd;AACD;;AAED,SAAON,MAAMO,IAAN,CAAW,GAAX,CAAP;AACD;;AAED,OAAO,SAASC,mBAAT,CAA8BC,IAA9B,EAAoC9B,KAApC,EAA2C+B,IAA3C,EAAiDC,UAAjD,EAA6D;AAAA,MAC1D1B,KAD0D,GACnCyB,IADmC,CAC1DzB,KAD0D;AAAA,MACnD2B,WADmD,GACnCF,IADmC,CACnDE,WADmD;AAGlE,MAAMC,eAAeF,cAAcC,YAAYE,OAA1B,GACjBF,YAAYE,OAAZ,CAAoBH,UAApB,KAAmCC,WADlB,GAEjBA,WAFJ;AAIA,MAAMG,oBAAoBN,KAAKO,WAAL,CAAiBC,OAAjB,IAA4BJ,aAAaI,OAAzC,IAAoDL,YAAYK,OAA1F;;AACA,MAAIF,sBAAsB,MAA1B,EAAkC;AAChC,WAAOG,eAAeT,IAAf,CAAP;AACD;;AAED,MAAMU,gBAAgBN,aAAaI,OAAb,IAAwBL,YAAYK,OAA1D;;AACA,MAAI,CAACE,aAAL,EAAoB;AAClB,WAAO,EAAP;AACD,GAFD,MAEO;AAAA,gCACoBC,sBAAsBzC,KAAtB,EAA6BwC,aAA7B,CADpB;AAAA,QACGhC,IADH,yBACGA,IADH;AAAA,QACSkC,MADT,yBACSA,MADT;;AAEL,WAAOA,SACHA,OAAOC,GAAP,CAAW;AAAA,aAAQC,YAAYC,IAAZ,EAAkBvC,KAAlB,EAAyBE,IAAzB,CAAR;AAAA,KAAX,CADG,GAEH,EAFJ;AAGD;AACF;;AAED,SAAS+B,cAAT,CAAyBT,IAAzB,EAA+B;AAC7B,MAAMgB,UAAUC,aAAajB,KAAKgB,OAAL,IAAgB,EAA7B,CAAhB;AACA,SAAO,CAAC;AACNhC,UAAM,OADA;AAENkC,iBAAa,KAFP;AAGNC,WAAOnB,KAAKmB,KAHN;AAINC,cAAUJ,QAAQH,GAAR,CAAY;AAAA,aAAM;AAC1B7B,cAAM,MADoB;AAE1BmC,eAAOE,EAAEF,KAFiB;AAG1BG,kBAAUtB,KAAK5C,IAHW;AAI1BA,cAAM4C,KAAK5C,IAAL,GAAY,GAAZ,GAAkBiE,EAAEE,IAJA;AAK1BH,kBAAUC,EAAED,QAAF,IAAc;AALE,OAAN;AAAA,KAAZ;AAJJ,GAAD,CAAP;AAYD;;AAED,OAAO,SAASH,YAAT,CAAuBD,OAAvB,EAAgC;AACrC;AACAA,YAAUA,QAAQH,GAAR,CAAY;AAAA,WAAK/B,OAAOC,MAAP,CAAc,EAAd,EAAkBsC,CAAlB,CAAL;AAAA,GAAZ,CAAV;AACA,MAAIG,MAAJ;AACAR,UAAQS,OAAR,CAAgB,aAAK;AACnB,QAAIJ,EAAEK,KAAF,KAAY,CAAhB,EAAmB;AACjBF,eAASH,CAAT;AACD,KAFD,MAEO,IAAIG,MAAJ,EAAY;AACjB,OAACA,OAAOJ,QAAP,KAAoBI,OAAOJ,QAAP,GAAkB,EAAtC,CAAD,EAA4CxB,IAA5C,CAAiDyB,CAAjD;AACD;AACF,GAND;AAOA,SAAOL,QAAQW,MAAR,CAAe;AAAA,WAAKN,EAAEK,KAAF,KAAY,CAAjB;AAAA,GAAf,CAAP;AACD;AAED,OAAO,SAASE,kBAAT,CAA6BC,QAA7B,EAAuC;AAC5C,SAAO/C,OAAOC,MAAP,CAAc8C,QAAd,EAAwB;AAC7B7C,UAAM6C,SAASC,KAAT,IAAkBD,SAASC,KAAT,CAAejD,MAAjC,GAA0C,OAA1C,GAAoD;AAD7B,GAAxB,CAAP;AAGD;AAED,OAAO,SAAS8B,qBAAT,CAAgCzC,KAAhC,EAAuC0C,MAAvC,EAA+C;AACpD,MAAImB,MAAMC,OAAN,CAAcpB,MAAd,CAAJ,EAA2B;AACzB,WAAO;AACLlC,YAAM,GADD;AAELkC,cAAQA;AAFH,KAAP;AAID;;AACD,OAAK,IAAMlC,IAAX,IAAmBkC,MAAnB,EAA2B;AACzB,QAAIqB,kBAAkB/D,MAAMd,IAAxB,EAA8B8E,OAA9B,CAAsCxD,IAAtC,MAAgD,CAApD,EAAuD;AACrD,aAAO;AACLA,kBADK;AAELkC,gBAAQA,OAAOlC,IAAP;AAFH,OAAP;AAID;AACF;;AACD,SAAO,EAAP;AACD;;AAED,SAASuD,iBAAT,CAA4B7E,IAA5B,EAAkC;AAChC,SAAO,eAAeM,IAAf,CAAoBN,IAApB,IACHA,IADG,GAEHA,OAAO,GAFX;AAGD;;AAED,SAAS0D,WAAT,CAAsBC,IAAtB,EAA4BvC,KAA5B,EAAmCE,IAAnC,EAAyCyD,QAAzC,EAAmD;AACjD,MAAI,OAAOpB,IAAP,KAAgB,QAApB,EAA8B;AAC5B,WAAOxC,YAAYC,KAAZ,EAAmBuC,IAAnB,EAAyBrC,IAAzB,CAAP;AACD,GAFD,MAEO,IAAIqD,MAAMC,OAAN,CAAcjB,IAAd,CAAJ,EAAyB;AAC9B,WAAOjC,OAAOC,MAAP,CAAcR,YAAYC,KAAZ,EAAmBuC,KAAK,CAAL,CAAnB,EAA4BrC,IAA5B,CAAd,EAAiD;AACtDyC,aAAOJ,KAAK,CAAL;AAD+C,KAAjD,CAAP;AAGD,GAJM,MAIA;AACL,QAAIoB,QAAJ,EAAc;AACZlD,cAAQC,KAAR,CACE,yDACA,6CAFF;AAID;;AACD,QAAMkC,WAAWL,KAAKK,QAAL,IAAiB,EAAlC;AACA,WAAO;AACLpC,YAAM,OADD;AAELmC,aAAOJ,KAAKI,KAFP;AAGLC,gBAAUA,SAASP,GAAT,CAAa;AAAA,eAASC,YAAYsB,KAAZ,EAAmB5D,KAAnB,EAA0BE,IAA1B,EAAgC,IAAhC,CAAT;AAAA,OAAb,CAHL;AAILwC,mBAAaH,KAAKG,WAAL,KAAqB;AAJ7B,KAAP;AAMD;AACF","sourceRoot":"/Users/ruki/projects/personal/xmake-docs","sourcesContent":["export const hashRE = /#.*$/\nexport const extRE = /\\.(md|html)$/\nexport const endingSlashRE = /\\/$/\nexport const outboundRE = /^(https?:|mailto:|tel:)/\n\nexport function normalize (path) {\n return decodeURI(path)\n .replace(hashRE, '')\n .replace(extRE, '')\n}\n\nexport function getHash (path) {\n const match = path.match(hashRE)\n if (match) {\n return match[0]\n }\n}\n\nexport function isExternal (path) {\n return outboundRE.test(path)\n}\n\nexport function isMailto (path) {\n return /^mailto:/.test(path)\n}\n\nexport function isTel (path) {\n return /^tel:/.test(path)\n}\n\nexport function ensureExt (path) {\n if (isExternal(path)) {\n return path\n }\n const hashMatch = path.match(hashRE)\n const hash = hashMatch ? hashMatch[0] : ''\n const normalized = normalize(path)\n\n if (endingSlashRE.test(normalized)) {\n return path\n }\n return normalized + '.html' + hash\n}\n\nexport function isActive (route, path) {\n const routeHash = route.hash\n const linkHash = getHash(path)\n if (linkHash && routeHash !== linkHash) {\n return false\n }\n const routePath = normalize(route.path)\n const pagePath = normalize(path)\n return routePath === pagePath\n}\n\nexport function resolvePage (pages, rawPath, base) {\n if (base) {\n rawPath = resolvePath(rawPath, base)\n }\n const path = normalize(rawPath)\n for (let i = 0; i < pages.length; i++) {\n if (normalize(pages[i].path) === path) {\n return Object.assign({}, pages[i], {\n type: 'page',\n path: ensureExt(rawPath)\n })\n }\n }\n console.error(`[vuepress] No matching page found for sidebar item \"${rawPath}\"`)\n return {}\n}\n\nfunction resolvePath (relative, base, append) {\n const firstChar = relative.charAt(0)\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n const stack = base.split('/')\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop()\n }\n\n // resolve relative path\n const segments = relative.replace(/^\\//, '').split('/')\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i]\n if (segment === '..') {\n stack.pop()\n } else if (segment !== '.') {\n stack.push(segment)\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('')\n }\n\n return stack.join('/')\n}\n\nexport function resolveSidebarItems (page, route, site, localePath) {\n const { pages, themeConfig } = site\n\n const localeConfig = localePath && themeConfig.locales\n ? themeConfig.locales[localePath] || themeConfig\n : themeConfig\n\n const pageSidebarConfig = page.frontmatter.sidebar || localeConfig.sidebar || themeConfig.sidebar\n if (pageSidebarConfig === 'auto') {\n return resolveHeaders(page)\n }\n\n const sidebarConfig = localeConfig.sidebar || themeConfig.sidebar\n if (!sidebarConfig) {\n return []\n } else {\n const { base, config } = resolveMatchingConfig(route, sidebarConfig)\n return config\n ? config.map(item => resolveItem(item, pages, base))\n : []\n }\n}\n\nfunction resolveHeaders (page) {\n const headers = groupHeaders(page.headers || [])\n return [{\n type: 'group',\n collapsable: false,\n title: page.title,\n children: headers.map(h => ({\n type: 'auto',\n title: h.title,\n basePath: page.path,\n path: page.path + '#' + h.slug,\n children: h.children || []\n }))\n }]\n}\n\nexport function groupHeaders (headers) {\n // group h3s under h2\n headers = headers.map(h => Object.assign({}, h))\n let lastH2\n headers.forEach(h => {\n if (h.level === 2) {\n lastH2 = h\n } else if (lastH2) {\n (lastH2.children || (lastH2.children = [])).push(h)\n }\n })\n return headers.filter(h => h.level === 2)\n}\n\nexport function resolveNavLinkItem (linkItem) {\n return Object.assign(linkItem, {\n type: linkItem.items && linkItem.items.length ? 'links' : 'link'\n })\n}\n\nexport function resolveMatchingConfig (route, config) {\n if (Array.isArray(config)) {\n return {\n base: '/',\n config: config\n }\n }\n for (const base in config) {\n if (ensureEndingSlash(route.path).indexOf(base) === 0) {\n return {\n base,\n config: config[base]\n }\n }\n }\n return {}\n}\n\nfunction ensureEndingSlash (path) {\n return /(\\.html|\\/)$/.test(path)\n ? path\n : path + '/'\n}\n\nfunction resolveItem (item, pages, base, isNested) {\n if (typeof item === 'string') {\n return resolvePage(pages, item, base)\n } else if (Array.isArray(item)) {\n return Object.assign(resolvePage(pages, item[0], base), {\n title: item[1]\n })\n } else {\n if (isNested) {\n console.error(\n '[vuepress] Nested sidebar groups are not supported. ' +\n 'Consider using navbar + categories instead.'\n )\n }\n const children = item.children || []\n return {\n type: 'group',\n title: item.title,\n children: children.map(child => resolveItem(child, pages, base, true)),\n collapsable: item.collapsable !== false\n }\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/90e31e243d7a8f2e75ac95a52af12357.json b/node_modules/vuepress/node_modules/.cache/vuepress/90e31e243d7a8f2e75ac95a52af12357.json new file mode 100644 index 00000000..165ebfe7 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/90e31e243d7a8f2e75ac95a52af12357.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.sidebar\n ul\n padding 0\n margin 0\n list-style-type none\n a\n display inline-block\n .nav-links\n display none\n border-bottom 1px solid $borderColor\n padding 0.5rem 0 0.75rem 0\n a\n font-weight 600\n .nav-item, .repo-link\n display block\n line-height 1.25rem\n font-size 1.1em\n padding 0.5rem 0 0.5rem 1.5rem\n .sidebar-links\n padding 1.5rem 0\n\n@media (max-width: $MQMobile)\n .sidebar\n .nav-links\n display block\n .dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active::after\n top calc(1rem - 2px)\n .sidebar-links\n padding 1rem 0\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/90e875f1d013d97047cf81dbedab44c5.json b/node_modules/vuepress/node_modules/.cache/vuepress/90e875f1d013d97047cf81dbedab44c5.json new file mode 100644 index 00000000..052f0677 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/90e875f1d013d97047cf81dbedab44c5.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/README.md?vue&type=template&id=4f009e77&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/README.md","mtime":1541513030109},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><!--beforebegin--><div class=\"language-c extra-class\"><!--afterbegin--><pre v-pre class=\"language-c\"><code><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">\"tbox/tbox.h\"</span></span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> argc<span class=\"token punctuation\">,</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span> argv<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// init tbox</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">tb_init</span><span class=\"token punctuation\">(</span>tb_null<span class=\"token punctuation\">,</span> tb_null<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// init vector</span>\n tb_vector_ref_t vector <span class=\"token operator\">=</span> <span class=\"token function\">tb_vector_init</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">tb_element_cstr</span><span class=\"token punctuation\">(</span>tb_true<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// insert item</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// dump all items</span>\n tb_for_all <span class=\"token punctuation\">(</span>tb_char_t <span class=\"token keyword\">const</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">,</span> vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%s\"</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit vector</span>\n <span class=\"token function\">tb_vector_exit</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit tbox</span>\n <span class=\"token function\">tb_exit</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/92920cb26ba237506de3f58d6575890d.json b/node_modules/vuepress/node_modules/.cache/vuepress/92920cb26ba237506de3f58d6575890d.json new file mode 100644 index 00000000..188aae9e --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/92920cb26ba237506de3f58d6575890d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/manual/index.md?vue&type=template&id=a7d8d386&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/manual/index.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"manual\"><a class=\"header-anchor\" href=\"#manual\" aria-hidden=\"true\">#</a> Manual</h1>\n<p>[TODO]</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/92c82df288793a5128ee4fd9dcba5525.json b/node_modules/vuepress/node_modules/.cache/vuepress/92c82df288793a5128ee4fd9dcba5525.json new file mode 100644 index 00000000..87d762dd --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/92c82df288793a5128ee4fd9dcba5525.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/README.md?vue&type=template&id=5fa9442e&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/README.md","mtime":1541486439372},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/930e3156412e8a2ec8a727899ab3afc5.json b/node_modules/vuepress/node_modules/.cache/vuepress/930e3156412e8a2ec8a727899ab3afc5.json new file mode 100644 index 00000000..7724716f --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/930e3156412e8a2ec8a727899ab3afc5.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/getting-started.md?vue&type=template&id=b833ee74&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/getting-started.md","mtime":1541489096650},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"快速开始\"><a class=\"header-anchor\" href=\"#快速开始\" aria-hidden=\"true\">#</a> 快速开始</h1>\n<h2 id=\"编译\"><a class=\"header-anchor\" href=\"#编译\" aria-hidden=\"true\">#</a> 编译</h2>\n<p>请先安装: <a href=\"https://github.com/tboox/xmake\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></p>\n<!--beforebegin--><div class=\"language-console extra-class\"><!--afterbegin--><pre v-pre class=\"language-text\"><code># 默认直接编译当前主机平台\n$ cd ./tbox\n$ xmake\n\n# 编译mingw平台\n$ cd ./tbox\n$ xmake f -p mingw --sdk=/home/mingwsdk \n$ xmake\n\n# 编译iphoneos平台\n$ cd ./tbox\n$ xmake f -p iphoneos \n$ xmake\n\n# 编译android平台\n$ cd ./tbox\n$ xmake f -p android --ndk=xxxxx\n$ xmake\n\n# 交叉编译\n$ cd ./tbox\n$ xmake f -p linux --sdk=/home/sdk #--bin=/home/sdk/bin\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"例子\"><a class=\"header-anchor\" href=\"#例子\" aria-hidden=\"true\">#</a> 例子</h2>\n<!--beforebegin--><div class=\"language-c extra-class\"><!--afterbegin--><pre v-pre class=\"language-c\"><code><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">\"tbox/tbox.h\"</span></span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> argc<span class=\"token punctuation\">,</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span> argv<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// init tbox</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">tb_init</span><span class=\"token punctuation\">(</span>tb_null<span class=\"token punctuation\">,</span> tb_null<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"hello tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// init vector</span>\n tb_vector_ref_t vector <span class=\"token operator\">=</span> <span class=\"token function\">tb_vector_init</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">tb_element_cstr</span><span class=\"token punctuation\">(</span>tb_true<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// insert item</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// dump all items</span>\n tb_for_all <span class=\"token punctuation\">(</span>tb_char_t <span class=\"token keyword\">const</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">,</span> vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%s\"</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit vector</span>\n <span class=\"token function\">tb_vector_exit</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// init stream</span>\n tb_stream_ref_t stream <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_init_from_url</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"http://www.xxx.com/file.txt\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// open stream</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token function\">tb_stream_open</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// read line</span>\n tb_long_t size <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n tb_char_t line<span class=\"token punctuation\">[</span>TB_STREAM_BLOCK_MAXN<span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">while</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>size <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_bread_line</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">,</span> <span class=\"token keyword\">sizeof</span><span class=\"token punctuation\">(</span>line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">>=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"line: %s\"</span><span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit stream</span>\n <span class=\"token function\">tb_stream_exit</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// wait </span>\n <span class=\"token function\">getchar</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// exit tbox</span>\n <span class=\"token function\">tb_exit</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/9313259272bf3c4ca401007006c77348.json b/node_modules/vuepress/node_modules/.cache/vuepress/9313259272bf3c4ca401007006c77348.json new file mode 100644 index 00000000..bfe2ea33 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/9313259272bf3c4ca401007006c77348.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Home.vue","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Home.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=b8539214&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('b8539214', component.options)\n } else {\n api.reload('b8539214', component.options)\n }\n module.hot.accept(\"./Home.vue?vue&type=template&id=b8539214&\", function () {\n api.rerender('b8539214', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/default-theme/Home.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/9354aa8bfdb22b188e7cb049c9105e5f.json b/node_modules/vuepress/node_modules/.cache/vuepress/9354aa8bfdb22b188e7cb049c9105e5f.json new file mode 100644 index 00000000..bdcbb4dd --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/9354aa8bfdb22b188e7cb049c9105e5f.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/manual/index.md?vue&type=template&id=a7d8d386&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/manual/index.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._ssrNode(\"<h1 id=\\\"manual\\\"><a href=\\\"#manual\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Manual</h1> <p>[TODO]</p>\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/936d01e87ada11c1e07f0e29377e8601.json b/node_modules/vuepress/node_modules/.cache/vuepress/936d01e87ada11c1e07f0e29377e8601.json new file mode 100644 index 00000000..51d07abc --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/936d01e87ada11c1e07f0e29377e8601.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue?vue&type=template&id=02a4f89d&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"transition\",\n {\n attrs: { name: \"dropdown\" },\n on: {\n enter: _vm.setHeight,\n \"after-enter\": _vm.unsetHeight,\n \"before-leave\": _vm.setHeight\n }\n },\n [_vm._t(\"default\")],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/938e615fd670675714e5c766513a8e2c.json b/node_modules/vuepress/node_modules/.cache/vuepress/938e615fd670675714e5c766513a8e2c.json new file mode 100644 index 00000000..974a4a2d --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/938e615fd670675714e5c766513a8e2c.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/.temp/routes.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/.temp/routes.js","mtime":1541576694586},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import Vue from 'vue';\nimport ThemeLayout from '@themeLayout';\nimport ThemeNotFound from '@themeNotFound';\nimport { injectMixins } from '@app/util';\nimport rootMixins from '@app/root-mixins';\ninjectMixins(ThemeLayout, rootMixins);\ninjectMixins(ThemeNotFound, rootMixins);\nexport var routes = [{\n name: \"v-8ec055619cc9c\",\n path: \"/\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/README.md\").then(function (comp) {\n Vue.component(\"v-8ec055619cc9c\", comp.default);\n next();\n });\n }\n}, {\n path: \"/index.html\",\n redirect: \"/\"\n}, {\n name: \"v-9b37f125fa1b5\",\n path: \"/api/introduction.html\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/api/introduction.md\").then(function (comp) {\n Vue.component(\"v-9b37f125fa1b5\", comp.default);\n next();\n });\n }\n}, {\n name: \"v-fdaadba91de5a\",\n path: \"/guide/getting-started.html\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/guide/getting-started.md\").then(function (comp) {\n Vue.component(\"v-fdaadba91de5a\", comp.default);\n next();\n });\n }\n}, {\n name: \"v-8d2a8fad62319\",\n path: \"/guide/introduction.html\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/guide/introduction.md\").then(function (comp) {\n Vue.component(\"v-8d2a8fad62319\", comp.default);\n next();\n });\n }\n}, {\n name: \"v-9d03d1a24c541\",\n path: \"/zh/\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/zh/README.md\").then(function (comp) {\n Vue.component(\"v-9d03d1a24c541\", comp.default);\n next();\n });\n }\n}, {\n path: \"/zh/index.html\",\n redirect: \"/zh/\"\n}, {\n name: \"v-34ac182d991\",\n path: \"/zh/api/introduction.html\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/zh/api/introduction.md\").then(function (comp) {\n Vue.component(\"v-34ac182d991\", comp.default);\n next();\n });\n }\n}, {\n name: \"v-819b7a4c7f128\",\n path: \"/zh/guide/getting-started.html\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/getting-started.md\").then(function (comp) {\n Vue.component(\"v-819b7a4c7f128\", comp.default);\n next();\n });\n }\n}, {\n name: \"v-5a469fda81a59\",\n path: \"/zh/guide/introduction.html\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/introduction.md\").then(function (comp) {\n Vue.component(\"v-5a469fda81a59\", comp.default);\n next();\n });\n }\n}, {\n path: '*',\n component: ThemeNotFound\n}];",{"version":3,"sources":["node_modules/vuepress/lib/app/.temp/routes.js"],"names":["Vue","ThemeLayout","ThemeNotFound","injectMixins","rootMixins","routes","name","path","component","beforeEnter","to","from","next","then","comp","default","redirect"],"mappings":"AAAA,OAAOA,GAAP,MAAgB,KAAhB;AAEA,OAAOC,WAAP,MAAwB,cAAxB;AACA,OAAOC,aAAP,MAA0B,gBAA1B;AACA,SAASC,YAAT,QAA6B,WAA7B;AACA,OAAOC,UAAP,MAAuB,kBAAvB;AAEAD,aAAaF,WAAb,EAA0BG,UAA1B;AACAD,aAAaD,aAAb,EAA4BE,UAA5B;AAEA,OAAO,IAAMC,SAAS,CACpB;AACEC,QAAM,iBADR;AAEEC,QAAM,GAFR;AAGEC,aAAWP,WAHb;AAIEQ,eAAa,qBAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AAC/B,WAAO,uDAAP,EAAgEC,IAAhE,CAAqE,gBAAQ;AAC3Eb,UAAIQ,SAAJ,CAAc,iBAAd,EAAiCM,KAAKC,OAAtC;AACAH;AACD,KAHD;AAID;AATH,CADoB,EAYpB;AACEL,QAAM,aADR;AAEES,YAAU;AAFZ,CAZoB,EAgBpB;AACEV,QAAM,iBADR;AAEEC,QAAM,wBAFR;AAGEC,aAAWP,WAHb;AAIEQ,eAAa,qBAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AAC/B,WAAO,iEAAP,EAA0EC,IAA1E,CAA+E,gBAAQ;AACrFb,UAAIQ,SAAJ,CAAc,iBAAd,EAAiCM,KAAKC,OAAtC;AACAH;AACD,KAHD;AAID;AATH,CAhBoB,EA2BpB;AACEN,QAAM,iBADR;AAEEC,QAAM,6BAFR;AAGEC,aAAWP,WAHb;AAIEQ,eAAa,qBAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AAC/B,WAAO,sEAAP,EAA+EC,IAA/E,CAAoF,gBAAQ;AAC1Fb,UAAIQ,SAAJ,CAAc,iBAAd,EAAiCM,KAAKC,OAAtC;AACAH;AACD,KAHD;AAID;AATH,CA3BoB,EAsCpB;AACEN,QAAM,iBADR;AAEEC,QAAM,0BAFR;AAGEC,aAAWP,WAHb;AAIEQ,eAAa,qBAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AAC/B,WAAO,mEAAP,EAA4EC,IAA5E,CAAiF,gBAAQ;AACvFb,UAAIQ,SAAJ,CAAc,iBAAd,EAAiCM,KAAKC,OAAtC;AACAH;AACD,KAHD;AAID;AATH,CAtCoB,EAiDpB;AACEN,QAAM,iBADR;AAEEC,QAAM,MAFR;AAGEC,aAAWP,WAHb;AAIEQ,eAAa,qBAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AAC/B,WAAO,0DAAP,EAAmEC,IAAnE,CAAwE,gBAAQ;AAC9Eb,UAAIQ,SAAJ,CAAc,iBAAd,EAAiCM,KAAKC,OAAtC;AACAH;AACD,KAHD;AAID;AATH,CAjDoB,EA4DpB;AACEL,QAAM,gBADR;AAEES,YAAU;AAFZ,CA5DoB,EAgEpB;AACEV,QAAM,eADR;AAEEC,QAAM,2BAFR;AAGEC,aAAWP,WAHb;AAIEQ,eAAa,qBAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AAC/B,WAAO,oEAAP,EAA6EC,IAA7E,CAAkF,gBAAQ;AACxFb,UAAIQ,SAAJ,CAAc,eAAd,EAA+BM,KAAKC,OAApC;AACAH;AACD,KAHD;AAID;AATH,CAhEoB,EA2EpB;AACEN,QAAM,iBADR;AAEEC,QAAM,gCAFR;AAGEC,aAAWP,WAHb;AAIEQ,eAAa,qBAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AAC/B,WAAO,yEAAP,EAAkFC,IAAlF,CAAuF,gBAAQ;AAC7Fb,UAAIQ,SAAJ,CAAc,iBAAd,EAAiCM,KAAKC,OAAtC;AACAH;AACD,KAHD;AAID;AATH,CA3EoB,EAsFpB;AACEN,QAAM,iBADR;AAEEC,QAAM,6BAFR;AAGEC,aAAWP,WAHb;AAIEQ,eAAa,qBAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AAC/B,WAAO,sEAAP,EAA+EC,IAA/E,CAAoF,gBAAQ;AAC1Fb,UAAIQ,SAAJ,CAAc,iBAAd,EAAiCM,KAAKC,OAAtC;AACAH;AACD,KAHD;AAID;AATH,CAtFoB,EAiGpB;AACEL,QAAM,GADR;AAEEC,aAAWN;AAFb,CAjGoB,CAAf","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["import Vue from 'vue'\n\nimport ThemeLayout from '@themeLayout'\nimport ThemeNotFound from '@themeNotFound'\nimport { injectMixins } from '@app/util'\nimport rootMixins from '@app/root-mixins'\n\ninjectMixins(ThemeLayout, rootMixins)\ninjectMixins(ThemeNotFound, rootMixins)\n\nexport const routes = [\n {\n name: \"v-8ec055619cc9c\",\n path: \"/\",\n component: ThemeLayout,\n beforeEnter: (to, from, next) => {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/README.md\").then(comp => {\n Vue.component(\"v-8ec055619cc9c\", comp.default)\n next()\n })\n }\n },\n {\n path: \"/index.html\",\n redirect: \"/\"\n },\n {\n name: \"v-9b37f125fa1b5\",\n path: \"/api/introduction.html\",\n component: ThemeLayout,\n beforeEnter: (to, from, next) => {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/api/introduction.md\").then(comp => {\n Vue.component(\"v-9b37f125fa1b5\", comp.default)\n next()\n })\n }\n },\n {\n name: \"v-fdaadba91de5a\",\n path: \"/guide/getting-started.html\",\n component: ThemeLayout,\n beforeEnter: (to, from, next) => {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/guide/getting-started.md\").then(comp => {\n Vue.component(\"v-fdaadba91de5a\", comp.default)\n next()\n })\n }\n },\n {\n name: \"v-8d2a8fad62319\",\n path: \"/guide/introduction.html\",\n component: ThemeLayout,\n beforeEnter: (to, from, next) => {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/guide/introduction.md\").then(comp => {\n Vue.component(\"v-8d2a8fad62319\", comp.default)\n next()\n })\n }\n },\n {\n name: \"v-9d03d1a24c541\",\n path: \"/zh/\",\n component: ThemeLayout,\n beforeEnter: (to, from, next) => {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/zh/README.md\").then(comp => {\n Vue.component(\"v-9d03d1a24c541\", comp.default)\n next()\n })\n }\n },\n {\n path: \"/zh/index.html\",\n redirect: \"/zh/\"\n },\n {\n name: \"v-34ac182d991\",\n path: \"/zh/api/introduction.html\",\n component: ThemeLayout,\n beforeEnter: (to, from, next) => {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/zh/api/introduction.md\").then(comp => {\n Vue.component(\"v-34ac182d991\", comp.default)\n next()\n })\n }\n },\n {\n name: \"v-819b7a4c7f128\",\n path: \"/zh/guide/getting-started.html\",\n component: ThemeLayout,\n beforeEnter: (to, from, next) => {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/getting-started.md\").then(comp => {\n Vue.component(\"v-819b7a4c7f128\", comp.default)\n next()\n })\n }\n },\n {\n name: \"v-5a469fda81a59\",\n path: \"/zh/guide/introduction.html\",\n component: ThemeLayout,\n beforeEnter: (to, from, next) => {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/introduction.md\").then(comp => {\n Vue.component(\"v-5a469fda81a59\", comp.default)\n next()\n })\n }\n },\n {\n path: '*',\n component: ThemeNotFound\n }\n]"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/9395c6ff1c87ec359db59109a51752ae.json b/node_modules/vuepress/node_modules/.cache/vuepress/9395c6ff1c87ec359db59109a51752ae.json new file mode 100644 index 00000000..95845645 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/9395c6ff1c87ec359db59109a51752ae.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/manual/index.md?vue&type=template&id=3b730ffa&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/manual/index.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"manual\"><a class=\"header-anchor\" href=\"#manual\" aria-hidden=\"true\">#</a> Manual</h1>\n<p>[TODO]</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/939d526d74e54295d3105f7e0106f860.json b/node_modules/vuepress/node_modules/.cache/vuepress/939d526d74e54295d3105f7e0106f860.json new file mode 100644 index 00000000..ec550cd6 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/939d526d74e54295d3105f7e0106f860.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue?vue&type=template&id=649143b0&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<nav\n class=\"nav-links\"\n v-if=\"userLinks.length || repoLink\"\n>\n <!-- user links -->\n <div\n class=\"nav-item\"\n v-for=\"item in userLinks\"\n :key=\"item.link\"\n >\n <DropdownLink\n v-if=\"item.type === 'links'\"\n :item=\"item\"\n />\n <NavLink\n v-else\n :item=\"item\"\n />\n </div>\n\n <!-- repo link -->\n <a\n v-if=\"repoLink\"\n :href=\"repoLink\"\n class=\"repo-link\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {{ repoLabel }}\n <OutboundLink/>\n </a>\n</nav>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/93f80ce389b14f26a1c5e18c449f1540.json b/node_modules/vuepress/node_modules/.cache/vuepress/93f80ce389b14f26a1c5e18c449f1540.json new file mode 100644 index 00000000..765d81a1 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/93f80ce389b14f26a1c5e18c449f1540.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport SidebarButton from './SidebarButton.vue';\nimport AlgoliaSearchBox from '@AlgoliaSearchBox';\nimport SearchBox from './SearchBox.vue';\nimport NavLinks from './NavLinks.vue';\nexport default {\n components: {\n SidebarButton: SidebarButton,\n NavLinks: NavLinks,\n SearchBox: SearchBox,\n AlgoliaSearchBox: AlgoliaSearchBox\n },\n data: function data() {\n return {\n linksWrapMaxWidth: null\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n var MOBILE_DESKTOP_BREAKPOINT = 719; // refer to config.styl\n\n var NAVBAR_VERTICAL_PADDING = parseInt(css(this.$el, 'paddingLeft')) + parseInt(css(this.$el, 'paddingRight'));\n\n var handleLinksWrapWidth = function handleLinksWrapWidth() {\n if (document.documentElement.clientWidth < MOBILE_DESKTOP_BREAKPOINT) {\n _this.linksWrapMaxWidth = null;\n } else {\n _this.linksWrapMaxWidth = _this.$el.offsetWidth - NAVBAR_VERTICAL_PADDING - (_this.$refs.siteName && _this.$refs.siteName.offsetWidth || 0);\n }\n };\n\n handleLinksWrapWidth();\n window.addEventListener('resize', handleLinksWrapWidth, false);\n },\n computed: {\n algolia: function algolia() {\n return this.$themeLocaleConfig.algolia || this.$site.themeConfig.algolia || {};\n },\n isAlgoliaSearch: function isAlgoliaSearch() {\n return this.algolia && this.algolia.apiKey && this.algolia.indexName;\n }\n }\n};\n\nfunction css(el, property) {\n // NOTE: Known bug, will return 'auto' if style value is 'auto'\n var win = el.ownerDocument.defaultView; // null means not to return pseudo styles\n\n return win.getComputedStyle(el, null)[property];\n}",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/9404efb6d767002e32a83c413e55d380.json b/node_modules/vuepress/node_modules/.cache/vuepress/9404efb6d767002e32a83c413e55d380.json new file mode 100644 index 00000000..b7e09992 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/9404efb6d767002e32a83c413e55d380.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/README.md?vue&type=template&id=0a27dc62&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/README.md","mtime":1541513030109},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><!--beforebegin--><div class=\"language-c extra-class\"><!--afterbegin--><pre v-pre class=\"language-c\"><code><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">\"tbox/tbox.h\"</span></span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> argc<span class=\"token punctuation\">,</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span> argv<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// init tbox</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">tb_init</span><span class=\"token punctuation\">(</span>tb_null<span class=\"token punctuation\">,</span> tb_null<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// init vector</span>\n tb_vector_ref_t vector <span class=\"token operator\">=</span> <span class=\"token function\">tb_vector_init</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">tb_element_cstr</span><span class=\"token punctuation\">(</span>tb_true<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// insert item</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// dump all items</span>\n tb_for_all <span class=\"token punctuation\">(</span>tb_char_t <span class=\"token keyword\">const</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">,</span> vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%s\"</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit vector</span>\n <span class=\"token function\">tb_vector_exit</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit tbox</span>\n <span class=\"token function\">tb_exit</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/941c6063b6c2d28cc281271ff398e5a9.json b/node_modules/vuepress/node_modules/.cache/vuepress/941c6063b6c2d28cc281271ff398e5a9.json new file mode 100644 index 00000000..84f01827 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/941c6063b6c2d28cc281271ff398e5a9.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLink.vue?vue&type=template&id=32ed2476&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return !_vm.isExternal(_vm.link)\n ? _c(\n \"router-link\",\n { staticClass: \"nav-link\", attrs: { to: _vm.link, exact: _vm.exact } },\n [_vm._v(_vm._s(_vm.item.text))]\n )\n : _c(\n \"a\",\n {\n staticClass: \"nav-link external\",\n attrs: {\n href: _vm.link,\n target:\n _vm.isMailto(_vm.link) || _vm.isTel(_vm.link) ? null : \"_blank\",\n rel:\n _vm.isMailto(_vm.link) || _vm.isTel(_vm.link)\n ? null\n : \"noopener noreferrer\"\n }\n },\n [_vm._v(\"\\n \" + _vm._s(_vm.item.text) + \"\\n \"), _c(\"OutboundLink\")],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/948102d09bc2062288eb8db5b1b2bfb4.json b/node_modules/vuepress/node_modules/.cache/vuepress/948102d09bc2062288eb8db5b1b2bfb4.json new file mode 100644 index 00000000..27bd658a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/948102d09bc2062288eb8db5b1b2bfb4.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue?vue&type=template&id=61431e6a&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"dropdown\"},on:{\"enter\":_vm.setHeight,\"after-enter\":_vm.unsetHeight,\"before-leave\":_vm.setHeight}},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/952af52a8169b0da967fc330bc945eaa.json b/node_modules/vuepress/node_modules/.cache/vuepress/952af52a8169b0da967fc330bc945eaa.json new file mode 100644 index 00000000..2d5ec9cf --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/952af52a8169b0da967fc330bc945eaa.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/getting-started.md?vue&type=template&id=813ee7ba&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/getting-started.md","mtime":1541489096650},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _vm._m(1),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"请先安装: \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _vm._m(2),\n _vm._m(3),\n _vm._v(\" \"),\n _vm._m(4)\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h1\", { attrs: { id: \"快速开始\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#快速开始\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 快速开始\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"编译\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#编译\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 编译\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-console extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-text\" } }, [\n _c(\"code\", [\n _vm._v(\n \"# 默认直接编译当前主机平台\\n$ cd ./tbox\\n$ xmake\\n\\n# 编译mingw平台\\n$ cd ./tbox\\n$ xmake f -p mingw --sdk=/home/mingwsdk \\n$ xmake\\n\\n# 编译iphoneos平台\\n$ cd ./tbox\\n$ xmake f -p iphoneos \\n$ xmake\\n\\n# 编译android平台\\n$ cd ./tbox\\n$ xmake f -p android --ndk=xxxxx\\n$ xmake\\n\\n# 交叉编译\\n$ cd ./tbox\\n$ xmake f -p linux --sdk=/home/sdk #--bin=/home/sdk/bin\\n$ xmake\\n\"\n )\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"例子\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#例子\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 例子\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-c extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-c\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token macro property\" } }, [\n _vm._v(\"#\"),\n _c(\"span\", { attrs: { class: \"token directive keyword\" } }, [\n _vm._v(\"include\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"tbox/tbox.h\"')\n ])\n ]),\n _vm._v(\"\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"int\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"main\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"int\")]),\n _vm._v(\" argc\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"char\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _vm._v(\" argv\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// init tbox\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"!\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_init\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"tb_null\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" tb_null\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"return\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// trace\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_trace_i\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"hello tbox\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// init vector\")\n ]),\n _vm._v(\"\\n tb_vector_ref_t vector \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_init\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_element_cstr\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"tb_true\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// insert item\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_insert_tail\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"hello\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_insert_tail\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"tbox\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// dump all items\")\n ]),\n _vm._v(\"\\n tb_for_all \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"tb_char_t \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"const\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" cstr\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// trace\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_trace_i\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"%s\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" cstr\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// exit vector\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_exit\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// init stream\")\n ]),\n _vm._v(\"\\n tb_stream_ref_t stream \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_init_from_url\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"http://www.xxx.com/file.txt\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// open stream\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_open\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// read line\")\n ]),\n _vm._v(\"\\n tb_long_t size \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n tb_char_t line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"TB_STREAM_BLOCK_MAXN\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"while\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"size \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_bread_line\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"sizeof\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\">=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// trace\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_trace_i\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"line: %s\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// exit stream\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_exit\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// wait \")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"getchar\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// exit tbox\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_exit\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"return\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/9544dd6a91571e16d60b40ccf372b4e4.json b/node_modules/vuepress/node_modules/.cache/vuepress/9544dd6a91571e16d60b40ccf372b4e4.json new file mode 100644 index 00000000..b5d37f11 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/9544dd6a91571e16d60b40ccf372b4e4.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/Badge.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/Badge.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\nexport default {\n functional: true,\n props: {\n type: {\n type: String,\n default: 'tip'\n },\n text: String,\n vertical: {\n type: String,\n default: 'top'\n }\n },\n render (h, { props, slots }) {\n return h('span', {\n class: ['badge', props.type, props.vertical]\n }, props.text || slots().default)\n }\n}\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/9604d93027c3c69dee336a877eed0ff6.json b/node_modules/vuepress/node_modules/.cache/vuepress/9604d93027c3c69dee336a877eed0ff6.json new file mode 100644 index 00000000..fc51912b --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/9604d93027c3c69dee336a877eed0ff6.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./SWUpdatePopup.vue?vue&type=template&id=e27c5110&\"\nimport script from \"./SWUpdatePopup.vue?vue&type=script&lang=js&\"\nexport * from \"./SWUpdatePopup.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SWUpdatePopup.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('e27c5110', component.options)\n } else {\n api.reload('e27c5110', component.options)\n }\n module.hot.accept(\"./SWUpdatePopup.vue?vue&type=template&id=e27c5110&\", function () {\n api.rerender('e27c5110', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/9666707f23bd3574a9898d3237b4b69f.json b/node_modules/vuepress/node_modules/.cache/vuepress/9666707f23bd3574a9898d3237b4b69f.json new file mode 100644 index 00000000..7a40e689 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/9666707f23bd3574a9898d3237b4b69f.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue?vue&type=template&id=1bddee00&functional=true&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function(_h, _vm) {\n var _c = _vm._c\n return _c(\n \"svg\",\n {\n staticClass: \"icon outbound\",\n attrs: {\n xmlns: \"http://www.w3.org/2000/svg\",\n \"aria-hidden\": \"true\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 100 100\",\n width: \"15\",\n height: \"15\"\n }\n },\n [\n _c(\"path\", {\n attrs: {\n fill: \"currentColor\",\n d:\n \"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z\"\n }\n }),\n _vm._v(\" \"),\n _c(\"polygon\", {\n attrs: {\n fill: \"currentColor\",\n points:\n \"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9\"\n }\n })\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/96e29fb76ffff81dc6f521d9c9ecffdc.json b/node_modules/vuepress/node_modules/.cache/vuepress/96e29fb76ffff81dc6f521d9c9ecffdc.json new file mode 100644 index 00000000..1b21a04d --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/96e29fb76ffff81dc6f521d9c9ecffdc.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/manual/introduction.md?vue&type=template&id=b3629762&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/manual/introduction.md","mtime":1541492172602},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"手册\"><a class=\"header-anchor\" href=\"#手册\" aria-hidden=\"true\">#</a> 手册</h1>\n<p>[TODO]</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/97aabe5d107c86a089c37e5122146454.json b/node_modules/vuepress/node_modules/.cache/vuepress/97aabe5d107c86a089c37e5122146454.json new file mode 100644 index 00000000..183fe997 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/97aabe5d107c86a089c37e5122146454.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import \"core-js/modules/es6.object.assign\";\nimport \"core-js/modules/es6.array.index-of\";\nimport \"core-js/modules/es6.string.trim\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nexport default {\n data: function data() {\n return {\n query: '',\n focused: false,\n focusIndex: 0\n };\n },\n computed: {\n showSuggestions: function showSuggestions() {\n return this.focused && this.suggestions && this.suggestions.length;\n },\n suggestions: function suggestions() {\n var query = this.query.trim().toLowerCase();\n\n if (!query) {\n return;\n }\n\n var _this$$site = this.$site,\n pages = _this$$site.pages,\n themeConfig = _this$$site.themeConfig;\n var max = themeConfig.searchMaxSuggestions || 5;\n var localePath = this.$localePath;\n\n var matches = function matches(item) {\n return item.title && item.title.toLowerCase().indexOf(query) > -1;\n };\n\n var res = [];\n\n for (var i = 0; i < pages.length; i++) {\n if (res.length >= max) break;\n var p = pages[i]; // filter out results that do not match current locale\n\n if (this.getPageLocalePath(p) !== localePath) {\n continue;\n }\n\n if (matches(p)) {\n res.push(p);\n } else if (p.headers) {\n for (var j = 0; j < p.headers.length; j++) {\n if (res.length >= max) break;\n var h = p.headers[j];\n\n if (matches(h)) {\n res.push(Object.assign({}, p, {\n path: p.path + '#' + h.slug,\n header: h\n }));\n }\n }\n }\n }\n\n return res;\n },\n // make suggestions align right when there are not enough items\n alignRight: function alignRight() {\n var navCount = (this.$site.themeConfig.nav || []).length;\n var repo = this.$site.repo ? 1 : 0;\n return navCount + repo <= 2;\n }\n },\n methods: {\n getPageLocalePath: function getPageLocalePath(page) {\n for (var localePath in this.$site.locales || {}) {\n if (localePath !== '/' && page.path.indexOf(localePath) === 0) {\n return localePath;\n }\n }\n\n return '/';\n },\n onUp: function onUp() {\n if (this.showSuggestions) {\n if (this.focusIndex > 0) {\n this.focusIndex--;\n } else {\n this.focusIndex = this.suggestions.length - 1;\n }\n }\n },\n onDown: function onDown() {\n if (this.showSuggestions) {\n if (this.focusIndex < this.suggestions.length - 1) {\n this.focusIndex++;\n } else {\n this.focusIndex = 0;\n }\n }\n },\n go: function go(i) {\n if (!this.showSuggestions) {\n return;\n }\n\n this.$router.push(this.suggestions[i].path);\n this.query = '';\n this.focusIndex = 0;\n },\n focus: function focus(i) {\n this.focusIndex = i;\n },\n unfocus: function unfocus() {\n this.focusIndex = -1;\n }\n }\n};",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/97f482d38961d6ccaad2ce61d613b489.json b/node_modules/vuepress/node_modules/.cache/vuepress/97f482d38961d6ccaad2ce61d613b489.json new file mode 100644 index 00000000..2e50ab8d --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/97f482d38961d6ccaad2ce61d613b489.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/introduction.md?vue&type=template&id=2b93628e&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/introduction.md","mtime":1541488030814},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._ssrNode(\"<h1 id=\\\"introduction\\\"><a href=\\\"#introduction\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Introduction</h1> <p>TBOX is a glib-like cross-platform C library that is simple to use yet powerful in nature.</p> <p>The project focuses on making C development easier and provides many modules (.e.g stream, coroutine, regex, container, algorithm ...),\\nso that any developer can quickly pick it up and enjoy the productivity boost when developing in C language.</p> <p>It supports the following platforms:</p> <ul><li>Windows</li> <li>Macosx</li> <li>Linux</li> <li>Android</li> <li>iOS</li></ul> \"),_vm._ssrNode(\"<p>\",\"</p>\",[_vm._ssrNode(\"And it provides many compiling options using \"),_vm._ssrNode(\"<a href=\\\"http://www.xmake.io\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"xmake\"),_c('OutboundLink')],2),_vm._ssrNode(\":\")],2),_vm._ssrNode(\" <ul><li>Release: Disable debug information, assertion, memory checking and enable optimization.</li> <li>Debug: Enable debug information, assertion, memory checking and disable optimization.</li> <li>Small: Disable all extensional modules and enable space optimization.</li> <li>Micro: compiling micro library (~64K) for the embed system.</li></ul> <p>If you want to know more, please refer to:</p> \"),_vm._ssrNode(\"<ul>\",\"</ul>\",[_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"http://tboox.org\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"HomePage\"),_c('OutboundLink')],2)]),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"https://github.com/tboox/tbox/wiki/documents\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"Documents\"),_c('OutboundLink')],2)]),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"https://github.com/tboox/tbox\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"Github\"),_c('OutboundLink')],2)]),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"https://gitee.com/tboox/tbox\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"Gitee\"),_c('OutboundLink')],2)])],2),_vm._ssrNode(\" <h2 id=\\\"features\\\"><a href=\\\"#features\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Features</h2> <h4 id=\\\"the-stream-library\\\"><a href=\\\"#the-stream-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The stream library</h4> <ul><li>Supports file, data, http and socket source</li> <li>Supports the stream filter for gzip, charset and...</li> <li>Implements stream transfer</li> <li>Implements the static buffer stream for parsing data</li> <li>Supports coroutine and implements asynchronous operation</li></ul> <h4 id=\\\"the-coroutine-library\\\"><a href=\\\"#the-coroutine-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The coroutine library</h4> \"),_vm._ssrNode(\"<ul>\",\"</ul>\",[_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"Provides high-performance coroutine switch(refer to \"),_vm._ssrNode(\"<a href=\\\"http://tboox.org/2016/10/28/benchbox-coroutine/\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"reports\"),_c('OutboundLink')],2),_vm._ssrNode(\")\")],2),_vm._ssrNode(\" <li>Supports arm, arm64, x86, x86_64 ..</li> <li>Provides channel interfaces</li> <li>Provides semaphore and lock interfaces</li> <li>Supports io socket and stream operation in coroutine</li> <li>Provides some io servers (http ..) using coroutine</li> <li>Provides stackfull and stackless coroutines</li> <li>Support epoll, kqueue, poll, select and IOCP</li>\")],2),_vm._ssrNode(\" <h4 id=\\\"the-database-library\\\"><a href=\\\"#the-database-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The database library</h4> <ul><li>Supports mysql and sqlite3 database and enumerates data using the iterator mode</li></ul> <h4 id=\\\"the-xml-parser-library\\\"><a href=\\\"#the-xml-parser-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The xml parser library</h4> <ul><li>Supports DOM and SAX mode and Supports xpath</li></ul> <h4 id=\\\"the-serialization-and-deserialization-library\\\"><a href=\\\"#the-serialization-and-deserialization-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The serialization and deserialization library</h4> <ul><li>Supports xml, json, bplist, xplist, binary formats</li></ul> <h4 id=\\\"the-memory-library\\\"><a href=\\\"#the-memory-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The memory library</h4> <ul><li>Implements some memory pools for optimizing memory</li> <li>Supports fast memory error detecting. it can detect the following types of bugs for the debug mode:\\n<ul><li>out-of-bounds accesses to heap and globals</li> <li>use-after-free</li> <li>double-free, invalid free</li> <li>memory leaks</li></ul></li></ul> <h4 id=\\\"the-container-library\\\"><a href=\\\"#the-container-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The container library</h4> <ul><li>Implements hash table, single list, double list, vector, stack, queue\\nand min/max heap. Supports iterator mode for algorithm</li></ul> <h4 id=\\\"the-algorithm-library\\\"><a href=\\\"#the-algorithm-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The algorithm library</h4> <ul><li>Uses the iterator mode</li> <li>Implements find, binary find and reverse find algorithm</li> <li>Implements sort, bubble sort, quick sort, heap sort and insert sort algorithm</li> <li>Implements count, walk items, reverse walk items, for_all and rfor_all</li></ul> <h4 id=\\\"the-network-library\\\"><a href=\\\"#the-network-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The network library</h4> <ul><li>Implements dns(cached)</li> <li>Implements ssl(openssl, polarssl, mbedtls)</li> <li>Implements http</li> <li>Implements cookies</li> <li>Supports ipv4, ipv6</li> <li>Supports coroutine</li></ul> <h4 id=\\\"the-platform-library\\\"><a href=\\\"#the-platform-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The platform library</h4> <ul><li>Implements timer, fast and low precision timer</li> <li>Implements atomic and atomic64 operation</li> <li>Implements spinlock, mutex, event, semaphore, thread and thread pool</li> <li>Implements file, socket operation</li> <li>Implements poller using epoll, poll, select, kqueue ...</li> <li>Implements switch context interfaces for coroutine</li></ul> <h4 id=\\\"the-charset-library\\\"><a href=\\\"#the-charset-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The charset library</h4> <ul><li>Supports utf8, utf16, gbk, gb2312, uc2 and uc4</li> <li>Supports big endian and little endian mode</li></ul> <h4 id=\\\"the-zip-library\\\"><a href=\\\"#the-zip-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The zip library</h4> <ul><li>Supports gzip, zlibraw, zlib formats using the zlib library if exists</li> <li>Implements lzsw, lz77 and rlc algorithm</li></ul> <h4 id=\\\"the-utils-library\\\"><a href=\\\"#the-utils-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The utils library</h4> <ul><li>Implements base32, base64 encoder and decoder</li> <li>Implements assert and trace output for the debug mode</li> <li>Implements bits operation for parsing u8, u16, u32, u64 data</li></ul> <h4 id=\\\"the-math-library\\\"><a href=\\\"#the-math-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The math library</h4> <ul><li>Implements random generator</li> <li>Implements fast fixed-point calculation, Supports 6-bits, 16-bits, 30-bits fixed-point number</li></ul> <h4 id=\\\"the-libc-library\\\"><a href=\\\"#the-libc-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The libc library</h4> <ul><li>Implements lightweight libc library interfaces, the interface name contains <code>tb_xxx</code> prefix for avoiding conflict</li> <li>Implements strixxx strrxxx wcsixxx wcsrxxx interface extension</li> <li>Optimizes some frequently-used interface, .e.g. memset, memcpy, strcpy ...</li> <li>Implements <code>memset_u16</code>, <code>memset_u32</code>, <code>memset_u64</code> extension interfaces</li></ul> <h4 id=\\\"the-libm-library\\\"><a href=\\\"#the-libm-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The libm library</h4> <ul><li>Implements lightweight libm library interfaces, the interface name contains <code>tb_xxx</code> prefix for avoiding conflict</li> <li>Supports float and double type</li></ul> <h4 id=\\\"the-regex-library\\\"><a href=\\\"#the-regex-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The regex library</h4> <ul><li>Supports match and replace</li> <li>Supports global/multiline/caseless mode</li> <li>Uses pcre, pcre2 and posix regex modules</li></ul> <h4 id=\\\"the-hash-library\\\"><a href=\\\"#the-hash-library\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> The hash library</h4> <ul><li>Implements crc32, adler32, md5 and sha1 hash algorithm</li> <li>Implements some string hash algorithms (.e.g bkdr, fnv32, fnv64, sdbm, djb2, rshash, aphash ...)</li> <li>Implements uuid generator</li></ul> <h2 id=\\\"projects\\\"><a href=\\\"#projects\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Projects</h2> <p>Some projects using tbox:</p> \"),_vm._ssrNode(\"<ul>\",\"</ul>\",[_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"https://github.com/tboox/gbox\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"gbox\"),_c('OutboundLink')],2)]),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"https://github.com/tboox/vm86\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"vm86\"),_c('OutboundLink')],2)]),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"http://www.xmake.io\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"xmake\"),_c('OutboundLink')],2)]),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"https://github.com/tboox/itrace\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"itrace\"),_c('OutboundLink')],2)]),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"https://github.com/tboox/tbox/wiki/tbox-projects\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"more\"),_c('OutboundLink')],2)])],2),_vm._ssrNode(\" <h2 id=\\\"contacts\\\"><a href=\\\"#contacts\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Contacts</h2> \"),_vm._ssrNode(\"<ul>\",\"</ul>\",[_vm._ssrNode(\"<li>Email:<a href=\\\"mailto:waruqi@gmail.com\\\">waruqi@gmail.com</a></li> \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"Homepage:\"),_vm._ssrNode(\"<a href=\\\"http://www.tboox.org\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"tboox.org\"),_c('OutboundLink')],2)],2),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"Community:\"),_vm._ssrNode(\"<a href=\\\"https://www.reddit.com/r/tboox/\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"/r/tboox on reddit\"),_c('OutboundLink')],2)],2)],2)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/987931e3951090f5c51f1d2765e8f281.json b/node_modules/vuepress/node_modules/.cache/vuepress/987931e3951090f5c51f1d2765e8f281.json new file mode 100644 index 00000000..3705e6e6 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/987931e3951090f5c51f1d2765e8f281.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/.temp/themeEnhanceApp.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/.temp/themeEnhanceApp.js","mtime":1541576694592},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["export default function () {}",{"version":3,"sources":["node_modules/vuepress/lib/app/.temp/themeEnhanceApp.js"],"names":[],"mappings":"AAAA,eAAe,YAAY,CAAE","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["export default function () {}"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/98f08c3f6ca7ad1be51d46982f49375a.json b/node_modules/vuepress/node_modules/.cache/vuepress/98f08c3f6ca7ad1be51d46982f49375a.json new file mode 100644 index 00000000..bed31dde --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/98f08c3f6ca7ad1be51d46982f49375a.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue?vue&type=template&id=734e092b&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div class=\"home\">\n <div class=\"hero\">\n <img\n v-if=\"data.heroImage\"\n :src=\"$withBase(data.heroImage)\"\n alt=\"hero\"\n >\n\n <h1>{{ data.heroText || $title || 'Hello' }}</h1>\n\n <p class=\"description\">\n {{ data.tagline || $description || 'Welcome to your VuePress site' }}\n </p>\n\n <p\n class=\"action\"\n v-if=\"data.actionText && data.actionLink\"\n >\n <NavLink\n class=\"action-button\"\n :item=\"actionLink\"\n />\n </p>\n </div>\n\n <div\n class=\"features\"\n v-if=\"data.features && data.features.length\"\n >\n <div\n class=\"feature\"\n v-for=\"(feature, index) in data.features\"\n :key=\"index\"\n >\n <h2>{{ feature.title }}</h2>\n <p>{{ feature.details }}</p>\n </div>\n </div>\n\n <Content custom/>\n\n <div\n class=\"footer\"\n v-if=\"data.footer\"\n >\n {{ data.footer }}\n </div>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/98f3330a72337ac5885a0670eb0695a7.json b/node_modules/vuepress/node_modules/.cache/vuepress/98f3330a72337ac5885a0670eb0695a7.json new file mode 100644 index 00000000..3d52483f --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/98f3330a72337ac5885a0670eb0695a7.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/api/introduction.md?vue&type=template&id=687bc258&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/api/introduction.md","mtime":1541569045944},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._ssrNode(\"<h1 id=\\\"title1\\\"><a href=\\\"#title1\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Title1</h1> <p></p><div class=\\\"table-of-contents\\\"><ul><li><a href=\\\"#title2\\\">Title2</a><ul><li><a href=\\\"#title3\\\">Title3</a></li><li><a href=\\\"#title3\\\">Title3</a></li></ul></li><li><a href=\\\"#title2\\\">Title2</a><ul><li><a href=\\\"#title3\\\">Title3</a></li></ul></li></ul></div><p></p> <h2 id=\\\"title2\\\"><a href=\\\"#title2\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Title2</h2> <h3 id=\\\"title3\\\"><a href=\\\"#title3\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Title3</h3> <h4 id=\\\"title4\\\"><a href=\\\"#title4\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Title4</h4> <h5 id=\\\"title5\\\"><a href=\\\"#title5\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Title5</h5> <p>...</p> <h5 id=\\\"title5-2\\\"><a href=\\\"#title5-2\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Title5</h5> <p>...</p> <h4 id=\\\"title4-2\\\"><a href=\\\"#title4-2\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Title4</h4> <p>...</p> <h3 id=\\\"title3-2\\\"><a href=\\\"#title3-2\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Title3</h3> <p>...</p> <h2 id=\\\"title2-2\\\"><a href=\\\"#title2-2\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Title2</h2> <p>...</p> <h3 id=\\\"title3-3\\\"><a href=\\\"#title3-3\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Title3</h3> <p>...</p>\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/99458faca01dcef352a17e9bbd892ceb.json b/node_modules/vuepress/node_modules/.cache/vuepress/99458faca01dcef352a17e9bbd892ceb.json new file mode 100644 index 00000000..6f2f2e34 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/99458faca01dcef352a17e9bbd892ceb.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/README.md?vue&type=template&id=c6f5370e&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/README.md","mtime":1541486439372},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/99572f89ee26c7be10f2b3c531626d48.json b/node_modules/vuepress/node_modules/.cache/vuepress/99572f89ee26c7be10f2b3c531626d48.json new file mode 100644 index 00000000..c0f2f8f9 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/99572f89ee26c7be10f2b3c531626d48.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NotFound.vue?vue&type=template&id=5c808f81&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NotFound.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"theme-container\"},[_c('div',{staticClass:\"content\"},[_c('h1',[_vm._v(\"404\")]),_vm._v(\" \"),_c('blockquote',[_vm._v(_vm._s(_vm.getMsg()))]),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/\"}},[_vm._v(\"Take me home.\")])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/9973f2ef5fbe2b09924c5fb423041a29.json b/node_modules/vuepress/node_modules/.cache/vuepress/9973f2ef5fbe2b09924c5fb423041a29.json new file mode 100644 index 00000000..badd19cc --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/9973f2ef5fbe2b09924c5fb423041a29.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/plugin/introduction.md?vue&type=template&id=35ee8210&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/plugin/introduction.md","mtime":1541580922619},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm._m(0)\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _c(\"h1\", { attrs: { id: \"title1\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title1\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title1\")\n ]),\n _vm._v(\" \"),\n _c(\"p\"),\n _c(\"div\", { staticClass: \"table-of-contents\" }, [\n _c(\"ul\", [\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title2\" } }, [_vm._v(\"Title2\")]),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title3\" } }, [_vm._v(\"Title3\")])\n ]),\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title3\" } }, [_vm._v(\"Title3\")])\n ])\n ])\n ]),\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title2\" } }, [_vm._v(\"Title2\")]),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title3\" } }, [_vm._v(\"Title3\")])\n ])\n ])\n ])\n ])\n ]),\n _c(\"p\"),\n _vm._v(\" \"),\n _c(\"h2\", { attrs: { id: \"title2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title2\")\n ]),\n _vm._v(\" \"),\n _c(\"h3\", { attrs: { id: \"title3\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title3\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title3\")\n ]),\n _vm._v(\" \"),\n _c(\"h4\", { attrs: { id: \"title4\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title4\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title4\")\n ]),\n _vm._v(\" \"),\n _c(\"h5\", { attrs: { id: \"title5\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title5\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title5\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h5\", { attrs: { id: \"title5-2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title5-2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title5\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h4\", { attrs: { id: \"title4-2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title4-2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title4\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h3\", { attrs: { id: \"title3-2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title3-2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title3\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h2\", { attrs: { id: \"title2-2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title2-2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title2\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h3\", { attrs: { id: \"title3-3\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title3-3\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title3\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/9a0e289e4a8f7277b01e782a748989fe.json b/node_modules/vuepress/node_modules/.cache/vuepress/9a0e289e4a8f7277b01e782a748989fe.json new file mode 100644 index 00000000..9f88202e --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/9a0e289e4a8f7277b01e782a748989fe.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import \"core-js/modules/es6.regexp.constructor\";\nimport \"core-js/modules/es6.regexp.match\";\nimport \"core-js/modules/es6.object.assign\";\nimport _toConsumableArray from \"/Users/ruki/projects/personal/tbox-docs/node_modules/@babel/runtime/helpers/builtin/es6/toConsumableArray\";\nimport \"core-js/modules/es6.array.some\";\nimport \"core-js/modules/es6.regexp.replace\";\nimport \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.iterator\";\nimport \"core-js/modules/es6.object.keys\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport DropdownLink from './DropdownLink.vue';\nimport { resolveNavLinkItem } from './util';\nimport NavLink from './NavLink.vue';\nexport default {\n components: {\n NavLink: NavLink,\n DropdownLink: DropdownLink\n },\n computed: {\n userNav: function userNav() {\n return this.$themeLocaleConfig.nav || this.$site.themeConfig.nav || [];\n },\n nav: function nav() {\n var _this = this;\n\n var locales = this.$site.locales;\n\n if (locales && Object.keys(locales).length > 1) {\n var currentLink = this.$page.path;\n var routes = this.$router.options.routes;\n var themeLocales = this.$site.themeConfig.locales || {};\n var languageDropdown = {\n text: this.$themeLocaleConfig.selectText || 'Languages',\n items: Object.keys(locales).map(function (path) {\n var locale = locales[path];\n var text = themeLocales[path] && themeLocales[path].label || locale.lang;\n var link; // Stay on the current page\n\n if (locale.lang === _this.$lang) {\n link = currentLink;\n } else {\n // Try to stay on the same page\n link = currentLink.replace(_this.$localeConfig.path, path); // fallback to homepage\n\n if (!routes.some(function (route) {\n return route.path === link;\n })) {\n link = path;\n }\n }\n\n return {\n text: text,\n link: link\n };\n })\n };\n return _toConsumableArray(this.userNav).concat([languageDropdown]);\n }\n\n return this.userNav;\n },\n userLinks: function userLinks() {\n return (this.nav || []).map(function (link) {\n return Object.assign(resolveNavLinkItem(link), {\n items: (link.items || []).map(resolveNavLinkItem)\n });\n });\n },\n repoLink: function repoLink() {\n var repo = this.$site.themeConfig.repo;\n\n if (repo) {\n return /^https?:/.test(repo) ? repo : \"https://github.com/\".concat(repo);\n }\n },\n repoLabel: function repoLabel() {\n if (!this.repoLink) return;\n\n if (this.$site.themeConfig.repoLabel) {\n return this.$site.themeConfig.repoLabel;\n }\n\n var repoHost = this.repoLink.match(/^https?:\\/\\/[^/]+/)[0];\n var platforms = ['GitHub', 'GitLab', 'Bitbucket'];\n\n for (var i = 0; i < platforms.length; i++) {\n var platform = platforms[i];\n\n if (new RegExp(platform, 'i').test(repoHost)) {\n return platform;\n }\n }\n\n return 'Source';\n }\n }\n};",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/9a20fd6ddcf6c7f76bc753d3957fde0b.json b/node_modules/vuepress/node_modules/.cache/vuepress/9a20fd6ddcf6c7f76bc753d3957fde0b.json new file mode 100644 index 00000000..10d9f6f3 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/9a20fd6ddcf6c7f76bc753d3957fde0b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/serverEntry.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/serverEntry.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import \"core-js/modules/es6.promise\";\nimport { createApp } from './app';\nexport default (function (context) {\n return new Promise(function (resolve, reject) {\n var _createApp = createApp(),\n app = _createApp.app,\n router = _createApp.router;\n\n var url = context.url;\n var fullPath = router.resolve(url).route.fullPath;\n\n if (fullPath !== url) {\n return reject({\n url: fullPath\n });\n }\n\n router.push(url);\n router.onReady(function () {\n return resolve(app);\n });\n });\n});",{"version":3,"sources":["node_modules/vuepress/lib/app/serverEntry.js"],"names":["createApp","Promise","resolve","reject","app","router","url","context","fullPath","route","push","onReady"],"mappings":";AAAA,SAASA,SAAT,QAA0B,OAA1B;AAEA,gBAAe;AAAA,SAAW,IAAIC,OAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;AAAA,qBACjCH,WADiC;AAAA,QACjDI,GADiD,cACjDA,GADiD;AAAA,QAC5CC,MAD4C,cAC5CA,MAD4C;;AAAA,QAEjDC,GAFiD,GAEzCC,OAFyC,CAEjDD,GAFiD;AAAA,QAGjDE,QAHiD,GAGpCH,OAAOH,OAAP,CAAeI,GAAf,EAAoBG,KAHgB,CAGjDD,QAHiD;;AAKzD,QAAIA,aAAaF,GAAjB,EAAsB;AACpB,aAAOH,OAAO;AAAEG,aAAKE;AAAP,OAAP,CAAP;AACD;;AAEDH,WAAOK,IAAP,CAAYJ,GAAZ;AACAD,WAAOM,OAAP,CAAe;AAAA,aAAMT,QAAQE,GAAR,CAAN;AAAA,KAAf;AACD,GAXyB,CAAX;AAAA,CAAf","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["import { createApp } from './app'\n\nexport default context => new Promise((resolve, reject) => {\n const { app, router } = createApp()\n const { url } = context\n const { fullPath } = router.resolve(url).route\n\n if (fullPath !== url) {\n return reject({ url: fullPath })\n }\n\n router.push(url)\n router.onReady(() => resolve(app))\n})\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/9a53f59e81aac52d0d6af8064b9633fe.json b/node_modules/vuepress/node_modules/.cache/vuepress/9a53f59e81aac52d0d6af8064b9633fe.json new file mode 100644 index 00000000..c21fbd33 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/9a53f59e81aac52d0d6af8064b9633fe.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/guide/getting-started.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/getting-started.md","mtime":1541554744255},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./getting-started.md?vue&type=template&id=01e6c1a0&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('01e6c1a0', component.options)\n } else {\n api.reload('01e6c1a0', component.options)\n }\n module.hot.accept(\"./getting-started.md?vue&type=template&id=01e6c1a0&\", function () {\n api.rerender('01e6c1a0', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/zh/guide/getting-started.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/9a736a35d17ca327bef66ccd42f7e534.json b/node_modules/vuepress/node_modules/.cache/vuepress/9a736a35d17ca327bef66ccd42f7e534.json new file mode 100644 index 00000000..b6b131f5 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/9a736a35d17ca327bef66ccd42f7e534.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/store.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/store.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["// It is not yet time to use Vuex to manage the global state\n// singleton object as a global store.\nvar state = {\n disableScrollBehavior: false\n};\nexport default state;",{"version":3,"sources":["node_modules/vuepress/lib/app/store.js"],"names":["state","disableScrollBehavior"],"mappings":"AAAA;AACA;AACA,IAAMA,QAAQ;AACZC,yBAAuB;AADX,CAAd;AAIA,eAAeD,KAAf","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["// It is not yet time to use Vuex to manage the global state\n// singleton object as a global store.\nconst state = {\n disableScrollBehavior: false\n}\n\nexport default state\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/9a74f7a1c32c5c599ae9ab4ed82dd5ef.json b/node_modules/vuepress/node_modules/.cache/vuepress/9a74f7a1c32c5c599ae9ab4ed82dd5ef.json new file mode 100644 index 00000000..5e40e8b7 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/9a74f7a1c32c5c599ae9ab4ed82dd5ef.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/README.md?vue&type=template&id=7be40604&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/README.md","mtime":1541492016048},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._ssrNode(\"<div class=\\\"language-c extra-class\\\"><pre class=\\\"language-c\\\"><code><span class=\\\"token macro property\\\">#<span class=\\\"token directive keyword\\\">include</span> <span class=\\\"token string\\\">"tbox/tbox.h"</span></span>\\n\\n<span class=\\\"token keyword\\\">int</span> <span class=\\\"token function\\\">main</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token keyword\\\">int</span> argc<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token keyword\\\">char</span><span class=\\\"token operator\\\">*</span><span class=\\\"token operator\\\">*</span> argv<span class=\\\"token punctuation\\\">)</span>\\n<span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// init tbox</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span><span class=\\\"token operator\\\">!</span><span class=\\\"token function\\\">tb_init</span><span class=\\\"token punctuation\\\">(</span>tb_null<span class=\\\"token punctuation\\\">,</span> tb_null<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span> <span class=\\\"token keyword\\\">return</span> <span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// init vector</span>\\n tb_vector_ref_t vector <span class=\\\"token operator\\\">=</span> <span class=\\\"token function\\\">tb_vector_init</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">,</span> <span class=\\\"token function\\\">tb_element_cstr</span><span class=\\\"token punctuation\\\">(</span>tb_true<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// insert item</span>\\n <span class=\\\"token function\\\">tb_vector_insert_tail</span><span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token string\\\">"hello"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token function\\\">tb_vector_insert_tail</span><span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token string\\\">"tbox"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// dump all items</span>\\n tb_for_all <span class=\\\"token punctuation\\\">(</span>tb_char_t <span class=\\\"token keyword\\\">const</span><span class=\\\"token operator\\\">*</span><span class=\\\"token punctuation\\\">,</span> cstr<span class=\\\"token punctuation\\\">,</span> vector<span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// trace</span>\\n <span class=\\\"token function\\\">tb_trace_i</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token string\\\">"%s"</span><span class=\\\"token punctuation\\\">,</span> cstr<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n\\n <span class=\\\"token comment\\\">// exit vector</span>\\n <span class=\\\"token function\\\">tb_vector_exit</span><span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n</code></pre></div>\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/9a8a915e86ce67a84a82b2b5b9da6385.json b/node_modules/vuepress/node_modules/.cache/vuepress/9a8a915e86ce67a84a82b2b5b9da6385.json new file mode 100644 index 00000000..b1229beb --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/9a8a915e86ce67a84a82b2b5b9da6385.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport SidebarLink from './SidebarLink.vue';\nimport DropdownTransition from './DropdownTransition.vue';\nexport default {\n name: 'SidebarGroup',\n props: ['item', 'first', 'open', 'collapsable'],\n components: {\n SidebarLink: SidebarLink,\n DropdownTransition: DropdownTransition\n }\n};",{"version":3,"sources":["SidebarGroup.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,OAAA,WAAA,MAAA,mBAAA;AACA,OAAA,kBAAA,MAAA,0BAAA;AAEA,eAAA;AACA,QAAA,cADA;AAEA,SAAA,CAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,aAAA,CAFA;AAGA,cAAA;AAAA,4BAAA;AAAA;AAAA;AAHA,CAAA","sourcesContent":["<template>\n <div\n class=\"sidebar-group\"\n :class=\"{ first, collapsable }\"\n >\n <p\n class=\"sidebar-heading\"\n :class=\"{ open }\"\n @click=\"$emit('toggle')\"\n >\n <span>{{ item.title }}</span>\n <span\n class=\"arrow\"\n v-if=\"collapsable\"\n :class=\"open ? 'down' : 'right'\">\n </span>\n </p>\n\n <DropdownTransition>\n <ul\n ref=\"items\"\n class=\"sidebar-group-items\"\n v-if=\"open || !collapsable\"\n >\n <li v-for=\"child in item.children\">\n <SidebarLink :item=\"child\"/>\n </li>\n </ul>\n </DropdownTransition>\n </div>\n</template>\n\n<script>\nimport SidebarLink from './SidebarLink.vue'\nimport DropdownTransition from './DropdownTransition.vue'\n\nexport default {\n name: 'SidebarGroup',\n props: ['item', 'first', 'open', 'collapsable'],\n components: { SidebarLink, DropdownTransition }\n}\n</script>\n\n<style lang=\"stylus\">\n.sidebar-group\n &:not(.first)\n margin-top 1em\n .sidebar-group\n padding-left 0.5em\n &:not(.collapsable)\n .sidebar-heading\n cursor auto\n color inherit\n\n.sidebar-heading\n color #999\n transition color .15s ease\n cursor pointer\n font-size 1.1em\n font-weight bold\n // text-transform uppercase\n padding 0 1.5rem\n margin-top 0\n margin-bottom 0.5rem\n &.open, &:hover\n color inherit\n .arrow\n position relative\n top -0.12em\n left 0.5em\n &:.open .arrow\n top -0.18em\n\n.sidebar-group-items\n transition height .1s ease-out\n overflow hidden\n</style>\n"],"sourceRoot":"node_modules/vuepress/lib/default-theme"}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/9aa639370de739f5eb2da532ab53644d.json b/node_modules/vuepress/node_modules/.cache/vuepress/9aa639370de739f5eb2da532ab53644d.json new file mode 100644 index 00000000..8809c012 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/9aa639370de739f5eb2da532ab53644d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/api/introduction.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/api/introduction.md","mtime":1541569045944},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./introduction.md?vue&type=template&id=687bc258&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"introduction.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/9ae0512e5a483b93a7d6eb7dbf4ecbc7.json b/node_modules/vuepress/node_modules/.cache/vuepress/9ae0512e5a483b93a7d6eb7dbf4ecbc7.json new file mode 100644 index 00000000..949e74c7 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/9ae0512e5a483b93a7d6eb7dbf4ecbc7.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./SearchBox.vue?vue&type=template&id=2a2a1355&\"\nimport script from \"./SearchBox.vue?vue&type=script&lang=js&\"\nexport * from \"./SearchBox.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SearchBox.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"SearchBox.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/9af2e3094b254d6c885b3d071895d23e.json b/node_modules/vuepress/node_modules/.cache/vuepress/9af2e3094b254d6c885b3d071895d23e.json new file mode 100644 index 00000000..57cde21a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/9af2e3094b254d6c885b3d071895d23e.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/README.md?vue&type=template&id=53d784ef&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/README.md","mtime":1541488927605},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/9b6acc38862ff98b53d0b830d258b5ef.json b/node_modules/vuepress/node_modules/.cache/vuepress/9b6acc38862ff98b53d0b830d258b5ef.json new file mode 100644 index 00000000..909369e5 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/9b6acc38862ff98b53d0b830d258b5ef.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexport default {\n data () {\n return {\n query: '',\n focused: false,\n focusIndex: 0\n }\n },\n\n computed: {\n showSuggestions () {\n return (\n this.focused &&\n this.suggestions &&\n this.suggestions.length\n )\n },\n\n suggestions () {\n const query = this.query.trim().toLowerCase()\n if (!query) {\n return\n }\n\n const { pages, themeConfig } = this.$site\n const max = themeConfig.searchMaxSuggestions || 5\n const localePath = this.$localePath\n const matches = item => (\n item.title &&\n item.title.toLowerCase().indexOf(query) > -1\n )\n const res = []\n for (let i = 0; i < pages.length; i++) {\n if (res.length >= max) break\n const p = pages[i]\n // filter out results that do not match current locale\n if (this.getPageLocalePath(p) !== localePath) {\n continue\n }\n if (matches(p)) {\n res.push(p)\n } else if (p.headers) {\n for (let j = 0; j < p.headers.length; j++) {\n if (res.length >= max) break\n const h = p.headers[j]\n if (matches(h)) {\n res.push(Object.assign({}, p, {\n path: p.path + '#' + h.slug,\n header: h\n }))\n }\n }\n }\n }\n return res\n },\n\n // make suggestions align right when there are not enough items\n alignRight () {\n const navCount = (this.$site.themeConfig.nav || []).length\n const repo = this.$site.repo ? 1 : 0\n return navCount + repo <= 2\n }\n },\n\n methods: {\n getPageLocalePath (page) {\n for (const localePath in this.$site.locales || {}) {\n if (localePath !== '/' && page.path.indexOf(localePath) === 0) {\n return localePath\n }\n }\n return '/'\n },\n\n onUp () {\n if (this.showSuggestions) {\n if (this.focusIndex > 0) {\n this.focusIndex--\n } else {\n this.focusIndex = this.suggestions.length - 1\n }\n }\n },\n\n onDown () {\n if (this.showSuggestions) {\n if (this.focusIndex < this.suggestions.length - 1) {\n this.focusIndex++\n } else {\n this.focusIndex = 0\n }\n }\n },\n\n go (i) {\n if (!this.showSuggestions) {\n return\n }\n this.$router.push(this.suggestions[i].path)\n this.query = ''\n this.focusIndex = 0\n },\n\n focus (i) {\n this.focusIndex = i\n },\n\n unfocus () {\n this.focusIndex = -1\n }\n }\n}\n",{"version":3,"sources":["SearchBox.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA","file":"SearchBox.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <div class=\"search-box\">\n <input\n @input=\"query = $event.target.value\"\n aria-label=\"Search\"\n :value=\"query\"\n :class=\"{ 'focused': focused }\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n @focus=\"focused = true\"\n @blur=\"focused = false\"\n @keyup.enter=\"go(focusIndex)\"\n @keyup.up=\"onUp\"\n @keyup.down=\"onDown\"\n >\n <ul\n class=\"suggestions\"\n v-if=\"showSuggestions\"\n :class=\"{ 'align-right': alignRight }\"\n @mouseleave=\"unfocus\"\n >\n <li\n class=\"suggestion\"\n v-for=\"(s, i) in suggestions\"\n :class=\"{ focused: i === focusIndex }\"\n @mousedown=\"go(i)\"\n @mouseenter=\"focus(i)\"\n >\n <a :href=\"s.path\" @click.prevent>\n <span class=\"page-title\">{{ s.title || s.path }}</span>\n <span v-if=\"s.header\" class=\"header\">> {{ s.header.title }}</span>\n </a>\n </li>\n </ul>\n </div>\n</template>\n\n<script>\nexport default {\n data () {\n return {\n query: '',\n focused: false,\n focusIndex: 0\n }\n },\n\n computed: {\n showSuggestions () {\n return (\n this.focused &&\n this.suggestions &&\n this.suggestions.length\n )\n },\n\n suggestions () {\n const query = this.query.trim().toLowerCase()\n if (!query) {\n return\n }\n\n const { pages, themeConfig } = this.$site\n const max = themeConfig.searchMaxSuggestions || 5\n const localePath = this.$localePath\n const matches = item => (\n item.title &&\n item.title.toLowerCase().indexOf(query) > -1\n )\n const res = []\n for (let i = 0; i < pages.length; i++) {\n if (res.length >= max) break\n const p = pages[i]\n // filter out results that do not match current locale\n if (this.getPageLocalePath(p) !== localePath) {\n continue\n }\n if (matches(p)) {\n res.push(p)\n } else if (p.headers) {\n for (let j = 0; j < p.headers.length; j++) {\n if (res.length >= max) break\n const h = p.headers[j]\n if (matches(h)) {\n res.push(Object.assign({}, p, {\n path: p.path + '#' + h.slug,\n header: h\n }))\n }\n }\n }\n }\n return res\n },\n\n // make suggestions align right when there are not enough items\n alignRight () {\n const navCount = (this.$site.themeConfig.nav || []).length\n const repo = this.$site.repo ? 1 : 0\n return navCount + repo <= 2\n }\n },\n\n methods: {\n getPageLocalePath (page) {\n for (const localePath in this.$site.locales || {}) {\n if (localePath !== '/' && page.path.indexOf(localePath) === 0) {\n return localePath\n }\n }\n return '/'\n },\n\n onUp () {\n if (this.showSuggestions) {\n if (this.focusIndex > 0) {\n this.focusIndex--\n } else {\n this.focusIndex = this.suggestions.length - 1\n }\n }\n },\n\n onDown () {\n if (this.showSuggestions) {\n if (this.focusIndex < this.suggestions.length - 1) {\n this.focusIndex++\n } else {\n this.focusIndex = 0\n }\n }\n },\n\n go (i) {\n if (!this.showSuggestions) {\n return\n }\n this.$router.push(this.suggestions[i].path)\n this.query = ''\n this.focusIndex = 0\n },\n\n focus (i) {\n this.focusIndex = i\n },\n\n unfocus () {\n this.focusIndex = -1\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.search-box\n display inline-block\n position relative\n margin-right 1rem\n input\n cursor text\n width 10rem\n color lighten($textColor, 25%)\n display inline-block\n border 1px solid darken($borderColor, 10%)\n border-radius 2rem\n font-size 0.9rem\n line-height 2rem\n padding 0 0.5rem 0 2rem\n outline none\n transition all .2s ease\n background #fff url(./search.svg) 0.6rem 0.5rem no-repeat\n background-size 1rem\n &:focus\n cursor auto\n border-color $accentColor\n .suggestions\n background #fff\n width 20rem\n position absolute\n top 1.5rem\n border 1px solid darken($borderColor, 10%)\n border-radius 6px\n padding 0.4rem\n list-style-type none\n &.align-right\n right 0\n .suggestion\n line-height 1.4\n padding 0.4rem 0.6rem\n border-radius 4px\n cursor pointer\n a\n white-space normal\n color lighten($textColor, 35%)\n .page-title\n font-weight 600\n .header\n font-size 0.9em\n margin-left 0.25em\n &.focused\n background-color #f3f4f5\n a\n color $accentColor\n\n@media (max-width: $MQNarrow)\n .search-box\n input\n cursor pointer\n width 0\n border-color transparent\n position relative\n &:focus\n cursor text\n left 0\n width 10rem\n\n@media (max-width: $MQNarrow) and (min-width: $MQMobile)\n .search-box\n .suggestions\n left 0\n\n@media (max-width: $MQMobile)\n .search-box\n margin-right 0\n input\n left 1rem\n .suggestions\n right 0\n\n@media (max-width: $MQMobileNarrow)\n .search-box\n .suggestions\n width calc(100vw - 4rem)\n input:focus\n width 8rem\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/9bf2a33b440b16a0a1490510f5b452c8.json b/node_modules/vuepress/node_modules/.cache/vuepress/9bf2a33b440b16a0a1490510f5b452c8.json new file mode 100644 index 00000000..2f4357f7 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/9bf2a33b440b16a0a1490510f5b452c8.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.sidebar-group\n &:not(.first)\n margin-top 1em\n .sidebar-group\n padding-left 0.5em\n &:not(.collapsable)\n .sidebar-heading\n cursor auto\n color inherit\n\n.sidebar-heading\n color #999\n transition color .15s ease\n cursor pointer\n font-size 1.1em\n font-weight bold\n // text-transform uppercase\n padding 0 1.5rem\n margin-top 0\n margin-bottom 0.5rem\n &.open, &:hover\n color inherit\n .arrow\n position relative\n top -0.12em\n left 0.5em\n &:.open .arrow\n top -0.18em\n\n.sidebar-group-items\n transition height .1s ease-out\n overflow hidden\n",{"version":3,"sources":["SidebarGroup.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA","file":"SidebarGroup.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <div\n class=\"sidebar-group\"\n :class=\"{ first, collapsable }\"\n >\n <p\n class=\"sidebar-heading\"\n :class=\"{ open }\"\n @click=\"$emit('toggle')\"\n >\n <span>{{ item.title }}</span>\n <span\n class=\"arrow\"\n v-if=\"collapsable\"\n :class=\"open ? 'down' : 'right'\">\n </span>\n </p>\n\n <DropdownTransition>\n <ul\n ref=\"items\"\n class=\"sidebar-group-items\"\n v-if=\"open || !collapsable\"\n >\n <li v-for=\"child in item.children\">\n <SidebarLink :item=\"child\"/>\n </li>\n </ul>\n </DropdownTransition>\n </div>\n</template>\n\n<script>\nimport SidebarLink from './SidebarLink.vue'\nimport DropdownTransition from './DropdownTransition.vue'\n\nexport default {\n name: 'SidebarGroup',\n props: ['item', 'first', 'open', 'collapsable'],\n components: { SidebarLink, DropdownTransition }\n}\n</script>\n\n<style lang=\"stylus\">\n.sidebar-group\n &:not(.first)\n margin-top 1em\n .sidebar-group\n padding-left 0.5em\n &:not(.collapsable)\n .sidebar-heading\n cursor auto\n color inherit\n\n.sidebar-heading\n color #999\n transition color .15s ease\n cursor pointer\n font-size 1.1em\n font-weight bold\n // text-transform uppercase\n padding 0 1.5rem\n margin-top 0\n margin-bottom 0.5rem\n &.open, &:hover\n color inherit\n .arrow\n position relative\n top -0.12em\n left 0.5em\n &:.open .arrow\n top -0.18em\n\n.sidebar-group-items\n transition height .1s ease-out\n overflow hidden\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/9c1535c2582c8e1ee0ef4887e0816b00.json b/node_modules/vuepress/node_modules/.cache/vuepress/9c1535c2582c8e1ee0ef4887e0816b00.json new file mode 100644 index 00000000..42a411b4 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/9c1535c2582c8e1ee0ef4887e0816b00.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n$navbar-vertical-padding = 0.7rem\n$navbar-horizontal-padding = 1.5rem\n\n.navbar\n padding $navbar-vertical-padding $navbar-horizontal-padding\n line-height $navbarHeight - 1.4rem\n position relative\n a, span, img\n display inline-block\n .logo\n height $navbarHeight - 1.4rem\n min-width $navbarHeight - 1.4rem\n margin-right 0.8rem\n vertical-align top\n .site-name\n font-size 1.3rem\n font-weight 600\n color $textColor\n position relative\n .links\n padding-left 1.5rem\n box-sizing border-box\n background-color white\n white-space nowrap\n font-size 0.9rem\n position absolute\n right $navbar-horizontal-padding\n top $navbar-vertical-padding\n display flex\n .search-box\n flex: 0 0 auto\n vertical-align top\n .nav-links\n flex 1\n\n@media (max-width: $MQMobile)\n .navbar\n padding-left 4rem\n .can-hide\n display none\n .links\n padding-left 1.5rem\n",{"version":3,"sources":["Navbar.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwFA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA","file":"Navbar.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <header class=\"navbar\">\n <SidebarButton @toggle-sidebar=\"$emit('toggle-sidebar')\"/>\n\n <router-link\n :to=\"$localePath\"\n class=\"home-link\"\n >\n <img\n class=\"logo\"\n v-if=\"$site.themeConfig.logo\"\n :src=\"$withBase($site.themeConfig.logo)\"\n :alt=\"$siteTitle\"\n >\n <span\n ref=\"siteName\"\n class=\"site-name\"\n v-if=\"$siteTitle\"\n :class=\"{ 'can-hide': $site.themeConfig.logo }\"\n >{{ $siteTitle }}</span>\n </router-link>\n\n <div\n class=\"links\"\n :style=\"{\n 'max-width': linksWrapMaxWidth + 'px'\n }\"\n >\n <AlgoliaSearchBox\n v-if=\"isAlgoliaSearch\"\n :options=\"algolia\"\n />\n <SearchBox v-else-if=\"$site.themeConfig.search !== false\"/>\n <NavLinks class=\"can-hide\"/>\n </div>\n </header>\n</template>\n\n<script>\nimport SidebarButton from './SidebarButton.vue'\nimport AlgoliaSearchBox from '@AlgoliaSearchBox'\nimport SearchBox from './SearchBox.vue'\nimport NavLinks from './NavLinks.vue'\n\nexport default {\n components: { SidebarButton, NavLinks, SearchBox, AlgoliaSearchBox },\n\n data () {\n return {\n linksWrapMaxWidth: null\n }\n },\n\n mounted () {\n const MOBILE_DESKTOP_BREAKPOINT = 719 // refer to config.styl\n const NAVBAR_VERTICAL_PADDING = parseInt(css(this.$el, 'paddingLeft')) + parseInt(css(this.$el, 'paddingRight'))\n const handleLinksWrapWidth = () => {\n if (document.documentElement.clientWidth < MOBILE_DESKTOP_BREAKPOINT) {\n this.linksWrapMaxWidth = null\n } else {\n this.linksWrapMaxWidth = this.$el.offsetWidth - NAVBAR_VERTICAL_PADDING -\n (this.$refs.siteName && this.$refs.siteName.offsetWidth || 0)\n }\n }\n handleLinksWrapWidth()\n window.addEventListener('resize', handleLinksWrapWidth, false)\n },\n\n computed: {\n algolia () {\n return this.$themeLocaleConfig.algolia || this.$site.themeConfig.algolia || {}\n },\n\n isAlgoliaSearch () {\n return this.algolia && this.algolia.apiKey && this.algolia.indexName\n }\n }\n}\n\nfunction css (el, property) {\n // NOTE: Known bug, will return 'auto' if style value is 'auto'\n const win = el.ownerDocument.defaultView\n // null means not to return pseudo styles\n return win.getComputedStyle(el, null)[property]\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n$navbar-vertical-padding = 0.7rem\n$navbar-horizontal-padding = 1.5rem\n\n.navbar\n padding $navbar-vertical-padding $navbar-horizontal-padding\n line-height $navbarHeight - 1.4rem\n position relative\n a, span, img\n display inline-block\n .logo\n height $navbarHeight - 1.4rem\n min-width $navbarHeight - 1.4rem\n margin-right 0.8rem\n vertical-align top\n .site-name\n font-size 1.3rem\n font-weight 600\n color $textColor\n position relative\n .links\n padding-left 1.5rem\n box-sizing border-box\n background-color white\n white-space nowrap\n font-size 0.9rem\n position absolute\n right $navbar-horizontal-padding\n top $navbar-vertical-padding\n display flex\n .search-box\n flex: 0 0 auto\n vertical-align top\n .nav-links\n flex 1\n\n@media (max-width: $MQMobile)\n .navbar\n padding-left 4rem\n .can-hide\n display none\n .links\n padding-left 1.5rem\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/9c22e48ddfbb6f912c935d93d846d87d.json b/node_modules/vuepress/node_modules/.cache/vuepress/9c22e48ddfbb6f912c935d93d846d87d.json new file mode 100644 index 00000000..a94279d9 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/9c22e48ddfbb6f912c935d93d846d87d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue?vue&type=template&id=4e56f67c&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div\n class=\"dropdown-wrapper\"\n :class=\"{ open }\"\n>\n <a\n class=\"dropdown-title\"\n @click=\"toggle\"\n >\n <span class=\"title\">{{ item.text }}</span>\n <span\n class=\"arrow\"\n :class=\"open ? 'down' : 'right'\"\n ></span>\n </a>\n\n <DropdownTransition>\n <ul\n class=\"nav-dropdown\"\n v-show=\"open\"\n >\n <li\n class=\"dropdown-item\"\n :key=\"subItem.link || index\"\n v-for=\"(subItem, index) in item.items\"\n >\n <h4 v-if=\"subItem.type === 'links'\">{{ subItem.text }}</h4>\n\n <ul\n class=\"dropdown-subitem-wrapper\"\n v-if=\"subItem.type === 'links'\"\n >\n <li\n class=\"dropdown-subitem\"\n :key=\"childSubItem.link\"\n v-for=\"childSubItem in subItem.items\"\n >\n <NavLink :item=\"childSubItem\"/>\n </li>\n </ul>\n\n <NavLink\n v-else\n :item=\"subItem\"\n />\n </li>\n </ul>\n </DropdownTransition>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/9c535660c8ef05582e4f20314f65e9fd.json b/node_modules/vuepress/node_modules/.cache/vuepress/9c535660c8ef05582e4f20314f65e9fd.json new file mode 100644 index 00000000..51f6f963 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/9c535660c8ef05582e4f20314f65e9fd.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/src/.vuepress/enhanceApp.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/.vuepress/enhanceApp.js","mtime":1541576450992},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["function integrateGitalk(router) {\n var linkGitalk = document.createElement('link');\n linkGitalk.href = '/assets/css/gitalk.css';\n linkGitalk.rel = 'stylesheet';\n document.body.appendChild(linkGitalk);\n var scriptGitalk = document.createElement('script');\n scriptGitalk.src = '/assets/js/gitalk.min.js';\n document.body.appendChild(scriptGitalk);\n router.afterEach(function (to) {\n if (scriptGitalk.onload) {\n loadGitalk(to);\n } else {\n scriptGitalk.onload = function () {\n loadGitalk(to);\n };\n }\n });\n\n function loadGitalk(to) {\n var commentsContainer = document.createElement('div');\n commentsContainer.id = 'gitalk-container';\n commentsContainer.classList.add('content');\n var $page = document.querySelector('.page');\n\n if ($page) {\n $page.appendChild(commentsContainer);\n renderGitalk(to.fullPath);\n }\n }\n\n function renderGitalk(fullPath) {\n var gitalk = new Gitalk({\n clientID: 'cb53dd42b1b654202a55',\n clientSecret: '8a9a0e7feadc575b8bba9770cd9454d7423028ac',\n repo: 'tbox-docs',\n owner: 'waruqi',\n admin: ['waruqi'],\n id: 'comment',\n distractionFreeMode: false\n });\n gitalk.render('gitalk-container');\n }\n}\n\nexport default (function (_ref) {\n var Vue = _ref.Vue,\n options = _ref.options,\n router = _ref.router,\n siteData = _ref.siteData;\n\n try {\n document && integrateGitalk(router);\n } catch (e) {\n console.error(e.message);\n }\n});",{"version":3,"sources":["src/.vuepress/enhanceApp.js"],"names":["integrateGitalk","router","linkGitalk","document","createElement","href","rel","body","appendChild","scriptGitalk","src","afterEach","to","onload","loadGitalk","commentsContainer","id","classList","add","$page","querySelector","renderGitalk","fullPath","gitalk","Gitalk","clientID","clientSecret","repo","owner","admin","distractionFreeMode","render","Vue","options","siteData","e","console","error","message"],"mappings":"AAAA,SAASA,eAAT,CAAyBC,MAAzB,EAAiC;AAC/B,MAAMC,aAAaC,SAASC,aAAT,CAAuB,MAAvB,CAAnB;AACAF,aAAWG,IAAX,GAAkB,wBAAlB;AACAH,aAAWI,GAAX,GAAiB,YAAjB;AACAH,WAASI,IAAT,CAAcC,WAAd,CAA0BN,UAA1B;AACA,MAAMO,eAAeN,SAASC,aAAT,CAAuB,QAAvB,CAArB;AACAK,eAAaC,GAAb,GAAmB,0BAAnB;AACAP,WAASI,IAAT,CAAcC,WAAd,CAA0BC,YAA1B;AAEAR,SAAOU,SAAP,CAAiB,UAACC,EAAD,EAAQ;AACvB,QAAIH,aAAaI,MAAjB,EAAyB;AACvBC,iBAAWF,EAAX;AACD,KAFD,MAEO;AACLH,mBAAaI,MAAb,GAAsB,YAAM;AAC1BC,mBAAWF,EAAX;AACD,OAFD;AAGD;AACF,GARD;;AAUA,WAASE,UAAT,CAAoBF,EAApB,EAAwB;AACtB,QAAMG,oBAAoBZ,SAASC,aAAT,CAAuB,KAAvB,CAA1B;AACAW,sBAAkBC,EAAlB,GAAuB,kBAAvB;AACAD,sBAAkBE,SAAlB,CAA4BC,GAA5B,CAAgC,SAAhC;AACA,QAAMC,QAAQhB,SAASiB,aAAT,CAAuB,OAAvB,CAAd;;AACA,QAAID,KAAJ,EAAW;AACTA,YAAMX,WAAN,CAAkBO,iBAAlB;AACAM,mBAAaT,GAAGU,QAAhB;AACD;AACF;;AACD,WAASD,YAAT,CAAsBC,QAAtB,EAAgC;AAC9B,QAAMC,SAAS,IAAIC,MAAJ,CAAW;AACxBC,gBAAU,sBADc;AAExBC,oBAAc,0CAFU;AAGxBC,YAAM,WAHkB;AAIxBC,aAAO,QAJiB;AAKxBC,aAAO,CAAC,QAAD,CALiB;AAMxBb,UAAI,SANoB;AAOxBc,2BAAqB;AAPG,KAAX,CAAf;AASAP,WAAOQ,MAAP,CAAc,kBAAd;AACD;AACF;;AAED,gBAAe,gBAAsC;AAAA,MAApCC,GAAoC,QAApCA,GAAoC;AAAA,MAA/BC,OAA+B,QAA/BA,OAA+B;AAAA,MAAtBhC,MAAsB,QAAtBA,MAAsB;AAAA,MAAdiC,QAAc,QAAdA,QAAc;;AACnD,MAAI;AACF/B,gBAAYH,gBAAgBC,MAAhB,CAAZ;AACD,GAFD,CAEE,OAAOkC,CAAP,EAAU;AACVC,YAAQC,KAAR,CAAcF,EAAEG,OAAhB;AACD;AACF,CAND","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["function integrateGitalk(router) {\n const linkGitalk = document.createElement('link')\n linkGitalk.href = '/assets/css/gitalk.css'\n linkGitalk.rel = 'stylesheet'\n document.body.appendChild(linkGitalk)\n const scriptGitalk = document.createElement('script')\n scriptGitalk.src = '/assets/js/gitalk.min.js'\n document.body.appendChild(scriptGitalk)\n\n router.afterEach((to) => {\n if (scriptGitalk.onload) {\n loadGitalk(to)\n } else {\n scriptGitalk.onload = () => {\n loadGitalk(to)\n }\n }\n })\n\n function loadGitalk(to) {\n const commentsContainer = document.createElement('div')\n commentsContainer.id = 'gitalk-container'\n commentsContainer.classList.add('content')\n const $page = document.querySelector('.page')\n if ($page) {\n $page.appendChild(commentsContainer)\n renderGitalk(to.fullPath)\n }\n }\n function renderGitalk(fullPath) {\n const gitalk = new Gitalk({\n clientID: 'cb53dd42b1b654202a55',\n clientSecret: '8a9a0e7feadc575b8bba9770cd9454d7423028ac',\n repo: 'tbox-docs',\n owner: 'waruqi',\n admin: ['waruqi'],\n id: 'comment',\n distractionFreeMode: false \n })\n gitalk.render('gitalk-container')\n }\n}\n\nexport default ({Vue, options, router, siteData}) => {\n try {\n document && integrateGitalk(router)\n } catch (e) {\n console.error(e.message)\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/9c8b288c4b9770bc00ab14fa3867162a.json b/node_modules/vuepress/node_modules/.cache/vuepress/9c8b288c4b9770bc00ab14fa3867162a.json new file mode 100644 index 00000000..a6f9e6d2 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/9c8b288c4b9770bc00ab14fa3867162a.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/api/introduction.md","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/api/introduction.md","mtime":1541569456015},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./introduction.md?vue&type=template&id=c004d6d6&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('c004d6d6', component.options)\n } else {\n api.reload('c004d6d6', component.options)\n }\n module.hot.accept(\"./introduction.md?vue&type=template&id=c004d6d6&\", function () {\n api.rerender('c004d6d6', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/api/introduction.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/9cc5de958e53a93c4b2abfe4fea4008d.json b/node_modules/vuepress/node_modules/.cache/vuepress/9cc5de958e53a93c4b2abfe4fea4008d.json new file mode 100644 index 00000000..6fda2546 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/9cc5de958e53a93c4b2abfe4fea4008d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Layout.vue?vue&type=template&id=4a890c25&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Layout.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"theme-container\",class:_vm.pageClasses,on:{\"touchstart\":_vm.onTouchStart,\"touchend\":_vm.onTouchEnd}},[(_vm.shouldShowNavbar)?_c('Navbar',{on:{\"toggle-sidebar\":_vm.toggleSidebar}}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"sidebar-mask\",on:{\"click\":function($event){_vm.toggleSidebar(false)}}}),_vm._v(\" \"),_c('Sidebar',{attrs:{\"items\":_vm.sidebarItems},on:{\"toggle-sidebar\":_vm.toggleSidebar}},[_vm._t(\"sidebar-top\",null,{slot:\"top\"}),_vm._v(\" \"),_vm._t(\"sidebar-bottom\",null,{slot:\"bottom\"})],2),_vm._v(\" \"),(_vm.$page.frontmatter.layout)?_c('div',{staticClass:\"custom-layout\"},[_c(_vm.$page.frontmatter.layout,{tag:\"component\"})],1):(_vm.$page.frontmatter.home)?_c('Home'):_c('Page',{attrs:{\"sidebar-items\":_vm.sidebarItems}},[_vm._t(\"page-top\",null,{slot:\"top\"}),_vm._v(\" \"),_vm._t(\"page-bottom\",null,{slot:\"bottom\"})],2),_vm._v(\" \"),_c('SWUpdatePopup',{attrs:{\"updateEvent\":_vm.swUpdateEvent}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/9ce8596cffbc70d312fecd7607514669.json b/node_modules/vuepress/node_modules/.cache/vuepress/9ce8596cffbc70d312fecd7607514669.json new file mode 100644 index 00000000..a5da50f4 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/9ce8596cffbc70d312fecd7607514669.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./Navbar.vue?vue&type=template&id=1e9bb6d3&\"\nimport script from \"./Navbar.vue?vue&type=script&lang=js&\"\nexport * from \"./Navbar.vue?vue&type=script&lang=js&\"\nfunction injectStyles (context) {\n \n var style0 = require(\"./Navbar.vue?vue&type=style&index=0&lang=stylus&\")\nif (style0.__inject__) style0.__inject__(context)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n \"7398b1e9\"\n \n)\n\ncomponent.options.__file = \"Navbar.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/9d078c6d9b7c7a193b575e9dbb7c19c9.json b/node_modules/vuepress/node_modules/.cache/vuepress/9d078c6d9b7c7a193b575e9dbb7c19c9.json new file mode 100644 index 00000000..1e4bca01 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/9d078c6d9b7c7a193b575e9dbb7c19c9.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/manual/introduction.md?vue&type=template&id=b3629762&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/manual/introduction.md","mtime":1541492172602},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._ssrNode(\"<h1 id=\\\"手册\\\"><a href=\\\"#手册\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 手册</h1> <p>[TODO]</p>\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/9dc26e2962813132d10a68ca6377e294.json b/node_modules/vuepress/node_modules/.cache/vuepress/9dc26e2962813132d10a68ca6377e294.json new file mode 100644 index 00000000..44b6d958 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/9dc26e2962813132d10a68ca6377e294.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/README.md?vue&type=template&id=271aadf1&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/README.md","mtime":1541486439372},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/9ec0fc93a7f991022355503315f592de.json b/node_modules/vuepress/node_modules/.cache/vuepress/9ec0fc93a7f991022355503315f592de.json new file mode 100644 index 00000000..f34c0f02 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/9ec0fc93a7f991022355503315f592de.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/manual.md?vue&type=template&id=3d9f7361&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/manual.md","mtime":1541487162645},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm._m(0)\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _c(\"h1\", { attrs: { id: \"manual\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#manual\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Manual\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"[TODO]\")])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/9f0c985c4aab11901ef0d1337fac4799.json b/node_modules/vuepress/node_modules/.cache/vuepress/9f0c985c4aab11901ef0d1337fac4799.json new file mode 100644 index 00000000..8c15e7c7 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/9f0c985c4aab11901ef0d1337fac4799.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLink.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.iterator\";\nimport \"core-js/modules/es6.object.keys\";\nimport \"core-js/modules/es6.array.some\";\nimport \"core-js/modules/es6.string.link\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport { isExternal, isMailto, isTel, ensureExt } from './util';\nexport default {\n props: {\n item: {\n required: true\n }\n },\n computed: {\n link: function link() {\n return ensureExt(this.item.link);\n },\n exact: function exact() {\n var _this = this;\n\n if (this.$site.locales) {\n return Object.keys(this.$site.locales).some(function (rootLink) {\n return rootLink === _this.link;\n });\n }\n\n return this.link === '/';\n }\n },\n methods: {\n isExternal: isExternal,\n isMailto: isMailto,\n isTel: isTel\n }\n};",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/9fedb72f1c0ecd4986788f911bfc6610.json b/node_modules/vuepress/node_modules/.cache/vuepress/9fedb72f1c0ecd4986788f911bfc6610.json new file mode 100644 index 00000000..c951cd6c --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/9fedb72f1c0ecd4986788f911bfc6610.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/README.md?vue&type=template&id=53d784ef&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/README.md","mtime":1541488927605},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/a027442214b6f1d6ad19c62e02e9620d.json b/node_modules/vuepress/node_modules/.cache/vuepress/a027442214b6f1d6ad19c62e02e9620d.json new file mode 100644 index 00000000..14d7078e --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/a027442214b6f1d6ad19c62e02e9620d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLink.vue?vue&type=template&id=e3abcdbc&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.isExternal(_vm.link))?_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":_vm.link,\"exact\":_vm.exact}},[_vm._v(_vm._s(_vm.item.text))]):_c('a',{staticClass:\"nav-link external\",attrs:{\"href\":_vm.link,\"target\":_vm.isMailto(_vm.link) || _vm.isTel(_vm.link) ? null : '_blank',\"rel\":_vm.isMailto(_vm.link) || _vm.isTel(_vm.link) ? null : 'noopener noreferrer'}},[_vm._v(\"\\n \"+_vm._s(_vm.item.text)+\"\\n \"),_c('OutboundLink')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/a0a480c9a5f0366b18d9428930d1720a.json b/node_modules/vuepress/node_modules/.cache/vuepress/a0a480c9a5f0366b18d9428930d1720a.json new file mode 100644 index 00000000..c5f8019c --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/a0a480c9a5f0366b18d9428930d1720a.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue?vue&type=template&id=1bddee00&functional=true&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<svg class=\"icon outbound\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" x=\"0px\" y=\"0px\" viewBox=\"0 0 100 100\" width=\"15\" height=\"15\">\n <path fill=\"currentColor\" d=\"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z\"></path>\n <polygon fill=\"currentColor\" points=\"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9\"></polygon>\n</svg>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/a0e1515798c887fd68cf15100d5065d7.json b/node_modules/vuepress/node_modules/.cache/vuepress/a0e1515798c887fd68cf15100d5065d7.json new file mode 100644 index 00000000..fce159cd --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/a0e1515798c887fd68cf15100d5065d7.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/README.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/README.md","mtime":1541513043653},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./README.md?vue&type=template&id=48a1fb61&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n \"484ed938\"\n \n)\n\ncomponent.options.__file = \"README.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/a13e6d6d7338d0b2517da1f72cf59114.json b/node_modules/vuepress/node_modules/.cache/vuepress/a13e6d6d7338d0b2517da1f72cf59114.json new file mode 100644 index 00000000..aca48d62 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/a13e6d6d7338d0b2517da1f72cf59114.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=734e092b&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\nfunction injectStyles (context) {\n \n var style0 = require(\"./Home.vue?vue&type=style&index=0&lang=stylus&\")\nif (style0.__inject__) style0.__inject__(context)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n \"25f36778\"\n \n)\n\ncomponent.options.__file = \"Home.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/a23939c7d7a14bb18d7797fa6372b84e.json b/node_modules/vuepress/node_modules/.cache/vuepress/a23939c7d7a14bb18d7797fa6372b84e.json new file mode 100644 index 00000000..ed9bf874 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/a23939c7d7a14bb18d7797fa6372b84e.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/api/introduction.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/api/introduction.md","mtime":1541569045944},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./introduction.md?vue&type=template&id=2d9e32d4&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('2d9e32d4', component.options)\n } else {\n api.reload('2d9e32d4', component.options)\n }\n module.hot.accept(\"./introduction.md?vue&type=template&id=2d9e32d4&\", function () {\n api.rerender('2d9e32d4', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/zh/api/introduction.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/a31a125976ef440be8045a113b08112f.json b/node_modules/vuepress/node_modules/.cache/vuepress/a31a125976ef440be8045a113b08112f.json new file mode 100644 index 00000000..4fb12f6a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/a31a125976ef440be8045a113b08112f.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nexport default {\n name: 'DropdownTransition',\n methods: {\n setHeight: function setHeight(items) {\n // explicitly set height so that it can be transitioned\n items.style.height = items.scrollHeight + 'px';\n },\n unsetHeight: function unsetHeight(items) {\n items.style.height = '';\n }\n }\n};",{"version":3,"sources":["DropdownTransition.vue"],"names":[],"mappings":";;;;;;;;;;;AAYA,eAAA;AACA,QAAA,oBADA;AAGA,WAAA;AACA,aADA,qBACA,KADA,EACA;AACA;AACA,YAAA,KAAA,CAAA,MAAA,GAAA,MAAA,YAAA,GAAA,IAAA;AACA,KAJA;AAMA,eANA,uBAMA,KANA,EAMA;AACA,YAAA,KAAA,CAAA,MAAA,GAAA,EAAA;AACA;AARA;AAHA,CAAA","sourcesContent":["<template>\n <transition\n name=\"dropdown\"\n @enter=\"setHeight\"\n @after-enter=\"unsetHeight\"\n @before-leave=\"setHeight\"\n >\n <slot/>\n </transition>\n</template>\n\n<script>\nexport default {\n name: 'DropdownTransition',\n\n methods: {\n setHeight (items) {\n // explicitly set height so that it can be transitioned\n items.style.height = items.scrollHeight + 'px'\n },\n\n unsetHeight (items) {\n items.style.height = ''\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n.dropdown-enter, .dropdown-leave-to\n height 0 !important\n\n</style>\n"],"sourceRoot":"node_modules/vuepress/lib/default-theme"}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/a42c17b7c6be430407ab7c7871306735.json b/node_modules/vuepress/node_modules/.cache/vuepress/a42c17b7c6be430407ab7c7871306735.json new file mode 100644 index 00000000..ec550cd6 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/a42c17b7c6be430407ab7c7871306735.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue?vue&type=template&id=649143b0&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<nav\n class=\"nav-links\"\n v-if=\"userLinks.length || repoLink\"\n>\n <!-- user links -->\n <div\n class=\"nav-item\"\n v-for=\"item in userLinks\"\n :key=\"item.link\"\n >\n <DropdownLink\n v-if=\"item.type === 'links'\"\n :item=\"item\"\n />\n <NavLink\n v-else\n :item=\"item\"\n />\n </div>\n\n <!-- repo link -->\n <a\n v-if=\"repoLink\"\n :href=\"repoLink\"\n class=\"repo-link\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {{ repoLabel }}\n <OutboundLink/>\n </a>\n</nav>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/a43bab7d6b64c7217796979dfcd801f2.json b/node_modules/vuepress/node_modules/.cache/vuepress/a43bab7d6b64c7217796979dfcd801f2.json new file mode 100644 index 00000000..2199f002 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/a43bab7d6b64c7217796979dfcd801f2.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport { resolvePage, normalize, outboundRE, endingSlashRE } from './util'\n\nexport default {\n props: ['sidebarItems'],\n\n computed: {\n lastUpdated () {\n if (this.$page.lastUpdated) {\n return new Date(this.$page.lastUpdated).toLocaleString(this.$lang)\n }\n },\n\n lastUpdatedText () {\n if (typeof this.$themeLocaleConfig.lastUpdated === 'string') {\n return this.$themeLocaleConfig.lastUpdated\n }\n if (typeof this.$site.themeConfig.lastUpdated === 'string') {\n return this.$site.themeConfig.lastUpdated\n }\n return 'Last Updated'\n },\n\n prev () {\n const prev = this.$page.frontmatter.prev\n if (prev === false) {\n return\n } else if (prev) {\n return resolvePage(this.$site.pages, prev, this.$route.path)\n } else {\n return resolvePrev(this.$page, this.sidebarItems)\n }\n },\n\n next () {\n const next = this.$page.frontmatter.next\n if (next === false) {\n return\n } else if (next) {\n return resolvePage(this.$site.pages, next, this.$route.path)\n } else {\n return resolveNext(this.$page, this.sidebarItems)\n }\n },\n\n editLink () {\n if (this.$page.frontmatter.editLink === false) {\n return\n }\n const {\n repo,\n editLinks,\n docsDir = '',\n docsBranch = 'master',\n docsRepo = repo\n } = this.$site.themeConfig\n\n let path = normalize(this.$page.path)\n if (endingSlashRE.test(path)) {\n path += 'README.md'\n } else {\n path += '.md'\n }\n if (docsRepo && editLinks) {\n return this.createEditLink(repo, docsRepo, docsDir, docsBranch, path)\n }\n },\n\n editLinkText () {\n return (\n this.$themeLocaleConfig.editLinkText ||\n this.$site.themeConfig.editLinkText ||\n `Edit this page`\n )\n }\n },\n\n methods: {\n createEditLink (repo, docsRepo, docsDir, docsBranch, path) {\n const bitbucket = /bitbucket.org/\n if (bitbucket.test(repo)) {\n const base = outboundRE.test(docsRepo)\n ? docsRepo\n : repo\n return (\n base.replace(endingSlashRE, '') +\n `/${docsBranch}` +\n (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') +\n path +\n `?mode=edit&spa=0&at=${docsBranch}&fileviewer=file-view-default`\n )\n }\n\n const base = outboundRE.test(docsRepo)\n ? docsRepo\n : `https://github.com/${docsRepo}`\n\n return (\n base.replace(endingSlashRE, '') +\n `/edit/${docsBranch}` +\n (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') +\n path\n )\n }\n }\n}\n\nfunction resolvePrev (page, items) {\n return find(page, items, -1)\n}\n\nfunction resolveNext (page, items) {\n return find(page, items, 1)\n}\n\nfunction find (page, items, offset) {\n const res = []\n items.forEach(item => {\n if (item.type === 'group') {\n res.push(...item.children || [])\n } else {\n res.push(item)\n }\n })\n for (let i = 0; i < res.length; i++) {\n const cur = res[i]\n if (cur.type === 'page' && cur.path === page.path) {\n return res[i + offset]\n }\n }\n}\n",{"version":3,"sources":["Page.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"Page.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <div class=\"page\">\n <slot name=\"top\"/>\n\n <Content :custom=\"false\"/>\n\n <div class=\"page-edit\">\n <div\n class=\"edit-link\"\n v-if=\"editLink\"\n >\n <a\n :href=\"editLink\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >{{ editLinkText }}</a>\n <OutboundLink/>\n </div>\n\n <div\n class=\"last-updated\"\n v-if=\"lastUpdated\"\n >\n <span class=\"prefix\">{{ lastUpdatedText }}: </span>\n <span class=\"time\">{{ lastUpdated }}</span>\n </div>\n </div>\n\n <div class=\"page-nav\" v-if=\"prev || next\">\n <p class=\"inner\">\n <span\n v-if=\"prev\"\n class=\"prev\"\n >\n ←\n <router-link\n v-if=\"prev\"\n class=\"prev\"\n :to=\"prev.path\"\n >\n {{ prev.title || prev.path }}\n </router-link>\n </span>\n\n <span\n v-if=\"next\"\n class=\"next\"\n >\n <router-link\n v-if=\"next\"\n :to=\"next.path\"\n >\n {{ next.title || next.path }}\n </router-link>\n →\n </span>\n </p>\n </div>\n\n <slot name=\"bottom\"/>\n </div>\n</template>\n\n<script>\nimport { resolvePage, normalize, outboundRE, endingSlashRE } from './util'\n\nexport default {\n props: ['sidebarItems'],\n\n computed: {\n lastUpdated () {\n if (this.$page.lastUpdated) {\n return new Date(this.$page.lastUpdated).toLocaleString(this.$lang)\n }\n },\n\n lastUpdatedText () {\n if (typeof this.$themeLocaleConfig.lastUpdated === 'string') {\n return this.$themeLocaleConfig.lastUpdated\n }\n if (typeof this.$site.themeConfig.lastUpdated === 'string') {\n return this.$site.themeConfig.lastUpdated\n }\n return 'Last Updated'\n },\n\n prev () {\n const prev = this.$page.frontmatter.prev\n if (prev === false) {\n return\n } else if (prev) {\n return resolvePage(this.$site.pages, prev, this.$route.path)\n } else {\n return resolvePrev(this.$page, this.sidebarItems)\n }\n },\n\n next () {\n const next = this.$page.frontmatter.next\n if (next === false) {\n return\n } else if (next) {\n return resolvePage(this.$site.pages, next, this.$route.path)\n } else {\n return resolveNext(this.$page, this.sidebarItems)\n }\n },\n\n editLink () {\n if (this.$page.frontmatter.editLink === false) {\n return\n }\n const {\n repo,\n editLinks,\n docsDir = '',\n docsBranch = 'master',\n docsRepo = repo\n } = this.$site.themeConfig\n\n let path = normalize(this.$page.path)\n if (endingSlashRE.test(path)) {\n path += 'README.md'\n } else {\n path += '.md'\n }\n if (docsRepo && editLinks) {\n return this.createEditLink(repo, docsRepo, docsDir, docsBranch, path)\n }\n },\n\n editLinkText () {\n return (\n this.$themeLocaleConfig.editLinkText ||\n this.$site.themeConfig.editLinkText ||\n `Edit this page`\n )\n }\n },\n\n methods: {\n createEditLink (repo, docsRepo, docsDir, docsBranch, path) {\n const bitbucket = /bitbucket.org/\n if (bitbucket.test(repo)) {\n const base = outboundRE.test(docsRepo)\n ? docsRepo\n : repo\n return (\n base.replace(endingSlashRE, '') +\n `/${docsBranch}` +\n (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') +\n path +\n `?mode=edit&spa=0&at=${docsBranch}&fileviewer=file-view-default`\n )\n }\n\n const base = outboundRE.test(docsRepo)\n ? docsRepo\n : `https://github.com/${docsRepo}`\n\n return (\n base.replace(endingSlashRE, '') +\n `/edit/${docsBranch}` +\n (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') +\n path\n )\n }\n }\n}\n\nfunction resolvePrev (page, items) {\n return find(page, items, -1)\n}\n\nfunction resolveNext (page, items) {\n return find(page, items, 1)\n}\n\nfunction find (page, items, offset) {\n const res = []\n items.forEach(item => {\n if (item.type === 'group') {\n res.push(...item.children || [])\n } else {\n res.push(item)\n }\n })\n for (let i = 0; i < res.length; i++) {\n const cur = res[i]\n if (cur.type === 'page' && cur.path === page.path) {\n return res[i + offset]\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n@require './styles/wrapper.styl'\n\n.page\n padding-bottom 2rem\n\n.page-edit\n @extend $wrapper\n padding-top 1rem\n padding-bottom 1rem\n overflow auto\n .edit-link\n display inline-block\n a\n color lighten($textColor, 25%)\n margin-right 0.25rem\n .last-updated\n float right\n font-size 0.9em\n .prefix\n font-weight 500\n color lighten($textColor, 25%)\n .time\n font-weight 400\n color #aaa\n\n.page-nav\n @extend $wrapper\n padding-top 1rem\n padding-bottom 0\n .inner\n min-height 2rem\n margin-top 0\n border-top 1px solid $borderColor\n padding-top 1rem\n overflow auto // clear float\n .next\n float right\n\n@media (max-width: $MQMobile)\n .page-edit\n .edit-link\n margin-bottom .5rem\n .last-updated\n font-size .8em\n float none\n text-align left\n\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/a69c45d5c76b7548cf7ead472eee0f8f.json b/node_modules/vuepress/node_modules/.cache/vuepress/a69c45d5c76b7548cf7ead472eee0f8f.json new file mode 100644 index 00000000..b840ed1e --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/a69c45d5c76b7548cf7ead472eee0f8f.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue?vue&type=template&id=61431e6a&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<transition\n name=\"dropdown\"\n @enter=\"setHeight\"\n @after-enter=\"unsetHeight\"\n @before-leave=\"setHeight\"\n>\n <slot/>\n</transition>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/a6ab0a76ca72af2b366f790c684ec503.json b/node_modules/vuepress/node_modules/.cache/vuepress/a6ab0a76ca72af2b366f790c684ec503.json new file mode 100644 index 00000000..45b63fac --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/a6ab0a76ca72af2b366f790c684ec503.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import _typeof from \"/Users/ruki/projects/personal/tbox-docs/node_modules/@babel/runtime/helpers/builtin/es6/typeof\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nexport default {\n props: {\n updateEvent: {\n type: Object,\n default: null\n }\n },\n computed: {\n popupConfig: function popupConfig() {\n var _arr = [this.$themeLocaleConfig, this.$site.themeConfig];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var config = _arr[_i];\n var sw = config.serviceWorker;\n\n if (sw && sw.updatePopup) {\n return _typeof(sw.updatePopup) === 'object' ? sw.updatePopup : {};\n }\n }\n\n return null;\n },\n enabled: function enabled() {\n return Boolean(this.popupConfig && this.updateEvent);\n },\n message: function message() {\n var c = this.popupConfig;\n return c && c.message || 'New content is available.';\n },\n buttonText: function buttonText() {\n var c = this.popupConfig;\n return c && c.buttonText || 'Refresh';\n }\n },\n methods: {\n reload: function reload() {\n if (this.updateEvent) {\n this.updateEvent.skipWaiting().then(function () {\n location.reload(true);\n });\n this.updateEvent = null;\n }\n }\n }\n};",{"version":3,"sources":["SWUpdatePopup.vue"],"names":[],"mappings":";;;;;;;;;;;;;AAaA,eAAA;AACA,SAAA;AACA,iBAAA;AACA,YAAA,MADA;AAEA,eAAA;AAFA;AADA,GADA;AAQA,YAAA;AACA,eADA,yBACA;AAAA,iBACA,CAAA,KAAA,kBAAA,EAAA,KAAA,KAAA,CAAA,WAAA,CADA;;AACA,+CAAA;AAAA,YAAA,iBAAA;AACA,YAAA,KAAA,OAAA,aAAA;;AACA,YAAA,MAAA,GAAA,WAAA,EAAA;AACA,iBAAA,QAAA,GAAA,WAAA,MAAA,QAAA,GAAA,GAAA,WAAA,GAAA,EAAA;AACA;AACA;;AACA,aAAA,IAAA;AACA,KATA;AAWA,WAXA,qBAWA;AACA,aAAA,QAAA,KAAA,WAAA,IAAA,KAAA,WAAA,CAAA;AACA,KAbA;AAeA,WAfA,qBAeA;AACA,UAAA,IAAA,KAAA,WAAA;AACA,aAAA,KAAA,EAAA,OAAA,IAAA,2BAAA;AACA,KAlBA;AAoBA,cApBA,wBAoBA;AACA,UAAA,IAAA,KAAA,WAAA;AACA,aAAA,KAAA,EAAA,UAAA,IAAA,SAAA;AACA;AAvBA,GARA;AAkCA,WAAA;AACA,UADA,oBACA;AACA,UAAA,KAAA,WAAA,EAAA;AACA,aAAA,WAAA,CAAA,WAAA,GAAA,IAAA,CAAA,YAAA;AACA,mBAAA,MAAA,CAAA,IAAA;AACA,SAFA;AAGA,aAAA,WAAA,GAAA,IAAA;AACA;AACA;AARA;AAlCA,CAAA","sourcesContent":["<template>\n <transition name=\"sw-update-popup\">\n <div\n v-if=\"enabled\"\n class=\"sw-update-popup\"\n >\n {{message}}<br>\n <button @click=\"reload\">{{buttonText}}</button>\n </div>\n </transition>\n</template>\n\n<script>\nexport default {\n props: {\n updateEvent: {\n type: Object,\n default: null\n }\n },\n\n computed: {\n popupConfig () {\n for (const config of [this.$themeLocaleConfig, this.$site.themeConfig]) {\n const sw = config.serviceWorker\n if (sw && sw.updatePopup) {\n return typeof sw.updatePopup === 'object' ? sw.updatePopup : {}\n }\n }\n return null\n },\n\n enabled () {\n return Boolean(this.popupConfig && this.updateEvent)\n },\n\n message () {\n const c = this.popupConfig\n return (c && c.message) || 'New content is available.'\n },\n\n buttonText () {\n const c = this.popupConfig\n return (c && c.buttonText) || 'Refresh'\n }\n },\n\n methods: {\n reload () {\n if (this.updateEvent) {\n this.updateEvent.skipWaiting().then(() => {\n location.reload(true)\n })\n this.updateEvent = null\n }\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.sw-update-popup\n position fixed\n right 1em\n bottom 1em\n padding 1em\n border 1px solid $accentColor\n border-radius 3px\n background #fff\n box-shadow 0 4px 16px rgba(0, 0, 0, 0.5)\n text-align center\n\n button\n margin-top 0.5em\n padding 0.25em 2em\n\n.sw-update-popup-enter-active, .sw-update-popup-leave-active\n transition opacity 0.3s, transform 0.3s\n\n.sw-update-popup-enter, .sw-update-popup-leave-to\n opacity 0\n transform translate(0, 50%) scale(0.5)\n</style>\n"],"sourceRoot":"node_modules/vuepress/lib/default-theme"}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/a721abadec0d8736ed591d6aba7a30cf.json b/node_modules/vuepress/node_modules/.cache/vuepress/a721abadec0d8736ed591d6aba7a30cf.json new file mode 100644 index 00000000..25e37e62 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/a721abadec0d8736ed591d6aba7a30cf.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/.temp/enhanceApp.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/.temp/enhanceApp.js","mtime":1541576694591},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["export { default } from \"/Users/ruki/projects/personal/tbox-docs/src/.vuepress/enhanceApp.js\";",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/a794759c73a4ed21c45aaf55e3dedf87.json b/node_modules/vuepress/node_modules/.cache/vuepress/a794759c73a4ed21c45aaf55e3dedf87.json new file mode 100644 index 00000000..8d1031dd --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/a794759c73a4ed21c45aaf55e3dedf87.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/zh/README.md","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/zh/README.md","mtime":1541598623911},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./README.md?vue&type=template&id=4f009e77&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('4f009e77', component.options)\n } else {\n api.reload('4f009e77', component.options)\n }\n module.hot.accept(\"./README.md?vue&type=template&id=4f009e77&\", function () {\n api.rerender('4f009e77', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/zh/README.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/a7b386154bf6ab351c2e152513801968.json b/node_modules/vuepress/node_modules/.cache/vuepress/a7b386154bf6ab351c2e152513801968.json new file mode 100644 index 00000000..72b2ca7b --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/a7b386154bf6ab351c2e152513801968.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/guide/getting-started.md?vue&type=template&id=07d4db43&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/getting-started.md","mtime":1541489096650},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('p',[_vm._v(\"请先安装: \"),_c('a',{attrs:{\"href\":\"https://github.com/tboox/xmake\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"xmake\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_vm._m(2),_vm._m(3),_vm._v(\" \"),_vm._m(4)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h1',{attrs:{\"id\":\"快速开始\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#快速开始\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 快速开始\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',{attrs:{\"id\":\"编译\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#编译\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 编译\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"language-console extra-class\"},[_c('pre',{pre:true,attrs:{\"class\":\"language-text\"}},[_c('code',[_vm._v(\"# 默认直接编译当前主机平台\\n$ cd ./tbox\\n$ xmake\\n\\n# 编译mingw平台\\n$ cd ./tbox\\n$ xmake f -p mingw --sdk=/home/mingwsdk \\n$ xmake\\n\\n# 编译iphoneos平台\\n$ cd ./tbox\\n$ xmake f -p iphoneos \\n$ xmake\\n\\n# 编译android平台\\n$ cd ./tbox\\n$ xmake f -p android --ndk=xxxxx\\n$ xmake\\n\\n# 交叉编译\\n$ cd ./tbox\\n$ xmake f -p linux --sdk=/home/sdk #--bin=/home/sdk/bin\\n$ xmake\\n\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',{attrs:{\"id\":\"例子\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#例子\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 例子\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"language-c extra-class\"},[_c('pre',{pre:true,attrs:{\"class\":\"language-c\"}},[_c('code',[_c('span',{attrs:{\"class\":\"token macro property\"}},[_vm._v(\"#\"),_c('span',{attrs:{\"class\":\"token directive keyword\"}},[_vm._v(\"include\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"tbox/tbox.h\\\"\")])]),_vm._v(\"\\n\\n\"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"int\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"main\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"int\")]),_vm._v(\" argc\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"char\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"*\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"*\")]),_vm._v(\" argv\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// init tbox\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"!\")]),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_init\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"tb_null\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" tb_null\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"return\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// trace\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_trace_i\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"hello tbox\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// init vector\")]),_vm._v(\"\\n tb_vector_ref_t vector \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_init\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_element_cstr\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"tb_true\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// insert item\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_insert_tail\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"hello\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_insert_tail\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"tbox\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// dump all items\")]),_vm._v(\"\\n tb_for_all \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"tb_char_t \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"const\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"*\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" cstr\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// trace\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_trace_i\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"%s\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" cstr\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// exit vector\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_exit\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// init stream\")]),_vm._v(\"\\n tb_stream_ref_t stream \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_stream_init_from_url\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"http://www.xxx.com/file.txt\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"stream\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// open stream\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_stream_open\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"stream\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// read line\")]),_vm._v(\"\\n tb_long_t size \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n tb_char_t line\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"[\")]),_vm._v(\"TB_STREAM_BLOCK_MAXN\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"]\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"while\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"size \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_stream_bread_line\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"stream\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" line\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"sizeof\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"line\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\">=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// trace\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_trace_i\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"line: %s\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" line\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// exit stream\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_stream_exit\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"stream\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// wait \")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"getchar\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// exit tbox\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_exit\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"return\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\")])])])}]\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/a81e9695735634e1d4ebbd4b8b1e4f74.json b/node_modules/vuepress/node_modules/.cache/vuepress/a81e9695735634e1d4ebbd4b8b1e4f74.json new file mode 100644 index 00000000..8ea6e924 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/a81e9695735634e1d4ebbd4b8b1e4f74.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nexport default {\n name: 'DropdownTransition',\n methods: {\n setHeight: function setHeight(items) {\n // explicitly set height so that it can be transitioned\n items.style.height = items.scrollHeight + 'px';\n },\n unsetHeight: function unsetHeight(items) {\n items.style.height = '';\n }\n }\n};",{"version":3,"sources":["node_modules/vuepress/lib/default-theme/DropdownTransition.vue"],"names":["name","methods","setHeight","items","style","height","scrollHeight","unsetHeight"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,eAAe;AACbA,QAAM,oBADO;AAGbC,WAAS;AACPC,aADO,qBACIC,KADJ,EACW;AAChB;AACAA,YAAMC,KAAN,CAAYC,MAAZ,GAAqBF,MAAMG,YAAN,GAAqB,IAA1C;AACD,KAJM;AAMPC,eANO,uBAMMJ,KANN,EAMa;AAClBA,YAAMC,KAAN,CAAYC,MAAZ,GAAqB,EAArB;AACD;AARM;AAHI,CAAf","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexport default {\n name: 'DropdownTransition',\n\n methods: {\n setHeight (items) {\n // explicitly set height so that it can be transitioned\n items.style.height = items.scrollHeight + 'px'\n },\n\n unsetHeight (items) {\n items.style.height = ''\n }\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/a890cc1309c388a7971688aa2cdac5c7.json b/node_modules/vuepress/node_modules/.cache/vuepress/a890cc1309c388a7971688aa2cdac5c7.json new file mode 100644 index 00000000..260659bb --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/a890cc1309c388a7971688aa2cdac5c7.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/guide/introduction.md?vue&type=template&id=6ecdfb78&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/introduction.md","mtime":1541489249205},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"简介\"><a class=\"header-anchor\" href=\"#简介\" aria-hidden=\"true\">#</a> 简介</h1>\n<p>TBOX是一个用c语言实现的跨平台开发库。</p>\n<p>针对各个平台,封装了统一的接口,简化了各类开发过程中常用操作,使你在开发过程中,更加关注实际应用的开发,而不是把时间浪费在琐碎的接口兼容性上面,并且充分利用了各个平台独有的一些特性进行优化。</p>\n<p>这个项目的目的,是为了使C开发更加的简单高效。</p>\n<p>目前支持的平台有:</p>\n<ul>\n<li>Windows</li>\n<li>Macosx</li>\n<li>Linux</li>\n<li>Android</li>\n<li>iOS</li>\n</ul>\n<p>通过<a href=\"http://www.xmake.io/cn\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a>支持各种编译模式:</p>\n<ul>\n<li>Release: 正式版编译,禁用调试信息、断言,各种检测机制,启用编译器优化</li>\n<li>Debug: 调试模式,默认启用详细调试信息、断言、内存越界检测、内存泄漏、锁竞争分析等检测机制</li>\n<li>Small: 最小化编译,默认禁用所有扩展模块,启用编译器最小化优化</li>\n<li>Micro: 针对嵌入式平台,仅仅编译tbox微内核,仅提供最基础的跨平台接口,生成库仅64K左右(内置轻量libc接口实现)</li>\n</ul>\n<p>如果你想了解更多,请参考:</p>\n<ul>\n<li><a href=\"http://www.tboox.org/cn\" target=\"_blank\" rel=\"noopener noreferrer\">项目主页<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/%E7%9B%AE%E5%BD%95\" target=\"_blank\" rel=\"noopener noreferrer\">在线文档<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Github<OutboundLink/></a></li>\n<li><a href=\"https://gitee.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Gitee<OutboundLink/></a></li>\n</ul>\n<h2 id=\"特性\"><a class=\"header-anchor\" href=\"#特性\" aria-hidden=\"true\">#</a> 特性</h2>\n<h4 id=\"流库\"><a class=\"header-anchor\" href=\"#流库\" aria-hidden=\"true\">#</a> 流库</h4>\n<p>针对http、file、socket、data等流数据,实现统一接口进行读写,并且支持: 阻塞、非阻塞、异步 三种读写模式。\n支持中间增加多层filter流进行流过滤,实现边读取,内部边进行解压、编码转换、加密等操作,极大的减少了内存使用。</p>\n<p>主要提供以下模块:</p>\n<ul>\n<li><code>stream</code>:通用非阻塞流,用于一般的单独io处理,同时支持协程以实现异步传输。</li>\n<li><code>transfer</code>:流传输器,维护两路流的传输。</li>\n<li><code>static_stream</code>:针对静态数据buffer优化的静态流,用于轻量快速的数据解析。</li>\n</ul>\n<h4 id=\"协程库\"><a class=\"header-anchor\" href=\"#协程库\" aria-hidden=\"true\">#</a> 协程库</h4>\n<ul>\n<li>快速高效的协程切换支持(具体性能参考:<a href=\"http://tboox.org/cn/2016/10/28/benchbox-coroutine/\" target=\"_blank\" rel=\"noopener noreferrer\">基准测试报告<OutboundLink/></a>)</li>\n<li>提供跨平台支持,核心切换算法参考boost,并且对其进行重写和优化,目前支持架构:x86, x86_64, arm, arm64, mips32</li>\n<li>提供channel协程间数据通信支持,基于生产、消费者模型</li>\n<li>提供信号量、协程锁支持</li>\n<li>socket、stream都模块原生支持协程,并且可在线程和协程间进行无缝切换</li>\n<li>提供http、file等基于协程的简单服务器实例,只需几百行代码,就可以从socket开始写个高性能io服务器,代码逻辑比异步回调模式更加清晰</li>\n<li>同时提供stackfull, stackless两种协程模式支持,stackless协程更加的轻量(每个协程只占用几十个bytes),切换更快(会牺牲部分易用性)</li>\n<li>支持epoll, kqueue, poll, select 和 IOCP</li>\n</ul>\n<h4 id=\"数据库\"><a class=\"header-anchor\" href=\"#数据库\" aria-hidden=\"true\">#</a> 数据库</h4>\n<ul>\n<li>统一并简化数据库操作接口,适配各种数据源,通过统一的url来自动连接打开支持的数据库,数据的枚举采用迭代器模型。</li>\n<li>目前支持sqlite3以及mysql两种关系型数据库,也可自定义扩展使用其他关系型数据库。</li>\n</ul>\n<h4 id=\"xml库\"><a class=\"header-anchor\" href=\"#xml库\" aria-hidden=\"true\">#</a> xml库</h4>\n<ul>\n<li>针对xml提供DOM和SAX两种解析模式,SAX方式采用外部迭代模式,灵活性和性能更高,并且可以选择指定路径,进行解析。</li>\n<li>解析过程完全基于stream,所以是高度流化的,可以实现边下载、边解压、边转码、边解析一条龙服务,使用较低的内存也可以解析大规模数据。</li>\n<li>提供xml writer以支持对xml生成</li>\n</ul>\n<h4 id=\"内存库\"><a class=\"header-anchor\" href=\"#内存库\" aria-hidden=\"true\">#</a> 内存库</h4>\n<ul>\n<li>参考linux内核内存管理机制的实现,并对其进行各种改造和优化,所实现的TBOX独有的一整套内存池管理架构。</li>\n<li>调试模式下,可以轻松检测并定位内存泄露、内存越界溢出、内存重叠覆盖等常见内存问题,并对整体内存的使用进行了统计和简要分析。</li>\n<li>针对大块数据、小块数据、字符串数据进行了充分的利用,避免了大量外部碎片和内部碎片的产生。分配操作进行了各种优化,96%的情况下,效率都是在O(1)。</li>\n</ul>\n<h4 id=\"容器库\"><a class=\"header-anchor\" href=\"#容器库\" aria-hidden=\"true\">#</a> 容器库</h4>\n<ul>\n<li>提供哈希、链表、数组、队列、堆栈、最小最大堆等常用容器。</li>\n<li>支持各种常用成员类型,在原有的容器期初上,其成员类型还可以完全自定义扩展。</li>\n<li>所有容器都支持迭代器操作。</li>\n<li>大部分容器都可以支持基于stream的序列化和反序列化操作。</li>\n</ul>\n<h4 id=\"算法库\"><a class=\"header-anchor\" href=\"#算法库\" aria-hidden=\"true\">#</a> 算法库</h4>\n<ul>\n<li>提供各种排序算法:冒泡排序、堆排序、快速排序、插入排序。</li>\n<li>提供各种查找算法:线性遍历、二分法搜索。</li>\n<li>提供各种遍历、删除、统计算法。</li>\n<li>以迭代器为接口,实现算法和容器的分离,类似stl,但是c实现的,更加轻量。</li>\n</ul>\n<h4 id=\"网络库\"><a class=\"header-anchor\" href=\"#网络库\" aria-hidden=\"true\">#</a> 网络库</h4>\n<ul>\n<li>实现http客户端模块</li>\n<li>实现cookies</li>\n<li>实现dns解析与缓存</li>\n<li>实现ssl(支持openssl, polarssl, mbedtls)</li>\n<li>支持ipv4、ipv6</li>\n<li>支持通过协程实现异步模式</li>\n</ul>\n<h4 id=\"数学运算库\"><a class=\"header-anchor\" href=\"#数学运算库\" aria-hidden=\"true\">#</a> 数学运算库</h4>\n<ul>\n<li>提供各种精度的定点运算支持</li>\n<li>提供随机数生成器</li>\n</ul>\n<h4 id=\"libc库\"><a class=\"header-anchor\" href=\"#libc库\" aria-hidden=\"true\">#</a> libc库</h4>\n<ul>\n<li>libc的一个轻量级实现,完全跨平台,并且针对不同架构进行了优化。</li>\n<li>支持大部分字符串、宽字符串操作。</li>\n<li>扩展字符串、宽字符串的各种大小写不敏感操作接口</li>\n<li>扩展<code>memset_u16</code>、<code>memset_u32</code>等接口,并对其进行高度优化,尤其适合图形渲染程序</li>\n</ul>\n<h4 id=\"libm库\"><a class=\"header-anchor\" href=\"#libm库\" aria-hidden=\"true\">#</a> libm库</h4>\n<ul>\n<li>libm部分接口的一个轻量级实现,以及对常用系统接口的封装。(目前只实现了部分,之后有时间会完全实现掉)</li>\n<li>扩展部分常用接口,增加对sqrt、log2等常用函数的整数版本计算,进行高度优化,不涉及浮点运算,适合嵌入式环境使用。</li>\n</ul>\n<h4 id=\"object库\"><a class=\"header-anchor\" href=\"#object库\" aria-hidden=\"true\">#</a> object库</h4>\n<ul>\n<li>轻量级类apple的CoreFoundation库,支持object、dictionary、array、string、number、date、data等常用对象,并且可以方便扩展自定义对象的序列化。</li>\n<li>支持对xml、json、binary以及apple的plist(xplist/bplist)格式序列化和反序列化。\n并且实现自有的binary序列化格式, 针对明文进行了简单的加密,在不影响性能的前提下,序列化后的大小比bplist节省30%。</li>\n</ul>\n<h4 id=\"平台库\"><a class=\"header-anchor\" href=\"#平台库\" aria-hidden=\"true\">#</a> 平台库</h4>\n<ul>\n<li>提供file、directory、socket、thread、time等常用系统接口</li>\n<li>提供atomic、atomic64接口</li>\n<li>提供高精度、低精度定时器</li>\n<li>提供高性能的线程池操作</li>\n<li>提供event、mutex、semaphore、spinlock等事件、互斥、信号量、自旋锁操作</li>\n<li>提供获取函数堆栈信息的接口,方便调试和错误定位</li>\n<li>提供跨平台动态库加载接口(如果系统支持的话)</li>\n<li>提供io轮询器,针对epoll, poll, select, kqueue进行跨平台封装</li>\n<li>提供跨平台上下文切换接口,主要用于协程实现,切换效率非常高</li>\n</ul>\n<h4 id=\"压缩库\"><a class=\"header-anchor\" href=\"#压缩库\" aria-hidden=\"true\">#</a> 压缩库</h4>\n<ul>\n<li>支持zlib/zlibraw/gzip的压缩与解压(需要第三方zlib库支持)。</li>\n</ul>\n<h4 id=\"字符编码库\"><a class=\"header-anchor\" href=\"#字符编码库\" aria-hidden=\"true\">#</a> 字符编码库</h4>\n<ul>\n<li>支持utf8、utf16、gbk、gb2312、uc2、uc4 之间的互相转码,并且支持大小端格式。</li>\n</ul>\n<h4 id=\"实用工具库\"><a class=\"header-anchor\" href=\"#实用工具库\" aria-hidden=\"true\">#</a> 实用工具库</h4>\n<ul>\n<li>实现base64/32编解码</li>\n<li>实现crc32、adler32、md5、sha1等常用hash算法</li>\n<li>实现日志输出、断言等辅助调试工具</li>\n<li>实现url编解码</li>\n<li>实现位操作相关接口,支持各种数据格式的解析,可以对8bits、16bits、32bits、64bits、float、double以及任意bits的字段进行解析操作,并且同时支持大端、小端和本地端模式,并针对部分操作进行了优化,像static_stream、stream都有相关接口对其进行了封装,方便在流上进行快速数据解析。</li>\n<li>实现swap16、swap32、swap64等位交换操作,并针对各个平台进行了优化。</li>\n<li>实现一些高级的位处理接口,例如:位0的快速统计、前导0和前导1的快速位计数、后导01的快速位计数</li>\n<li>实现单例模块,可以对静态对象、实例对象进行快速的单例封装,实现全局线程安全</li>\n<li>实现option模块,对命令行参数进行解析,提供快速方便的命令行选项建立和解析操作,对于写终端程序还是很有帮助的</li>\n</ul>\n<h4 id=\"正则表达式库\"><a class=\"header-anchor\" href=\"#正则表达式库\" aria-hidden=\"true\">#</a> 正则表达式库</h4>\n<ul>\n<li>支持匹配和替换操作</li>\n<li>支持全局、多行、大小写不敏感等模式</li>\n<li>使用pcre, pcre2和posix正则库</li>\n</ul>\n<h2 id=\"项目例子\"><a class=\"header-anchor\" href=\"#项目例子\" aria-hidden=\"true\">#</a> 项目例子</h2>\n<p>一些使用tbox的项目</p>\n<ul>\n<li><a href=\"https://github.com/tboox/gbox\" target=\"_blank\" rel=\"noopener noreferrer\">gbox<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/vm86\" target=\"_blank\" rel=\"noopener noreferrer\">vm86<OutboundLink/></a></li>\n<li><a href=\"http://www.xmake.io/cn\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/itrace\" target=\"_blank\" rel=\"noopener noreferrer\">itrace<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/%E4%BD%BF%E7%94%A8tbox%E7%9A%84%E5%BC%80%E6%BA%90%E5%BA%93\" target=\"_blank\" rel=\"noopener noreferrer\">更多项目<OutboundLink/></a></li>\n</ul>\n<h2 id=\"联系方式\"><a class=\"header-anchor\" href=\"#联系方式\" aria-hidden=\"true\">#</a> 联系方式</h2>\n<ul>\n<li>邮箱:<a href=\"mailto:waruqi@gmail.com\">waruqi@gmail.com</a></li>\n<li>主页:<a href=\"http://www.tboox.org/cn\" target=\"_blank\" rel=\"noopener noreferrer\">TBOOX开源工程<OutboundLink/></a></li>\n<li>社区:<a href=\"https://www.reddit.com/r/tboox/\" target=\"_blank\" rel=\"noopener noreferrer\">Reddit论坛<OutboundLink/></a></li>\n<li>QQ群:343118190</li>\n<li>微信公众号:tboox-os</li>\n</ul>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/a8b8b64fc0354d9f755f38966b9f5286.json b/node_modules/vuepress/node_modules/.cache/vuepress/a8b8b64fc0354d9f755f38966b9f5286.json new file mode 100644 index 00000000..342add66 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/a8b8b64fc0354d9f755f38966b9f5286.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/.temp/siteData.js","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/.temp/siteData.js","mtime":1541598695622},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["export var siteData = {\n \"title\": \"\",\n \"description\": \"\",\n \"base\": \"/\",\n \"pages\": [{\n \"key\": \"v-ddf4be195b958\",\n \"path\": \"/\",\n \"lastUpdated\": null,\n \"title\": \"Home\",\n \"headers\": [{\n \"level\": 2,\n \"title\": \"Simple description\",\n \"slug\": \"simple-description\"\n }, {\n \"level\": 2,\n \"title\": \"Package dependences\",\n \"slug\": \"package-dependences\"\n }, {\n \"level\": 2,\n \"title\": \"Build project\",\n \"slug\": \"build-project\"\n }, {\n \"level\": 2,\n \"title\": \"Run target\",\n \"slug\": \"run-target\"\n }, {\n \"level\": 2,\n \"title\": \"Debug target\",\n \"slug\": \"debug-target\"\n }, {\n \"level\": 2,\n \"title\": \"Configure platform\",\n \"slug\": \"configure-platform\"\n }, {\n \"level\": 2,\n \"title\": \"Menu configuration\",\n \"slug\": \"menu-configuration\"\n }, {\n \"level\": 2,\n \"title\": \"Package management\",\n \"slug\": \"package-management\"\n }, {\n \"level\": 2,\n \"title\": \"Supported platforms\",\n \"slug\": \"supported-platforms\"\n }, {\n \"level\": 2,\n \"title\": \"Supported Languages\",\n \"slug\": \"supported-languages\"\n }, {\n \"level\": 2,\n \"title\": \"Supported Projects\",\n \"slug\": \"supported-projects\"\n }, {\n \"level\": 2,\n \"title\": \"Builtin Plugins\",\n \"slug\": \"builtin-plugins\"\n }, {\n \"level\": 2,\n \"title\": \"More Plugins\",\n \"slug\": \"more-plugins\"\n }, {\n \"level\": 2,\n \"title\": \"IDE/Editor Integration\",\n \"slug\": \"ide-editor-integration\"\n }, {\n \"level\": 2,\n \"title\": \"More Examples\",\n \"slug\": \"more-examples\"\n }, {\n \"level\": 2,\n \"title\": \"Project Examples\",\n \"slug\": \"project-examples\"\n }, {\n \"level\": 2,\n \"title\": \"Example Video\",\n \"slug\": \"example-video\"\n }, {\n \"level\": 2,\n \"title\": \"Contacts\",\n \"slug\": \"contacts\"\n }],\n \"frontmatter\": {\n \"home\": true,\n \"heroImage\": \"/hero.png\",\n \"actionText\": \"Get Started →\",\n \"actionLink\": \"/guide/getting-started\",\n \"features\": [{\n \"title\": \"Why\",\n \"details\": \"Making development and building easier, so that any developer can quickly pick it up and enjoy the productivity boost when developing and building project.\"\n }, {\n \"title\": \"Powerful\",\n \"details\": \"Provides lots of features (e.g. package, install, plugin, macro, action, option, task and etc).\"\n }, {\n \"title\": \"Cross-platform\",\n \"details\": \"Supports windows, macOS, linux, android, ios.\"\n }],\n \"footer\": \"Apache-2.0 Licensed | Copyright © 2015-present tboox.org\"\n }\n }, {\n \"key\": \"v-8644851cf91dd\",\n \"path\": \"/api/introduction.html\",\n \"lastUpdated\": null,\n \"title\": \"Title1\",\n \"headers\": [{\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2\"\n }, {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3\"\n }, {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-2\"\n }, {\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2-2\"\n }, {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-3\"\n }]\n }, {\n \"key\": \"v-b6ee77db64501\",\n \"path\": \"/guide/faq.html\",\n \"lastUpdated\": null,\n \"title\": \"FAQ\",\n \"headers\": [{\n \"level\": 2,\n \"title\": \"How to get verbose command-line arguments info?\",\n \"slug\": \"how-to-get-verbose-command-line-arguments-info\"\n }, {\n \"level\": 2,\n \"title\": \"How to suppress all output info?\",\n \"slug\": \"how-to-suppress-all-output-info\"\n }, {\n \"level\": 2,\n \"title\": \"How to do if xmake fails?\",\n \"slug\": \"how-to-do-if-xmake-fails\"\n }, {\n \"level\": 2,\n \"title\": \"How to see verbose compiling warnings?\",\n \"slug\": \"how-to-see-verbose-compiling-warnings\"\n }, {\n \"level\": 2,\n \"title\": \"How to scan source code and generate xmake.lua automaticlly\",\n \"slug\": \"how-to-scan-source-code-and-generate-xmake-lua-automaticlly\"\n }]\n }, {\n \"key\": \"v-fcba2a8896d43\",\n \"path\": \"/guide/getting-started.html\",\n \"lastUpdated\": null,\n \"title\": \"Getting Started\",\n \"headers\": [{\n \"level\": 2,\n \"title\": \"Installation\",\n \"slug\": \"installation\"\n }, {\n \"level\": 2,\n \"title\": \"Quick Start\",\n \"slug\": \"quick-start\"\n }, {\n \"level\": 2,\n \"title\": \"Project Examples\",\n \"slug\": \"project-examples\"\n }, {\n \"level\": 2,\n \"title\": \"Configuration\",\n \"slug\": \"configuration\"\n }, {\n \"level\": 2,\n \"title\": \"Dependency Package Management\",\n \"slug\": \"dependency-package-management\"\n }]\n }, {\n \"key\": \"v-cda17500cdb0c\",\n \"path\": \"/guide/introduction.html\",\n \"lastUpdated\": null,\n \"title\": \"Introduction\",\n \"headers\": [{\n \"level\": 2,\n \"title\": \"Introduction\",\n \"slug\": \"introduction\"\n }]\n }, {\n \"key\": \"v-745d22bfe3ef4\",\n \"path\": \"/guide/sponsors.html\",\n \"lastUpdated\": null,\n \"title\": \"Sponsors\"\n }, {\n \"key\": \"v-360e42fea8e33\",\n \"path\": \"/plugin/introduction.html\",\n \"lastUpdated\": null,\n \"title\": \"Title1\",\n \"headers\": [{\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2\"\n }, {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3\"\n }, {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-2\"\n }, {\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2-2\"\n }, {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-3\"\n }]\n }, {\n \"key\": \"v-1856b116362c7\",\n \"path\": \"/zh/\",\n \"lastUpdated\": null,\n \"title\": \"Home\",\n \"headers\": [{\n \"level\": 2,\n \"title\": \"简单的工程描述\",\n \"slug\": \"简单的工程描述\"\n }, {\n \"level\": 2,\n \"title\": \"包依赖描述\",\n \"slug\": \"包依赖描述\"\n }, {\n \"level\": 2,\n \"title\": \"构建工程\",\n \"slug\": \"构建工程\"\n }, {\n \"level\": 2,\n \"title\": \"运行目标\",\n \"slug\": \"运行目标\"\n }, {\n \"level\": 2,\n \"title\": \"调试程序\",\n \"slug\": \"调试程序\"\n }, {\n \"level\": 2,\n \"title\": \"配置平台\",\n \"slug\": \"配置平台\"\n }, {\n \"level\": 2,\n \"title\": \"图形化菜单配置\",\n \"slug\": \"图形化菜单配置\"\n }, {\n \"level\": 2,\n \"title\": \"包依赖管理\",\n \"slug\": \"包依赖管理\"\n }, {\n \"level\": 2,\n \"title\": \"支持平台\",\n \"slug\": \"支持平台\"\n }, {\n \"level\": 2,\n \"title\": \"支持语言\",\n \"slug\": \"支持语言\"\n }, {\n \"level\": 2,\n \"title\": \"工程类型\",\n \"slug\": \"工程类型\"\n }, {\n \"level\": 2,\n \"title\": \"内置插件\",\n \"slug\": \"内置插件\"\n }, {\n \"level\": 2,\n \"title\": \"更多插件\",\n \"slug\": \"更多插件\"\n }, {\n \"level\": 2,\n \"title\": \"IDE和编辑器插件\",\n \"slug\": \"ide和编辑器插件\"\n }, {\n \"level\": 2,\n \"title\": \"更多例子\",\n \"slug\": \"更多例子\"\n }, {\n \"level\": 2,\n \"title\": \"项目例子\",\n \"slug\": \"项目例子\"\n }, {\n \"level\": 2,\n \"title\": \"演示视频\",\n \"slug\": \"演示视频\"\n }, {\n \"level\": 2,\n \"title\": \"联系方式\",\n \"slug\": \"联系方式\"\n }],\n \"frontmatter\": {\n \"home\": true,\n \"heroImage\": \"/hero.png\",\n \"actionText\": \"快速上手 →\",\n \"actionLink\": \"/zh/guide/getting-started\",\n \"features\": [{\n \"title\": \"为什么使用\",\n \"details\": \"让开发者更加关注于项目本身开发,简化项目的描述和构建,并且提供平台无关性,使得一次编写,随处构建\"\n }, {\n \"title\": \"强大\",\n \"details\": \"提供大量的实用特性(例如:插件扩展、脚本宏记录、批量打包、自动文档生成等常用插件)\"\n }, {\n \"title\": \"跨平台\",\n \"details\": \"支持windows, macOS, linux, android, ios\"\n }],\n \"footer\": \"Apache-2.0 Licensed | Copyright © 2015-present tboox.org\"\n }\n }, {\n \"key\": \"v-6812df0250aa3\",\n \"path\": \"/zh/api/introduction.html\",\n \"lastUpdated\": null,\n \"title\": \"Title1\",\n \"headers\": [{\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2\"\n }, {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3\"\n }, {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-2\"\n }, {\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2-2\"\n }, {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-3\"\n }]\n }, {\n \"key\": \"v-d3636509f8935\",\n \"path\": \"/zh/guide/faq.html\",\n \"lastUpdated\": null\n }, {\n \"key\": \"v-53a48e3593d7c\",\n \"path\": \"/zh/guide/getting-started.html\",\n \"lastUpdated\": null,\n \"title\": \"快速开始\",\n \"headers\": [{\n \"level\": 2,\n \"title\": \"编译\",\n \"slug\": \"编译\"\n }, {\n \"level\": 2,\n \"title\": \"例子\",\n \"slug\": \"例子\"\n }]\n }, {\n \"key\": \"v-cd45bc6f8fdb\",\n \"path\": \"/zh/guide/introduction.html\",\n \"lastUpdated\": null,\n \"title\": \"简介\",\n \"headers\": [{\n \"level\": 2,\n \"title\": \"特性\",\n \"slug\": \"特性\"\n }, {\n \"level\": 2,\n \"title\": \"项目例子\",\n \"slug\": \"项目例子\"\n }, {\n \"level\": 2,\n \"title\": \"联系方式\",\n \"slug\": \"联系方式\"\n }]\n }, {\n \"key\": \"v-bef402580c1cc\",\n \"path\": \"/zh/guide/sponsors.html\",\n \"lastUpdated\": null\n }, {\n \"key\": \"v-faf113f1b77ae\",\n \"path\": \"/zh/plugin/introduction.html\",\n \"lastUpdated\": null,\n \"title\": \"Title1\",\n \"headers\": [{\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2\"\n }, {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3\"\n }, {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-2\"\n }, {\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2-2\"\n }, {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-3\"\n }]\n }],\n \"themeConfig\": {\n \"repo\": \"tboox/xmake\",\n \"docsRepo\": \"tboox/xmake-docs\",\n \"docsDir\": \"src\",\n \"editLinks\": true,\n \"sidebarDepth\": 2,\n \"locales\": {\n \"/\": {\n \"label\": \"English\",\n \"selectText\": \"Languages\",\n \"editLinkText\": \"Edit this page on GitHub\",\n \"lastUpdated\": \"Last Updated\",\n \"nav\": [{\n \"text\": \"Guide\",\n \"link\": \"/guide/introduction\"\n }, {\n \"text\": \"Plugin\",\n \"link\": \"/plugin/introduction\"\n }, {\n \"text\": \"API\",\n \"link\": \"/api/introduction\"\n }, {\n \"text\": \"Articles\",\n \"link\": \"http://www.tboox.org/category/#xmake\"\n }, {\n \"text\": \"Feedback\",\n \"link\": \"https://github.com/tboox/xmake/issues\"\n }, {\n \"text\": \"Community\",\n \"link\": \"https://www.reddit.com/r/tboox/\"\n }, {\n \"text\": \"Donation\",\n \"link\": \"http://tboox.org/cn/donation/\"\n }],\n \"sidebar\": {\n \"/guide/\": [\"introduction\", \"getting-started\", \"faq\", \"sponsors\"],\n \"/plugin/\": [\"introduction\"],\n \"/api/\": [\"introduction\"]\n }\n },\n \"/zh/\": {\n \"label\": \"简体中文\",\n \"selectText\": \"选择语言\",\n \"editLinkText\": \"在 GitHub 上编辑此页\",\n \"lastUpdated\": \"上次更新\",\n \"nav\": [{\n \"text\": \"指南\",\n \"link\": \"/zh/guide/introduction\"\n }, {\n \"text\": \"插件\",\n \"link\": \"/zh/plugin/introduction\"\n }, {\n \"text\": \"接口\",\n \"link\": \"/zh/api/introduction\"\n }, {\n \"text\": \"文章\",\n \"link\": \"http://www.tboox.org/cn/category/#xmake\"\n }, {\n \"text\": \"反馈\",\n \"link\": \"https://github.com/tboox/xmake/issues\"\n }, {\n \"text\": \"社区\",\n \"link\": \"https://www.reddit.com/r/tboox/\"\n }, {\n \"text\": \"捐助\",\n \"link\": \"http://tboox.org/cn/donation/\"\n }],\n \"sidebar\": {\n \"/zh/guide/\": [\"introduction\", \"getting-started\", \"faq\", \"sponsors\"],\n \"/zh/plugin/\": [\"introduction\"],\n \"/zh/api/\": [\"introduction\"]\n }\n }\n }\n },\n \"locales\": {\n \"/\": {\n \"lang\": \"en-US\",\n \"title\": \"xmake\",\n \"description\": \"A cross-platform build utility based on Lua\"\n },\n \"/zh/\": {\n \"lang\": \"zh-CN\",\n \"title\": \"xmake\",\n \"description\": \"一个基于Lua的轻量级跨平台自动构建工具\"\n }\n }\n};",{"version":3,"sources":["node_modules/vuepress/lib/app/.temp/siteData.js"],"names":["siteData"],"mappings":"AAAA,OAAO,IAAMA,WAAW;AACtB,WAAS,EADa;AAEtB,iBAAe,EAFO;AAGtB,UAAQ,GAHc;AAItB,WAAS,CACP;AACE,WAAO,iBADT;AAEE,YAAQ,GAFV;AAGE,mBAAe,IAHjB;AAIE,aAAS,MAJX;AAKE,eAAW,CACT;AACE,eAAS,CADX;AAEE,eAAS,oBAFX;AAGE,cAAQ;AAHV,KADS,EAMT;AACE,eAAS,CADX;AAEE,eAAS,qBAFX;AAGE,cAAQ;AAHV,KANS,EAWT;AACE,eAAS,CADX;AAEE,eAAS,eAFX;AAGE,cAAQ;AAHV,KAXS,EAgBT;AACE,eAAS,CADX;AAEE,eAAS,YAFX;AAGE,cAAQ;AAHV,KAhBS,EAqBT;AACE,eAAS,CADX;AAEE,eAAS,cAFX;AAGE,cAAQ;AAHV,KArBS,EA0BT;AACE,eAAS,CADX;AAEE,eAAS,oBAFX;AAGE,cAAQ;AAHV,KA1BS,EA+BT;AACE,eAAS,CADX;AAEE,eAAS,oBAFX;AAGE,cAAQ;AAHV,KA/BS,EAoCT;AACE,eAAS,CADX;AAEE,eAAS,oBAFX;AAGE,cAAQ;AAHV,KApCS,EAyCT;AACE,eAAS,CADX;AAEE,eAAS,qBAFX;AAGE,cAAQ;AAHV,KAzCS,EA8CT;AACE,eAAS,CADX;AAEE,eAAS,qBAFX;AAGE,cAAQ;AAHV,KA9CS,EAmDT;AACE,eAAS,CADX;AAEE,eAAS,oBAFX;AAGE,cAAQ;AAHV,KAnDS,EAwDT;AACE,eAAS,CADX;AAEE,eAAS,iBAFX;AAGE,cAAQ;AAHV,KAxDS,EA6DT;AACE,eAAS,CADX;AAEE,eAAS,cAFX;AAGE,cAAQ;AAHV,KA7DS,EAkET;AACE,eAAS,CADX;AAEE,eAAS,wBAFX;AAGE,cAAQ;AAHV,KAlES,EAuET;AACE,eAAS,CADX;AAEE,eAAS,eAFX;AAGE,cAAQ;AAHV,KAvES,EA4ET;AACE,eAAS,CADX;AAEE,eAAS,kBAFX;AAGE,cAAQ;AAHV,KA5ES,EAiFT;AACE,eAAS,CADX;AAEE,eAAS,eAFX;AAGE,cAAQ;AAHV,KAjFS,EAsFT;AACE,eAAS,CADX;AAEE,eAAS,UAFX;AAGE,cAAQ;AAHV,KAtFS,CALb;AAiGE,mBAAe;AACb,cAAQ,IADK;AAEb,mBAAa,WAFA;AAGb,oBAAc,eAHD;AAIb,oBAAc,wBAJD;AAKb,kBAAY,CACV;AACE,iBAAS,KADX;AAEE,mBAAW;AAFb,OADU,EAKV;AACE,iBAAS,UADX;AAEE,mBAAW;AAFb,OALU,EASV;AACE,iBAAS,gBADX;AAEE,mBAAW;AAFb,OATU,CALC;AAmBb,gBAAU;AAnBG;AAjGjB,GADO,EAwHP;AACE,WAAO,iBADT;AAEE,YAAQ,wBAFV;AAGE,mBAAe,IAHjB;AAIE,aAAS,QAJX;AAKE,eAAW,CACT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KADS,EAMT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KANS,EAWT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KAXS,EAgBT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KAhBS,EAqBT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KArBS;AALb,GAxHO,EAyJP;AACE,WAAO,iBADT;AAEE,YAAQ,iBAFV;AAGE,mBAAe,IAHjB;AAIE,aAAS,KAJX;AAKE,eAAW,CACT;AACE,eAAS,CADX;AAEE,eAAS,iDAFX;AAGE,cAAQ;AAHV,KADS,EAMT;AACE,eAAS,CADX;AAEE,eAAS,kCAFX;AAGE,cAAQ;AAHV,KANS,EAWT;AACE,eAAS,CADX;AAEE,eAAS,2BAFX;AAGE,cAAQ;AAHV,KAXS,EAgBT;AACE,eAAS,CADX;AAEE,eAAS,wCAFX;AAGE,cAAQ;AAHV,KAhBS,EAqBT;AACE,eAAS,CADX;AAEE,eAAS,6DAFX;AAGE,cAAQ;AAHV,KArBS;AALb,GAzJO,EA0LP;AACE,WAAO,iBADT;AAEE,YAAQ,6BAFV;AAGE,mBAAe,IAHjB;AAIE,aAAS,iBAJX;AAKE,eAAW,CACT;AACE,eAAS,CADX;AAEE,eAAS,cAFX;AAGE,cAAQ;AAHV,KADS,EAMT;AACE,eAAS,CADX;AAEE,eAAS,aAFX;AAGE,cAAQ;AAHV,KANS,EAWT;AACE,eAAS,CADX;AAEE,eAAS,kBAFX;AAGE,cAAQ;AAHV,KAXS,EAgBT;AACE,eAAS,CADX;AAEE,eAAS,eAFX;AAGE,cAAQ;AAHV,KAhBS,EAqBT;AACE,eAAS,CADX;AAEE,eAAS,+BAFX;AAGE,cAAQ;AAHV,KArBS;AALb,GA1LO,EA2NP;AACE,WAAO,iBADT;AAEE,YAAQ,0BAFV;AAGE,mBAAe,IAHjB;AAIE,aAAS,cAJX;AAKE,eAAW,CACT;AACE,eAAS,CADX;AAEE,eAAS,cAFX;AAGE,cAAQ;AAHV,KADS;AALb,GA3NO,EAwOP;AACE,WAAO,iBADT;AAEE,YAAQ,sBAFV;AAGE,mBAAe,IAHjB;AAIE,aAAS;AAJX,GAxOO,EA8OP;AACE,WAAO,iBADT;AAEE,YAAQ,2BAFV;AAGE,mBAAe,IAHjB;AAIE,aAAS,QAJX;AAKE,eAAW,CACT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KADS,EAMT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KANS,EAWT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KAXS,EAgBT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KAhBS,EAqBT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KArBS;AALb,GA9OO,EA+QP;AACE,WAAO,iBADT;AAEE,YAAQ,MAFV;AAGE,mBAAe,IAHjB;AAIE,aAAS,MAJX;AAKE,eAAW,CACT;AACE,eAAS,CADX;AAEE,eAAS,SAFX;AAGE,cAAQ;AAHV,KADS,EAMT;AACE,eAAS,CADX;AAEE,eAAS,OAFX;AAGE,cAAQ;AAHV,KANS,EAWT;AACE,eAAS,CADX;AAEE,eAAS,MAFX;AAGE,cAAQ;AAHV,KAXS,EAgBT;AACE,eAAS,CADX;AAEE,eAAS,MAFX;AAGE,cAAQ;AAHV,KAhBS,EAqBT;AACE,eAAS,CADX;AAEE,eAAS,MAFX;AAGE,cAAQ;AAHV,KArBS,EA0BT;AACE,eAAS,CADX;AAEE,eAAS,MAFX;AAGE,cAAQ;AAHV,KA1BS,EA+BT;AACE,eAAS,CADX;AAEE,eAAS,SAFX;AAGE,cAAQ;AAHV,KA/BS,EAoCT;AACE,eAAS,CADX;AAEE,eAAS,OAFX;AAGE,cAAQ;AAHV,KApCS,EAyCT;AACE,eAAS,CADX;AAEE,eAAS,MAFX;AAGE,cAAQ;AAHV,KAzCS,EA8CT;AACE,eAAS,CADX;AAEE,eAAS,MAFX;AAGE,cAAQ;AAHV,KA9CS,EAmDT;AACE,eAAS,CADX;AAEE,eAAS,MAFX;AAGE,cAAQ;AAHV,KAnDS,EAwDT;AACE,eAAS,CADX;AAEE,eAAS,MAFX;AAGE,cAAQ;AAHV,KAxDS,EA6DT;AACE,eAAS,CADX;AAEE,eAAS,MAFX;AAGE,cAAQ;AAHV,KA7DS,EAkET;AACE,eAAS,CADX;AAEE,eAAS,WAFX;AAGE,cAAQ;AAHV,KAlES,EAuET;AACE,eAAS,CADX;AAEE,eAAS,MAFX;AAGE,cAAQ;AAHV,KAvES,EA4ET;AACE,eAAS,CADX;AAEE,eAAS,MAFX;AAGE,cAAQ;AAHV,KA5ES,EAiFT;AACE,eAAS,CADX;AAEE,eAAS,MAFX;AAGE,cAAQ;AAHV,KAjFS,EAsFT;AACE,eAAS,CADX;AAEE,eAAS,MAFX;AAGE,cAAQ;AAHV,KAtFS,CALb;AAiGE,mBAAe;AACb,cAAQ,IADK;AAEb,mBAAa,WAFA;AAGb,oBAAc,QAHD;AAIb,oBAAc,2BAJD;AAKb,kBAAY,CACV;AACE,iBAAS,OADX;AAEE,mBAAW;AAFb,OADU,EAKV;AACE,iBAAS,IADX;AAEE,mBAAW;AAFb,OALU,EASV;AACE,iBAAS,KADX;AAEE,mBAAW;AAFb,OATU,CALC;AAmBb,gBAAU;AAnBG;AAjGjB,GA/QO,EAsYP;AACE,WAAO,iBADT;AAEE,YAAQ,2BAFV;AAGE,mBAAe,IAHjB;AAIE,aAAS,QAJX;AAKE,eAAW,CACT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KADS,EAMT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KANS,EAWT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KAXS,EAgBT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KAhBS,EAqBT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KArBS;AALb,GAtYO,EAuaP;AACE,WAAO,iBADT;AAEE,YAAQ,oBAFV;AAGE,mBAAe;AAHjB,GAvaO,EA4aP;AACE,WAAO,iBADT;AAEE,YAAQ,gCAFV;AAGE,mBAAe,IAHjB;AAIE,aAAS,MAJX;AAKE,eAAW,CACT;AACE,eAAS,CADX;AAEE,eAAS,IAFX;AAGE,cAAQ;AAHV,KADS,EAMT;AACE,eAAS,CADX;AAEE,eAAS,IAFX;AAGE,cAAQ;AAHV,KANS;AALb,GA5aO,EA8bP;AACE,WAAO,gBADT;AAEE,YAAQ,6BAFV;AAGE,mBAAe,IAHjB;AAIE,aAAS,IAJX;AAKE,eAAW,CACT;AACE,eAAS,CADX;AAEE,eAAS,IAFX;AAGE,cAAQ;AAHV,KADS,EAMT;AACE,eAAS,CADX;AAEE,eAAS,MAFX;AAGE,cAAQ;AAHV,KANS,EAWT;AACE,eAAS,CADX;AAEE,eAAS,MAFX;AAGE,cAAQ;AAHV,KAXS;AALb,GA9bO,EAqdP;AACE,WAAO,iBADT;AAEE,YAAQ,yBAFV;AAGE,mBAAe;AAHjB,GArdO,EA0dP;AACE,WAAO,iBADT;AAEE,YAAQ,8BAFV;AAGE,mBAAe,IAHjB;AAIE,aAAS,QAJX;AAKE,eAAW,CACT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KADS,EAMT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KANS,EAWT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KAXS,EAgBT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KAhBS,EAqBT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KArBS;AALb,GA1dO,CAJa;AAggBtB,iBAAe;AACb,YAAQ,aADK;AAEb,gBAAY,kBAFC;AAGb,eAAW,KAHE;AAIb,iBAAa,IAJA;AAKb,oBAAgB,CALH;AAMb,eAAW;AACT,WAAK;AACH,iBAAS,SADN;AAEH,sBAAc,WAFX;AAGH,wBAAgB,0BAHb;AAIH,uBAAe,cAJZ;AAKH,eAAO,CACL;AACE,kBAAQ,OADV;AAEE,kBAAQ;AAFV,SADK,EAKL;AACE,kBAAQ,QADV;AAEE,kBAAQ;AAFV,SALK,EASL;AACE,kBAAQ,KADV;AAEE,kBAAQ;AAFV,SATK,EAaL;AACE,kBAAQ,UADV;AAEE,kBAAQ;AAFV,SAbK,EAiBL;AACE,kBAAQ,UADV;AAEE,kBAAQ;AAFV,SAjBK,EAqBL;AACE,kBAAQ,WADV;AAEE,kBAAQ;AAFV,SArBK,EAyBL;AACE,kBAAQ,UADV;AAEE,kBAAQ;AAFV,SAzBK,CALJ;AAmCH,mBAAW;AACT,qBAAW,CACT,cADS,EAET,iBAFS,EAGT,KAHS,EAIT,UAJS,CADF;AAOT,sBAAY,CACV,cADU,CAPH;AAUT,mBAAS,CACP,cADO;AAVA;AAnCR,OADI;AAmDT,cAAQ;AACN,iBAAS,MADH;AAEN,sBAAc,MAFR;AAGN,wBAAgB,gBAHV;AAIN,uBAAe,MAJT;AAKN,eAAO,CACL;AACE,kBAAQ,IADV;AAEE,kBAAQ;AAFV,SADK,EAKL;AACE,kBAAQ,IADV;AAEE,kBAAQ;AAFV,SALK,EASL;AACE,kBAAQ,IADV;AAEE,kBAAQ;AAFV,SATK,EAaL;AACE,kBAAQ,IADV;AAEE,kBAAQ;AAFV,SAbK,EAiBL;AACE,kBAAQ,IADV;AAEE,kBAAQ;AAFV,SAjBK,EAqBL;AACE,kBAAQ,IADV;AAEE,kBAAQ;AAFV,SArBK,EAyBL;AACE,kBAAQ,IADV;AAEE,kBAAQ;AAFV,SAzBK,CALD;AAmCN,mBAAW;AACT,wBAAc,CACZ,cADY,EAEZ,iBAFY,EAGZ,KAHY,EAIZ,UAJY,CADL;AAOT,yBAAe,CACb,cADa,CAPN;AAUT,sBAAY,CACV,cADU;AAVH;AAnCL;AAnDC;AANE,GAhgBO;AA6mBtB,aAAW;AACT,SAAK;AACH,cAAQ,OADL;AAEH,eAAS,OAFN;AAGH,qBAAe;AAHZ,KADI;AAMT,YAAQ;AACN,cAAQ,OADF;AAEN,eAAS,OAFH;AAGN,qBAAe;AAHT;AANC;AA7mBW,CAAjB","sourceRoot":"/Users/ruki/projects/personal/xmake-docs","sourcesContent":["export const siteData = {\n \"title\": \"\",\n \"description\": \"\",\n \"base\": \"/\",\n \"pages\": [\n {\n \"key\": \"v-ddf4be195b958\",\n \"path\": \"/\",\n \"lastUpdated\": null,\n \"title\": \"Home\",\n \"headers\": [\n {\n \"level\": 2,\n \"title\": \"Simple description\",\n \"slug\": \"simple-description\"\n },\n {\n \"level\": 2,\n \"title\": \"Package dependences\",\n \"slug\": \"package-dependences\"\n },\n {\n \"level\": 2,\n \"title\": \"Build project\",\n \"slug\": \"build-project\"\n },\n {\n \"level\": 2,\n \"title\": \"Run target\",\n \"slug\": \"run-target\"\n },\n {\n \"level\": 2,\n \"title\": \"Debug target\",\n \"slug\": \"debug-target\"\n },\n {\n \"level\": 2,\n \"title\": \"Configure platform\",\n \"slug\": \"configure-platform\"\n },\n {\n \"level\": 2,\n \"title\": \"Menu configuration\",\n \"slug\": \"menu-configuration\"\n },\n {\n \"level\": 2,\n \"title\": \"Package management\",\n \"slug\": \"package-management\"\n },\n {\n \"level\": 2,\n \"title\": \"Supported platforms\",\n \"slug\": \"supported-platforms\"\n },\n {\n \"level\": 2,\n \"title\": \"Supported Languages\",\n \"slug\": \"supported-languages\"\n },\n {\n \"level\": 2,\n \"title\": \"Supported Projects\",\n \"slug\": \"supported-projects\"\n },\n {\n \"level\": 2,\n \"title\": \"Builtin Plugins\",\n \"slug\": \"builtin-plugins\"\n },\n {\n \"level\": 2,\n \"title\": \"More Plugins\",\n \"slug\": \"more-plugins\"\n },\n {\n \"level\": 2,\n \"title\": \"IDE/Editor Integration\",\n \"slug\": \"ide-editor-integration\"\n },\n {\n \"level\": 2,\n \"title\": \"More Examples\",\n \"slug\": \"more-examples\"\n },\n {\n \"level\": 2,\n \"title\": \"Project Examples\",\n \"slug\": \"project-examples\"\n },\n {\n \"level\": 2,\n \"title\": \"Example Video\",\n \"slug\": \"example-video\"\n },\n {\n \"level\": 2,\n \"title\": \"Contacts\",\n \"slug\": \"contacts\"\n }\n ],\n \"frontmatter\": {\n \"home\": true,\n \"heroImage\": \"/hero.png\",\n \"actionText\": \"Get Started →\",\n \"actionLink\": \"/guide/getting-started\",\n \"features\": [\n {\n \"title\": \"Why\",\n \"details\": \"Making development and building easier, so that any developer can quickly pick it up and enjoy the productivity boost when developing and building project.\"\n },\n {\n \"title\": \"Powerful\",\n \"details\": \"Provides lots of features (e.g. package, install, plugin, macro, action, option, task and etc).\"\n },\n {\n \"title\": \"Cross-platform\",\n \"details\": \"Supports windows, macOS, linux, android, ios.\"\n }\n ],\n \"footer\": \"Apache-2.0 Licensed | Copyright © 2015-present tboox.org\"\n }\n },\n {\n \"key\": \"v-8644851cf91dd\",\n \"path\": \"/api/introduction.html\",\n \"lastUpdated\": null,\n \"title\": \"Title1\",\n \"headers\": [\n {\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2\"\n },\n {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3\"\n },\n {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-2\"\n },\n {\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2-2\"\n },\n {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-3\"\n }\n ]\n },\n {\n \"key\": \"v-b6ee77db64501\",\n \"path\": \"/guide/faq.html\",\n \"lastUpdated\": null,\n \"title\": \"FAQ\",\n \"headers\": [\n {\n \"level\": 2,\n \"title\": \"How to get verbose command-line arguments info?\",\n \"slug\": \"how-to-get-verbose-command-line-arguments-info\"\n },\n {\n \"level\": 2,\n \"title\": \"How to suppress all output info?\",\n \"slug\": \"how-to-suppress-all-output-info\"\n },\n {\n \"level\": 2,\n \"title\": \"How to do if xmake fails?\",\n \"slug\": \"how-to-do-if-xmake-fails\"\n },\n {\n \"level\": 2,\n \"title\": \"How to see verbose compiling warnings?\",\n \"slug\": \"how-to-see-verbose-compiling-warnings\"\n },\n {\n \"level\": 2,\n \"title\": \"How to scan source code and generate xmake.lua automaticlly\",\n \"slug\": \"how-to-scan-source-code-and-generate-xmake-lua-automaticlly\"\n }\n ]\n },\n {\n \"key\": \"v-fcba2a8896d43\",\n \"path\": \"/guide/getting-started.html\",\n \"lastUpdated\": null,\n \"title\": \"Getting Started\",\n \"headers\": [\n {\n \"level\": 2,\n \"title\": \"Installation\",\n \"slug\": \"installation\"\n },\n {\n \"level\": 2,\n \"title\": \"Quick Start\",\n \"slug\": \"quick-start\"\n },\n {\n \"level\": 2,\n \"title\": \"Project Examples\",\n \"slug\": \"project-examples\"\n },\n {\n \"level\": 2,\n \"title\": \"Configuration\",\n \"slug\": \"configuration\"\n },\n {\n \"level\": 2,\n \"title\": \"Dependency Package Management\",\n \"slug\": \"dependency-package-management\"\n }\n ]\n },\n {\n \"key\": \"v-cda17500cdb0c\",\n \"path\": \"/guide/introduction.html\",\n \"lastUpdated\": null,\n \"title\": \"Introduction\",\n \"headers\": [\n {\n \"level\": 2,\n \"title\": \"Introduction\",\n \"slug\": \"introduction\"\n }\n ]\n },\n {\n \"key\": \"v-745d22bfe3ef4\",\n \"path\": \"/guide/sponsors.html\",\n \"lastUpdated\": null,\n \"title\": \"Sponsors\"\n },\n {\n \"key\": \"v-360e42fea8e33\",\n \"path\": \"/plugin/introduction.html\",\n \"lastUpdated\": null,\n \"title\": \"Title1\",\n \"headers\": [\n {\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2\"\n },\n {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3\"\n },\n {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-2\"\n },\n {\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2-2\"\n },\n {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-3\"\n }\n ]\n },\n {\n \"key\": \"v-1856b116362c7\",\n \"path\": \"/zh/\",\n \"lastUpdated\": null,\n \"title\": \"Home\",\n \"headers\": [\n {\n \"level\": 2,\n \"title\": \"简单的工程描述\",\n \"slug\": \"简单的工程描述\"\n },\n {\n \"level\": 2,\n \"title\": \"包依赖描述\",\n \"slug\": \"包依赖描述\"\n },\n {\n \"level\": 2,\n \"title\": \"构建工程\",\n \"slug\": \"构建工程\"\n },\n {\n \"level\": 2,\n \"title\": \"运行目标\",\n \"slug\": \"运行目标\"\n },\n {\n \"level\": 2,\n \"title\": \"调试程序\",\n \"slug\": \"调试程序\"\n },\n {\n \"level\": 2,\n \"title\": \"配置平台\",\n \"slug\": \"配置平台\"\n },\n {\n \"level\": 2,\n \"title\": \"图形化菜单配置\",\n \"slug\": \"图形化菜单配置\"\n },\n {\n \"level\": 2,\n \"title\": \"包依赖管理\",\n \"slug\": \"包依赖管理\"\n },\n {\n \"level\": 2,\n \"title\": \"支持平台\",\n \"slug\": \"支持平台\"\n },\n {\n \"level\": 2,\n \"title\": \"支持语言\",\n \"slug\": \"支持语言\"\n },\n {\n \"level\": 2,\n \"title\": \"工程类型\",\n \"slug\": \"工程类型\"\n },\n {\n \"level\": 2,\n \"title\": \"内置插件\",\n \"slug\": \"内置插件\"\n },\n {\n \"level\": 2,\n \"title\": \"更多插件\",\n \"slug\": \"更多插件\"\n },\n {\n \"level\": 2,\n \"title\": \"IDE和编辑器插件\",\n \"slug\": \"ide和编辑器插件\"\n },\n {\n \"level\": 2,\n \"title\": \"更多例子\",\n \"slug\": \"更多例子\"\n },\n {\n \"level\": 2,\n \"title\": \"项目例子\",\n \"slug\": \"项目例子\"\n },\n {\n \"level\": 2,\n \"title\": \"演示视频\",\n \"slug\": \"演示视频\"\n },\n {\n \"level\": 2,\n \"title\": \"联系方式\",\n \"slug\": \"联系方式\"\n }\n ],\n \"frontmatter\": {\n \"home\": true,\n \"heroImage\": \"/hero.png\",\n \"actionText\": \"快速上手 →\",\n \"actionLink\": \"/zh/guide/getting-started\",\n \"features\": [\n {\n \"title\": \"为什么使用\",\n \"details\": \"让开发者更加关注于项目本身开发,简化项目的描述和构建,并且提供平台无关性,使得一次编写,随处构建\"\n },\n {\n \"title\": \"强大\",\n \"details\": \"提供大量的实用特性(例如:插件扩展、脚本宏记录、批量打包、自动文档生成等常用插件)\"\n },\n {\n \"title\": \"跨平台\",\n \"details\": \"支持windows, macOS, linux, android, ios\"\n }\n ],\n \"footer\": \"Apache-2.0 Licensed | Copyright © 2015-present tboox.org\"\n }\n },\n {\n \"key\": \"v-6812df0250aa3\",\n \"path\": \"/zh/api/introduction.html\",\n \"lastUpdated\": null,\n \"title\": \"Title1\",\n \"headers\": [\n {\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2\"\n },\n {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3\"\n },\n {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-2\"\n },\n {\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2-2\"\n },\n {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-3\"\n }\n ]\n },\n {\n \"key\": \"v-d3636509f8935\",\n \"path\": \"/zh/guide/faq.html\",\n \"lastUpdated\": null\n },\n {\n \"key\": \"v-53a48e3593d7c\",\n \"path\": \"/zh/guide/getting-started.html\",\n \"lastUpdated\": null,\n \"title\": \"快速开始\",\n \"headers\": [\n {\n \"level\": 2,\n \"title\": \"编译\",\n \"slug\": \"编译\"\n },\n {\n \"level\": 2,\n \"title\": \"例子\",\n \"slug\": \"例子\"\n }\n ]\n },\n {\n \"key\": \"v-cd45bc6f8fdb\",\n \"path\": \"/zh/guide/introduction.html\",\n \"lastUpdated\": null,\n \"title\": \"简介\",\n \"headers\": [\n {\n \"level\": 2,\n \"title\": \"特性\",\n \"slug\": \"特性\"\n },\n {\n \"level\": 2,\n \"title\": \"项目例子\",\n \"slug\": \"项目例子\"\n },\n {\n \"level\": 2,\n \"title\": \"联系方式\",\n \"slug\": \"联系方式\"\n }\n ]\n },\n {\n \"key\": \"v-bef402580c1cc\",\n \"path\": \"/zh/guide/sponsors.html\",\n \"lastUpdated\": null\n },\n {\n \"key\": \"v-faf113f1b77ae\",\n \"path\": \"/zh/plugin/introduction.html\",\n \"lastUpdated\": null,\n \"title\": \"Title1\",\n \"headers\": [\n {\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2\"\n },\n {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3\"\n },\n {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-2\"\n },\n {\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2-2\"\n },\n {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-3\"\n }\n ]\n }\n ],\n \"themeConfig\": {\n \"repo\": \"tboox/xmake\",\n \"docsRepo\": \"tboox/xmake-docs\",\n \"docsDir\": \"src\",\n \"editLinks\": true,\n \"sidebarDepth\": 2,\n \"locales\": {\n \"/\": {\n \"label\": \"English\",\n \"selectText\": \"Languages\",\n \"editLinkText\": \"Edit this page on GitHub\",\n \"lastUpdated\": \"Last Updated\",\n \"nav\": [\n {\n \"text\": \"Guide\",\n \"link\": \"/guide/introduction\"\n },\n {\n \"text\": \"Plugin\",\n \"link\": \"/plugin/introduction\"\n },\n {\n \"text\": \"API\",\n \"link\": \"/api/introduction\"\n },\n {\n \"text\": \"Articles\",\n \"link\": \"http://www.tboox.org/category/#xmake\"\n },\n {\n \"text\": \"Feedback\",\n \"link\": \"https://github.com/tboox/xmake/issues\"\n },\n {\n \"text\": \"Community\",\n \"link\": \"https://www.reddit.com/r/tboox/\"\n },\n {\n \"text\": \"Donation\",\n \"link\": \"http://tboox.org/cn/donation/\"\n }\n ],\n \"sidebar\": {\n \"/guide/\": [\n \"introduction\",\n \"getting-started\",\n \"faq\",\n \"sponsors\"\n ],\n \"/plugin/\": [\n \"introduction\"\n ],\n \"/api/\": [\n \"introduction\"\n ]\n }\n },\n \"/zh/\": {\n \"label\": \"简体中文\",\n \"selectText\": \"选择语言\",\n \"editLinkText\": \"在 GitHub 上编辑此页\",\n \"lastUpdated\": \"上次更新\",\n \"nav\": [\n {\n \"text\": \"指南\",\n \"link\": \"/zh/guide/introduction\"\n },\n {\n \"text\": \"插件\",\n \"link\": \"/zh/plugin/introduction\"\n },\n {\n \"text\": \"接口\",\n \"link\": \"/zh/api/introduction\"\n },\n {\n \"text\": \"文章\",\n \"link\": \"http://www.tboox.org/cn/category/#xmake\"\n },\n {\n \"text\": \"反馈\",\n \"link\": \"https://github.com/tboox/xmake/issues\"\n },\n {\n \"text\": \"社区\",\n \"link\": \"https://www.reddit.com/r/tboox/\"\n },\n {\n \"text\": \"捐助\",\n \"link\": \"http://tboox.org/cn/donation/\"\n }\n ],\n \"sidebar\": {\n \"/zh/guide/\": [\n \"introduction\",\n \"getting-started\",\n \"faq\",\n \"sponsors\"\n ],\n \"/zh/plugin/\": [\n \"introduction\"\n ],\n \"/zh/api/\": [\n \"introduction\"\n ]\n }\n }\n }\n },\n \"locales\": {\n \"/\": {\n \"lang\": \"en-US\",\n \"title\": \"xmake\",\n \"description\": \"A cross-platform build utility based on Lua\"\n },\n \"/zh/\": {\n \"lang\": \"zh-CN\",\n \"title\": \"xmake\",\n \"description\": \"一个基于Lua的轻量级跨平台自动构建工具\"\n }\n }\n}"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/a8dbe5ae75e4389f5b59c191d1493d85.json b/node_modules/vuepress/node_modules/.cache/vuepress/a8dbe5ae75e4389f5b59c191d1493d85.json new file mode 100644 index 00000000..d52dcc81 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/a8dbe5ae75e4389f5b59c191d1493d85.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/.temp/siteData.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/.temp/siteData.js","mtime":1541576694589},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["export var siteData = {\n \"title\": \"\",\n \"description\": \"\",\n \"base\": \"/\",\n \"pages\": [{\n \"key\": \"v-8ec055619cc9c\",\n \"path\": \"/\",\n \"lastUpdated\": 1541517835000,\n \"title\": \"Home\",\n \"frontmatter\": {\n \"home\": true,\n \"actionText\": \"Get Started →\",\n \"actionLink\": \"/guide/getting-started\",\n \"features\": [{\n \"title\": \"Why\",\n \"details\": \"Making C development easier, so that any developer can quickly pick it up and enjoy the productivity boost when developing in C language.\"\n }, {\n \"title\": \"Powerful\",\n \"details\": \"Provides lots of modules (e.g. stream, coroutine, regex, container, algorithm and etc).\"\n }, {\n \"title\": \"Cross-platform\",\n \"details\": \"Supports windows, macOS, linux, android and ios.\"\n }],\n \"footer\": \"Apache-2.0 Licensed | Copyright © 2009-present tboox.org\"\n }\n }, {\n \"key\": \"v-9b37f125fa1b5\",\n \"path\": \"/api/introduction.html\",\n \"lastUpdated\": 1541569543000,\n \"title\": \"Title1\",\n \"headers\": [{\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2\"\n }, {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3\"\n }, {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-2\"\n }, {\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2-2\"\n }, {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-3\"\n }]\n }, {\n \"key\": \"v-fdaadba91de5a\",\n \"path\": \"/guide/getting-started.html\",\n \"lastUpdated\": 1541555081000,\n \"title\": \"Getting Started\",\n \"headers\": [{\n \"level\": 2,\n \"title\": \"Example\",\n \"slug\": \"example\"\n }]\n }, {\n \"key\": \"v-8d2a8fad62319\",\n \"path\": \"/guide/introduction.html\",\n \"lastUpdated\": 1541491338000,\n \"title\": \"Introduction\",\n \"headers\": [{\n \"level\": 2,\n \"title\": \"Features\",\n \"slug\": \"features\"\n }, {\n \"level\": 2,\n \"title\": \"Projects\",\n \"slug\": \"projects\"\n }, {\n \"level\": 2,\n \"title\": \"Contacts\",\n \"slug\": \"contacts\"\n }]\n }, {\n \"key\": \"v-9d03d1a24c541\",\n \"path\": \"/zh/\",\n \"lastUpdated\": 1541517835000,\n \"title\": \"Home\",\n \"frontmatter\": {\n \"home\": true,\n \"actionText\": \"快速上手 →\",\n \"actionLink\": \"/zh/guide/getting-started\",\n \"features\": [{\n \"title\": \"为什么使用\",\n \"details\": \"针对各个平台,封装了统一的接口,简化了各类开发过程中常用操作,使C开发更加的简单高效\"\n }, {\n \"title\": \"强大\",\n \"details\": \"提供大量的实用模块(例如:流处理,协程,正则, 容器,算法,数据库等常用模块)\"\n }, {\n \"title\": \"跨平台\",\n \"details\": \"支持windows, macOS, linux, android, ios\"\n }],\n \"footer\": \"Apache-2.0 Licensed | Copyright © 2009-present tboox.org\"\n }\n }, {\n \"key\": \"v-34ac182d991\",\n \"path\": \"/zh/api/introduction.html\",\n \"lastUpdated\": 1541569543000,\n \"title\": \"Title1\",\n \"headers\": [{\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2\"\n }, {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3\"\n }, {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-2\"\n }, {\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2-2\"\n }, {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-3\"\n }]\n }, {\n \"key\": \"v-819b7a4c7f128\",\n \"path\": \"/zh/guide/getting-started.html\",\n \"lastUpdated\": 1541555081000,\n \"title\": \"快速开始\",\n \"headers\": [{\n \"level\": 2,\n \"title\": \"编译\",\n \"slug\": \"编译\"\n }, {\n \"level\": 2,\n \"title\": \"例子\",\n \"slug\": \"例子\"\n }]\n }, {\n \"key\": \"v-5a469fda81a59\",\n \"path\": \"/zh/guide/introduction.html\",\n \"lastUpdated\": 1541491338000,\n \"title\": \"简介\",\n \"headers\": [{\n \"level\": 2,\n \"title\": \"特性\",\n \"slug\": \"特性\"\n }, {\n \"level\": 2,\n \"title\": \"项目例子\",\n \"slug\": \"项目例子\"\n }, {\n \"level\": 2,\n \"title\": \"联系方式\",\n \"slug\": \"联系方式\"\n }]\n }],\n \"themeConfig\": {\n \"repo\": \"tboox/tbox\",\n \"docsRepo\": \"tboox/tbox-docs\",\n \"docsDir\": \"src\",\n \"editLinks\": true,\n \"sidebarDepth\": 2,\n \"locales\": {\n \"/\": {\n \"label\": \"English\",\n \"selectText\": \"Languages\",\n \"editLinkText\": \"Edit this page on GitHub\",\n \"lastUpdated\": \"Last Updated\",\n \"nav\": [{\n \"text\": \"Guide\",\n \"link\": \"/guide/introduction\"\n }, {\n \"text\": \"API\",\n \"link\": \"/api/introduction\"\n }, {\n \"text\": \"Articles\",\n \"link\": \"http://www.tboox.org/category/#tbox\"\n }, {\n \"text\": \"Feedback\",\n \"link\": \"https://github.com/tboox/xmake/issues\"\n }, {\n \"text\": \"Community\",\n \"link\": \"https://www.reddit.com/r/tboox/\"\n }, {\n \"text\": \"Donation\",\n \"link\": \"http://tboox.org/cn/donation/\"\n }],\n \"sidebar\": {\n \"/guide/\": [\"introduction\", \"getting-started\"],\n \"/api/\": [\"introduction\"]\n }\n },\n \"/zh/\": {\n \"label\": \"简体中文\",\n \"selectText\": \"选择语言\",\n \"editLinkText\": \"在 GitHub 上编辑此页\",\n \"lastUpdated\": \"上次更新\",\n \"nav\": [{\n \"text\": \"指南\",\n \"link\": \"/zh/guide/introduction\"\n }, {\n \"text\": \"接口\",\n \"link\": \"/zh/api/introduction\"\n }, {\n \"text\": \"文章\",\n \"link\": \"http://www.tboox.org/cn/category/#tbox\"\n }, {\n \"text\": \"反馈\",\n \"link\": \"https://github.com/tboox/xmake/issues\"\n }, {\n \"text\": \"社区\",\n \"link\": \"https://www.reddit.com/r/tboox/\"\n }, {\n \"text\": \"捐助\",\n \"link\": \"http://tboox.org/cn/donation/\"\n }],\n \"sidebar\": {\n \"/zh/guide/\": [\"introduction\", \"getting-started\"],\n \"/zh/api/\": [\"introduction\"]\n }\n }\n }\n },\n \"locales\": {\n \"/\": {\n \"lang\": \"en-US\",\n \"title\": \"TBOX\",\n \"description\": \"A glib-like cross-platform C library\"\n },\n \"/zh/\": {\n \"lang\": \"zh-CN\",\n \"title\": \"TBOX\",\n \"description\": \"一个用c语言实现的跨平台开发库\"\n }\n }\n};",{"version":3,"sources":["node_modules/vuepress/lib/app/.temp/siteData.js"],"names":["siteData"],"mappings":"AAAA,OAAO,IAAMA,WAAW;AACtB,WAAS,EADa;AAEtB,iBAAe,EAFO;AAGtB,UAAQ,GAHc;AAItB,WAAS,CACP;AACE,WAAO,iBADT;AAEE,YAAQ,GAFV;AAGE,mBAAe,aAHjB;AAIE,aAAS,MAJX;AAKE,mBAAe;AACb,cAAQ,IADK;AAEb,oBAAc,eAFD;AAGb,oBAAc,wBAHD;AAIb,kBAAY,CACV;AACE,iBAAS,KADX;AAEE,mBAAW;AAFb,OADU,EAKV;AACE,iBAAS,UADX;AAEE,mBAAW;AAFb,OALU,EASV;AACE,iBAAS,gBADX;AAEE,mBAAW;AAFb,OATU,CAJC;AAkBb,gBAAU;AAlBG;AALjB,GADO,EA2BP;AACE,WAAO,iBADT;AAEE,YAAQ,wBAFV;AAGE,mBAAe,aAHjB;AAIE,aAAS,QAJX;AAKE,eAAW,CACT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KADS,EAMT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KANS,EAWT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KAXS,EAgBT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KAhBS,EAqBT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KArBS;AALb,GA3BO,EA4DP;AACE,WAAO,iBADT;AAEE,YAAQ,6BAFV;AAGE,mBAAe,aAHjB;AAIE,aAAS,iBAJX;AAKE,eAAW,CACT;AACE,eAAS,CADX;AAEE,eAAS,SAFX;AAGE,cAAQ;AAHV,KADS;AALb,GA5DO,EAyEP;AACE,WAAO,iBADT;AAEE,YAAQ,0BAFV;AAGE,mBAAe,aAHjB;AAIE,aAAS,cAJX;AAKE,eAAW,CACT;AACE,eAAS,CADX;AAEE,eAAS,UAFX;AAGE,cAAQ;AAHV,KADS,EAMT;AACE,eAAS,CADX;AAEE,eAAS,UAFX;AAGE,cAAQ;AAHV,KANS,EAWT;AACE,eAAS,CADX;AAEE,eAAS,UAFX;AAGE,cAAQ;AAHV,KAXS;AALb,GAzEO,EAgGP;AACE,WAAO,iBADT;AAEE,YAAQ,MAFV;AAGE,mBAAe,aAHjB;AAIE,aAAS,MAJX;AAKE,mBAAe;AACb,cAAQ,IADK;AAEb,oBAAc,QAFD;AAGb,oBAAc,2BAHD;AAIb,kBAAY,CACV;AACE,iBAAS,OADX;AAEE,mBAAW;AAFb,OADU,EAKV;AACE,iBAAS,IADX;AAEE,mBAAW;AAFb,OALU,EASV;AACE,iBAAS,KADX;AAEE,mBAAW;AAFb,OATU,CAJC;AAkBb,gBAAU;AAlBG;AALjB,GAhGO,EA0HP;AACE,WAAO,eADT;AAEE,YAAQ,2BAFV;AAGE,mBAAe,aAHjB;AAIE,aAAS,QAJX;AAKE,eAAW,CACT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KADS,EAMT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KANS,EAWT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KAXS,EAgBT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KAhBS,EAqBT;AACE,eAAS,CADX;AAEE,eAAS,QAFX;AAGE,cAAQ;AAHV,KArBS;AALb,GA1HO,EA2JP;AACE,WAAO,iBADT;AAEE,YAAQ,gCAFV;AAGE,mBAAe,aAHjB;AAIE,aAAS,MAJX;AAKE,eAAW,CACT;AACE,eAAS,CADX;AAEE,eAAS,IAFX;AAGE,cAAQ;AAHV,KADS,EAMT;AACE,eAAS,CADX;AAEE,eAAS,IAFX;AAGE,cAAQ;AAHV,KANS;AALb,GA3JO,EA6KP;AACE,WAAO,iBADT;AAEE,YAAQ,6BAFV;AAGE,mBAAe,aAHjB;AAIE,aAAS,IAJX;AAKE,eAAW,CACT;AACE,eAAS,CADX;AAEE,eAAS,IAFX;AAGE,cAAQ;AAHV,KADS,EAMT;AACE,eAAS,CADX;AAEE,eAAS,MAFX;AAGE,cAAQ;AAHV,KANS,EAWT;AACE,eAAS,CADX;AAEE,eAAS,MAFX;AAGE,cAAQ;AAHV,KAXS;AALb,GA7KO,CAJa;AAyMtB,iBAAe;AACb,YAAQ,YADK;AAEb,gBAAY,iBAFC;AAGb,eAAW,KAHE;AAIb,iBAAa,IAJA;AAKb,oBAAgB,CALH;AAMb,eAAW;AACT,WAAK;AACH,iBAAS,SADN;AAEH,sBAAc,WAFX;AAGH,wBAAgB,0BAHb;AAIH,uBAAe,cAJZ;AAKH,eAAO,CACL;AACE,kBAAQ,OADV;AAEE,kBAAQ;AAFV,SADK,EAKL;AACE,kBAAQ,KADV;AAEE,kBAAQ;AAFV,SALK,EASL;AACE,kBAAQ,UADV;AAEE,kBAAQ;AAFV,SATK,EAaL;AACE,kBAAQ,UADV;AAEE,kBAAQ;AAFV,SAbK,EAiBL;AACE,kBAAQ,WADV;AAEE,kBAAQ;AAFV,SAjBK,EAqBL;AACE,kBAAQ,UADV;AAEE,kBAAQ;AAFV,SArBK,CALJ;AA+BH,mBAAW;AACT,qBAAW,CACT,cADS,EAET,iBAFS,CADF;AAKT,mBAAS,CACP,cADO;AALA;AA/BR,OADI;AA0CT,cAAQ;AACN,iBAAS,MADH;AAEN,sBAAc,MAFR;AAGN,wBAAgB,gBAHV;AAIN,uBAAe,MAJT;AAKN,eAAO,CACL;AACE,kBAAQ,IADV;AAEE,kBAAQ;AAFV,SADK,EAKL;AACE,kBAAQ,IADV;AAEE,kBAAQ;AAFV,SALK,EASL;AACE,kBAAQ,IADV;AAEE,kBAAQ;AAFV,SATK,EAaL;AACE,kBAAQ,IADV;AAEE,kBAAQ;AAFV,SAbK,EAiBL;AACE,kBAAQ,IADV;AAEE,kBAAQ;AAFV,SAjBK,EAqBL;AACE,kBAAQ,IADV;AAEE,kBAAQ;AAFV,SArBK,CALD;AA+BN,mBAAW;AACT,wBAAc,CACZ,cADY,EAEZ,iBAFY,CADL;AAKT,sBAAY,CACV,cADU;AALH;AA/BL;AA1CC;AANE,GAzMO;AAoStB,aAAW;AACT,SAAK;AACH,cAAQ,OADL;AAEH,eAAS,MAFN;AAGH,qBAAe;AAHZ,KADI;AAMT,YAAQ;AACN,cAAQ,OADF;AAEN,eAAS,MAFH;AAGN,qBAAe;AAHT;AANC;AApSW,CAAjB","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["export const siteData = {\n \"title\": \"\",\n \"description\": \"\",\n \"base\": \"/\",\n \"pages\": [\n {\n \"key\": \"v-8ec055619cc9c\",\n \"path\": \"/\",\n \"lastUpdated\": 1541517835000,\n \"title\": \"Home\",\n \"frontmatter\": {\n \"home\": true,\n \"actionText\": \"Get Started →\",\n \"actionLink\": \"/guide/getting-started\",\n \"features\": [\n {\n \"title\": \"Why\",\n \"details\": \"Making C development easier, so that any developer can quickly pick it up and enjoy the productivity boost when developing in C language.\"\n },\n {\n \"title\": \"Powerful\",\n \"details\": \"Provides lots of modules (e.g. stream, coroutine, regex, container, algorithm and etc).\"\n },\n {\n \"title\": \"Cross-platform\",\n \"details\": \"Supports windows, macOS, linux, android and ios.\"\n }\n ],\n \"footer\": \"Apache-2.0 Licensed | Copyright © 2009-present tboox.org\"\n }\n },\n {\n \"key\": \"v-9b37f125fa1b5\",\n \"path\": \"/api/introduction.html\",\n \"lastUpdated\": 1541569543000,\n \"title\": \"Title1\",\n \"headers\": [\n {\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2\"\n },\n {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3\"\n },\n {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-2\"\n },\n {\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2-2\"\n },\n {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-3\"\n }\n ]\n },\n {\n \"key\": \"v-fdaadba91de5a\",\n \"path\": \"/guide/getting-started.html\",\n \"lastUpdated\": 1541555081000,\n \"title\": \"Getting Started\",\n \"headers\": [\n {\n \"level\": 2,\n \"title\": \"Example\",\n \"slug\": \"example\"\n }\n ]\n },\n {\n \"key\": \"v-8d2a8fad62319\",\n \"path\": \"/guide/introduction.html\",\n \"lastUpdated\": 1541491338000,\n \"title\": \"Introduction\",\n \"headers\": [\n {\n \"level\": 2,\n \"title\": \"Features\",\n \"slug\": \"features\"\n },\n {\n \"level\": 2,\n \"title\": \"Projects\",\n \"slug\": \"projects\"\n },\n {\n \"level\": 2,\n \"title\": \"Contacts\",\n \"slug\": \"contacts\"\n }\n ]\n },\n {\n \"key\": \"v-9d03d1a24c541\",\n \"path\": \"/zh/\",\n \"lastUpdated\": 1541517835000,\n \"title\": \"Home\",\n \"frontmatter\": {\n \"home\": true,\n \"actionText\": \"快速上手 →\",\n \"actionLink\": \"/zh/guide/getting-started\",\n \"features\": [\n {\n \"title\": \"为什么使用\",\n \"details\": \"针对各个平台,封装了统一的接口,简化了各类开发过程中常用操作,使C开发更加的简单高效\"\n },\n {\n \"title\": \"强大\",\n \"details\": \"提供大量的实用模块(例如:流处理,协程,正则, 容器,算法,数据库等常用模块)\"\n },\n {\n \"title\": \"跨平台\",\n \"details\": \"支持windows, macOS, linux, android, ios\"\n }\n ],\n \"footer\": \"Apache-2.0 Licensed | Copyright © 2009-present tboox.org\"\n }\n },\n {\n \"key\": \"v-34ac182d991\",\n \"path\": \"/zh/api/introduction.html\",\n \"lastUpdated\": 1541569543000,\n \"title\": \"Title1\",\n \"headers\": [\n {\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2\"\n },\n {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3\"\n },\n {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-2\"\n },\n {\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2-2\"\n },\n {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-3\"\n }\n ]\n },\n {\n \"key\": \"v-819b7a4c7f128\",\n \"path\": \"/zh/guide/getting-started.html\",\n \"lastUpdated\": 1541555081000,\n \"title\": \"快速开始\",\n \"headers\": [\n {\n \"level\": 2,\n \"title\": \"编译\",\n \"slug\": \"编译\"\n },\n {\n \"level\": 2,\n \"title\": \"例子\",\n \"slug\": \"例子\"\n }\n ]\n },\n {\n \"key\": \"v-5a469fda81a59\",\n \"path\": \"/zh/guide/introduction.html\",\n \"lastUpdated\": 1541491338000,\n \"title\": \"简介\",\n \"headers\": [\n {\n \"level\": 2,\n \"title\": \"特性\",\n \"slug\": \"特性\"\n },\n {\n \"level\": 2,\n \"title\": \"项目例子\",\n \"slug\": \"项目例子\"\n },\n {\n \"level\": 2,\n \"title\": \"联系方式\",\n \"slug\": \"联系方式\"\n }\n ]\n }\n ],\n \"themeConfig\": {\n \"repo\": \"tboox/tbox\",\n \"docsRepo\": \"tboox/tbox-docs\",\n \"docsDir\": \"src\",\n \"editLinks\": true,\n \"sidebarDepth\": 2,\n \"locales\": {\n \"/\": {\n \"label\": \"English\",\n \"selectText\": \"Languages\",\n \"editLinkText\": \"Edit this page on GitHub\",\n \"lastUpdated\": \"Last Updated\",\n \"nav\": [\n {\n \"text\": \"Guide\",\n \"link\": \"/guide/introduction\"\n },\n {\n \"text\": \"API\",\n \"link\": \"/api/introduction\"\n },\n {\n \"text\": \"Articles\",\n \"link\": \"http://www.tboox.org/category/#tbox\"\n },\n {\n \"text\": \"Feedback\",\n \"link\": \"https://github.com/tboox/xmake/issues\"\n },\n {\n \"text\": \"Community\",\n \"link\": \"https://www.reddit.com/r/tboox/\"\n },\n {\n \"text\": \"Donation\",\n \"link\": \"http://tboox.org/cn/donation/\"\n }\n ],\n \"sidebar\": {\n \"/guide/\": [\n \"introduction\",\n \"getting-started\"\n ],\n \"/api/\": [\n \"introduction\"\n ]\n }\n },\n \"/zh/\": {\n \"label\": \"简体中文\",\n \"selectText\": \"选择语言\",\n \"editLinkText\": \"在 GitHub 上编辑此页\",\n \"lastUpdated\": \"上次更新\",\n \"nav\": [\n {\n \"text\": \"指南\",\n \"link\": \"/zh/guide/introduction\"\n },\n {\n \"text\": \"接口\",\n \"link\": \"/zh/api/introduction\"\n },\n {\n \"text\": \"文章\",\n \"link\": \"http://www.tboox.org/cn/category/#tbox\"\n },\n {\n \"text\": \"反馈\",\n \"link\": \"https://github.com/tboox/xmake/issues\"\n },\n {\n \"text\": \"社区\",\n \"link\": \"https://www.reddit.com/r/tboox/\"\n },\n {\n \"text\": \"捐助\",\n \"link\": \"http://tboox.org/cn/donation/\"\n }\n ],\n \"sidebar\": {\n \"/zh/guide/\": [\n \"introduction\",\n \"getting-started\"\n ],\n \"/zh/api/\": [\n \"introduction\"\n ]\n }\n }\n }\n },\n \"locales\": {\n \"/\": {\n \"lang\": \"en-US\",\n \"title\": \"TBOX\",\n \"description\": \"A glib-like cross-platform C library\"\n },\n \"/zh/\": {\n \"lang\": \"zh-CN\",\n \"title\": \"TBOX\",\n \"description\": \"一个用c语言实现的跨平台开发库\"\n }\n }\n}"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/a9e0d3cb65d95ec136ca9c1f8fa9b69c.json b/node_modules/vuepress/node_modules/.cache/vuepress/a9e0d3cb65d95ec136ca9c1f8fa9b69c.json new file mode 100644 index 00000000..f0e959b2 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/a9e0d3cb65d95ec136ca9c1f8fa9b69c.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue?vue&type=template&id=486052fb&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"sw-update-popup\"}},[(_vm.enabled)?_c('div',{staticClass:\"sw-update-popup\"},[_vm._v(\"\\n \"+_vm._s(_vm.message)),_c('br'),_vm._v(\" \"),_c('button',{on:{\"click\":_vm.reload}},[_vm._v(_vm._s(_vm.buttonText))])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/aa66b38b537cd56e3375ea4fb9c08c0f.json b/node_modules/vuepress/node_modules/.cache/vuepress/aa66b38b537cd56e3375ea4fb9c08c0f.json new file mode 100644 index 00000000..28d5e5bf --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/aa66b38b537cd56e3375ea4fb9c08c0f.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nexport default {\n name: 'DropdownTransition',\n methods: {\n setHeight: function setHeight(items) {\n // explicitly set height so that it can be transitioned\n items.style.height = items.scrollHeight + 'px';\n },\n unsetHeight: function unsetHeight(items) {\n items.style.height = '';\n }\n }\n};",{"version":3,"sources":["DropdownTransition.vue"],"names":[],"mappings":";;;;;;;;;;;AAYA,eAAA;AACA,QAAA,oBADA;AAGA,WAAA;AACA,aADA,qBACA,KADA,EACA;AACA;AACA,YAAA,KAAA,CAAA,MAAA,GAAA,MAAA,YAAA,GAAA,IAAA;AACA,KAJA;AAMA,eANA,uBAMA,KANA,EAMA;AACA,YAAA,KAAA,CAAA,MAAA,GAAA,EAAA;AACA;AARA;AAHA,CAAA","sourcesContent":["<template>\n <transition\n name=\"dropdown\"\n @enter=\"setHeight\"\n @after-enter=\"unsetHeight\"\n @before-leave=\"setHeight\"\n >\n <slot/>\n </transition>\n</template>\n\n<script>\nexport default {\n name: 'DropdownTransition',\n\n methods: {\n setHeight (items) {\n // explicitly set height so that it can be transitioned\n items.style.height = items.scrollHeight + 'px'\n },\n\n unsetHeight (items) {\n items.style.height = ''\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n.dropdown-enter, .dropdown-leave-to\n height 0 !important\n\n</style>\n"],"sourceRoot":"node_modules/vuepress/lib/default-theme"}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/aae320e4b762afd28f86cc65f070cb9f.json b/node_modules/vuepress/node_modules/.cache/vuepress/aae320e4b762afd28f86cc65f070cb9f.json new file mode 100644 index 00000000..3786d3cf --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/aae320e4b762afd28f86cc65f070cb9f.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Layout.vue?vue&type=template&id=25045c01&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Layout.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"theme-container\",\n class: _vm.pageClasses,\n on: { touchstart: _vm.onTouchStart, touchend: _vm.onTouchEnd }\n },\n [\n _vm.shouldShowNavbar\n ? _c(\"Navbar\", { on: { \"toggle-sidebar\": _vm.toggleSidebar } })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", {\n staticClass: \"sidebar-mask\",\n on: {\n click: function($event) {\n _vm.toggleSidebar(false)\n }\n }\n }),\n _vm._v(\" \"),\n _c(\n \"Sidebar\",\n {\n attrs: { items: _vm.sidebarItems },\n on: { \"toggle-sidebar\": _vm.toggleSidebar }\n },\n [\n _vm._t(\"sidebar-top\", null, { slot: \"top\" }),\n _vm._v(\" \"),\n _vm._t(\"sidebar-bottom\", null, { slot: \"bottom\" })\n ],\n 2\n ),\n _vm._v(\" \"),\n _vm.$page.frontmatter.layout\n ? _c(\n \"div\",\n { staticClass: \"custom-layout\" },\n [_c(_vm.$page.frontmatter.layout, { tag: \"component\" })],\n 1\n )\n : _vm.$page.frontmatter.home\n ? _c(\"Home\")\n : _c(\n \"Page\",\n { attrs: { \"sidebar-items\": _vm.sidebarItems } },\n [\n _vm._t(\"page-top\", null, { slot: \"top\" }),\n _vm._v(\" \"),\n _vm._t(\"page-bottom\", null, { slot: \"bottom\" })\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\"SWUpdatePopup\", { attrs: { updateEvent: _vm.swUpdateEvent } })\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/ab408fb68921920de469002827870a0a.json b/node_modules/vuepress/node_modules/.cache/vuepress/ab408fb68921920de469002827870a0a.json new file mode 100644 index 00000000..de579148 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/ab408fb68921920de469002827870a0a.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NotFound.vue?vue&type=template&id=52d5a9f4&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NotFound.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div class=\"theme-container\">\n <div class=\"content\">\n <h1>404</h1>\n <blockquote>{{ getMsg() }}</blockquote>\n <router-link to=\"/\">Take me home.</router-link>\n </div>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/ab924d79d04dfb50a4da7e764faac43f.json b/node_modules/vuepress/node_modules/.cache/vuepress/ab924d79d04dfb50a4da7e764faac43f.json new file mode 100644 index 00000000..fe6e1336 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/ab924d79d04dfb50a4da7e764faac43f.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/README.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/README.md","mtime":1541513030109},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./README.md?vue&type=template&id=4f009e77&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('4f009e77', component.options)\n } else {\n api.reload('4f009e77', component.options)\n }\n module.hot.accept(\"./README.md?vue&type=template&id=4f009e77&\", function () {\n api.rerender('4f009e77', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/zh/README.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/abfa901012ad87f40bbd9992b2bfb948.json b/node_modules/vuepress/node_modules/.cache/vuepress/abfa901012ad87f40bbd9992b2bfb948.json new file mode 100644 index 00000000..a745cd3f --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/abfa901012ad87f40bbd9992b2bfb948.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import \"core-js/modules/es6.array.some\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport SidebarGroup from './SidebarGroup.vue';\nimport SidebarLink from './SidebarLink.vue';\nimport NavLinks from './NavLinks.vue';\nimport { isActive as _isActive } from './util';\nexport default {\n components: {\n SidebarGroup: SidebarGroup,\n SidebarLink: SidebarLink,\n NavLinks: NavLinks\n },\n props: ['items'],\n data: function data() {\n return {\n openGroupIndex: 0\n };\n },\n created: function created() {\n this.refreshIndex();\n },\n watch: {\n '$route': function $route() {\n this.refreshIndex();\n }\n },\n methods: {\n refreshIndex: function refreshIndex() {\n var index = resolveOpenGroupIndex(this.$route, this.items);\n\n if (index > -1) {\n this.openGroupIndex = index;\n }\n },\n toggleGroup: function toggleGroup(index) {\n this.openGroupIndex = index === this.openGroupIndex ? -1 : index;\n },\n isActive: function isActive(page) {\n return _isActive(this.$route, page.path);\n }\n }\n};\n\nfunction resolveOpenGroupIndex(route, items) {\n for (var i = 0; i < items.length; i++) {\n var item = items[i];\n\n if (item.type === 'group' && item.children.some(function (c) {\n return _isActive(route, c.path);\n })) {\n return i;\n }\n }\n\n return -1;\n}",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/ac5811f58583f2333ab1e4f301a8eb96.json b/node_modules/vuepress/node_modules/.cache/vuepress/ac5811f58583f2333ab1e4f301a8eb96.json new file mode 100644 index 00000000..aab46e19 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/ac5811f58583f2333ab1e4f301a8eb96.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/manual/introduction.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/manual/introduction.md","mtime":1541492172602},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./introduction.md?vue&type=template&id=b3629762&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"introduction.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/ad2b34f2d2b4f83efc75c54be8893e88.json b/node_modules/vuepress/node_modules/.cache/vuepress/ad2b34f2d2b4f83efc75c54be8893e88.json new file mode 100644 index 00000000..b2e7f95c --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/ad2b34f2d2b4f83efc75c54be8893e88.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/README.md?vue&type=template&id=5fa9442e&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/README.md","mtime":1541486439372},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/add5cfd44ae6cdbaebe983aa8d1f5c9a.json b/node_modules/vuepress/node_modules/.cache/vuepress/add5cfd44ae6cdbaebe983aa8d1f5c9a.json new file mode 100644 index 00000000..24a9dd62 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/add5cfd44ae6cdbaebe983aa8d1f5c9a.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport SidebarLink from './SidebarLink.vue'\nimport DropdownTransition from './DropdownTransition.vue'\n\nexport default {\n name: 'SidebarGroup',\n props: ['item', 'first', 'open', 'collapsable'],\n components: { SidebarLink, DropdownTransition }\n}\n",{"version":3,"sources":["SidebarGroup.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA;AACA;;AAEA;AACA;AACA;AACA;AACA","file":"SidebarGroup.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <div\n class=\"sidebar-group\"\n :class=\"{ first, collapsable }\"\n >\n <p\n class=\"sidebar-heading\"\n :class=\"{ open }\"\n @click=\"$emit('toggle')\"\n >\n <span>{{ item.title }}</span>\n <span\n class=\"arrow\"\n v-if=\"collapsable\"\n :class=\"open ? 'down' : 'right'\">\n </span>\n </p>\n\n <DropdownTransition>\n <ul\n ref=\"items\"\n class=\"sidebar-group-items\"\n v-if=\"open || !collapsable\"\n >\n <li v-for=\"child in item.children\">\n <SidebarLink :item=\"child\"/>\n </li>\n </ul>\n </DropdownTransition>\n </div>\n</template>\n\n<script>\nimport SidebarLink from './SidebarLink.vue'\nimport DropdownTransition from './DropdownTransition.vue'\n\nexport default {\n name: 'SidebarGroup',\n props: ['item', 'first', 'open', 'collapsable'],\n components: { SidebarLink, DropdownTransition }\n}\n</script>\n\n<style lang=\"stylus\">\n.sidebar-group\n &:not(.first)\n margin-top 1em\n .sidebar-group\n padding-left 0.5em\n &:not(.collapsable)\n .sidebar-heading\n cursor auto\n color inherit\n\n.sidebar-heading\n color #999\n transition color .15s ease\n cursor pointer\n font-size 1.1em\n font-weight bold\n // text-transform uppercase\n padding 0 1.5rem\n margin-top 0\n margin-bottom 0.5rem\n &.open, &:hover\n color inherit\n .arrow\n position relative\n top -0.12em\n left 0.5em\n &:.open .arrow\n top -0.18em\n\n.sidebar-group-items\n transition height .1s ease-out\n overflow hidden\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/ae2b90eaccfdc5c716a250b39d9396c3.json b/node_modules/vuepress/node_modules/.cache/vuepress/ae2b90eaccfdc5c716a250b39d9396c3.json new file mode 100644 index 00000000..eef07cfc --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/ae2b90eaccfdc5c716a250b39d9396c3.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Home.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Home.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport NavLink from './NavLink.vue'\n\nexport default {\n components: { NavLink },\n\n computed: {\n data () {\n return this.$page.frontmatter\n },\n\n actionLink () {\n return {\n link: this.data.actionLink,\n text: this.data.actionText\n }\n }\n }\n}\n",{"version":3,"sources":["Home.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"Home.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <div class=\"home\">\n <div class=\"hero\">\n <img\n v-if=\"data.heroImage\"\n :src=\"$withBase(data.heroImage)\"\n alt=\"hero\"\n >\n\n <h1>{{ data.heroText || $title || 'Hello' }}</h1>\n\n <p class=\"description\">\n {{ data.tagline || $description || 'Welcome to your VuePress site' }}\n </p>\n\n <p\n class=\"action\"\n v-if=\"data.actionText && data.actionLink\"\n >\n <NavLink\n class=\"action-button\"\n :item=\"actionLink\"\n />\n </p>\n </div>\n\n <div\n class=\"features\"\n v-if=\"data.features && data.features.length\"\n >\n <div\n class=\"feature\"\n v-for=\"(feature, index) in data.features\"\n :key=\"index\"\n >\n <h2>{{ feature.title }}</h2>\n <p>{{ feature.details }}</p>\n </div>\n </div>\n\n <Content custom/>\n\n <div\n class=\"footer\"\n v-if=\"data.footer\"\n >\n {{ data.footer }}\n </div>\n </div>\n</template>\n\n<script>\nimport NavLink from './NavLink.vue'\n\nexport default {\n components: { NavLink },\n\n computed: {\n data () {\n return this.$page.frontmatter\n },\n\n actionLink () {\n return {\n link: this.data.actionLink,\n text: this.data.actionText\n }\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.home\n padding $navbarHeight 2rem 0\n max-width 960px\n margin 0px auto\n .hero\n text-align center\n img\n max-height 280px\n display block\n margin 3rem auto 1.5rem\n h1\n font-size 3rem\n h1, .description, .action\n margin 1.8rem auto\n .description\n max-width 35rem\n font-size 1.6rem\n line-height 1.3\n color lighten($textColor, 40%)\n .action-button\n display inline-block\n font-size 1.2rem\n color #fff\n background-color $accentColor\n padding 0.8rem 1.6rem\n border-radius 4px\n transition background-color .1s ease\n box-sizing border-box\n border-bottom 1px solid darken($accentColor, 10%)\n &:hover\n background-color lighten($accentColor, 10%)\n .features\n border-top 1px solid $borderColor\n padding 1.2rem 0\n margin-top 2.5rem\n display flex\n flex-wrap wrap\n align-items flex-start\n align-content stretch\n justify-content space-between\n .feature\n flex-grow 1\n flex-basis 30%\n max-width 30%\n h2\n font-size 1.4rem\n font-weight 500\n border-bottom none\n padding-bottom 0\n color lighten($textColor, 10%)\n p\n color lighten($textColor, 25%)\n .footer\n padding 2.5rem\n border-top 1px solid $borderColor\n text-align center\n color lighten($textColor, 25%)\n\n@media (max-width: $MQMobile)\n .home\n .features\n flex-direction column\n .feature\n max-width 100%\n padding 0 2.5rem\n\n@media (max-width: $MQMobileNarrow)\n .home\n padding-left 1.5rem\n padding-right 1.5rem\n .hero\n img\n max-height 210px\n margin 2rem auto 1.2rem\n h1\n font-size 2rem\n h1, .description, .action\n margin 1.2rem auto\n .description\n font-size 1.2rem\n .action-button\n font-size 1rem\n padding 0.6rem 1.2rem\n .feature\n h2\n font-size 1.25rem\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/ae70a27d236cc11db100f91366e66e65.json b/node_modules/vuepress/node_modules/.cache/vuepress/ae70a27d236cc11db100f91366e66e65.json new file mode 100644 index 00000000..b9f9be5a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/ae70a27d236cc11db100f91366e66e65.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/guide/getting-started.md?vue&type=template&id=527ea621&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/guide/getting-started.md","mtime":1541554688137},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._m(0),_vm._v(\" \"),_c('p',[_vm._v(\"Please install xmake first: \"),_c('a',{attrs:{\"href\":\"https://github.com/tboox/xmake\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"xmake\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_vm._m(1),_vm._m(2),_vm._v(\" \"),_vm._m(3)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h1',{attrs:{\"id\":\"getting-started\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#getting-started\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Getting Started\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"language-bash extra-class\"},[_c('pre',{pre:true,attrs:{\"class\":\"language-bash\"}},[_c('code',[_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"# build for the host platform\")]),_vm._v(\"\\n$ \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"cd\")]),_vm._v(\" ./tbox\\n$ xmake\\n\\n\"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"# build for the mingw platform\")]),_vm._v(\"\\n$ \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"cd\")]),_vm._v(\" ./tbox\\n$ xmake f -p mingw --sdk\"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\"/home/mingwsdk \\n$ xmake\\n\\n\"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"# build for the iphoneos platform\")]),_vm._v(\"\\n$ \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"cd\")]),_vm._v(\" ./tbox\\n$ xmake f -p iphoneos \\n$ xmake\\n\\n\"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"# build for the android platform\")]),_vm._v(\"\\n$ \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"cd\")]),_vm._v(\" ./tbox\\n$ xmake f -p android --ndk\"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\"xxxxx\\n$ xmake\\n\\n\"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"# build for the linux cross-platform\")]),_vm._v(\"\\n$ \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"cd\")]),_vm._v(\" ./tbox\\n$ xmake f -p linux --sdk\"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\"/home/sdk \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"# --bin=/home/sdk/bin\")]),_vm._v(\"\\n$ xmake\\n\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',{attrs:{\"id\":\"example\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#example\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Example\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"language-c extra-class\"},[_c('pre',{pre:true,attrs:{\"class\":\"language-c\"}},[_c('code',[_c('span',{attrs:{\"class\":\"token macro property\"}},[_vm._v(\"#\"),_c('span',{attrs:{\"class\":\"token directive keyword\"}},[_vm._v(\"include\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"tbox/tbox.h\\\"\")])]),_vm._v(\"\\n\\n\"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"int\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"main\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"int\")]),_vm._v(\" argc\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"char\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"*\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"*\")]),_vm._v(\" argv\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// init tbox\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"!\")]),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_init\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"tb_null\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" tb_null\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"return\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// trace\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_trace_i\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"hello tbox\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// init vector\")]),_vm._v(\"\\n tb_vector_ref_t vector \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_init\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_element_cstr\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"tb_true\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// insert item\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_insert_tail\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"hello\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_insert_tail\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"tbox\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// dump all items\")]),_vm._v(\"\\n tb_for_all \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"tb_char_t \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"const\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"*\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" cstr\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// trace\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_trace_i\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"%s\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" cstr\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// exit vector\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_exit\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// init stream\")]),_vm._v(\"\\n tb_stream_ref_t stream \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_stream_init_from_url\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"http://www.xxx.com/file.txt\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"stream\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// open stream\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_stream_open\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"stream\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// read line\")]),_vm._v(\"\\n tb_long_t size \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n tb_char_t line\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"[\")]),_vm._v(\"TB_STREAM_BLOCK_MAXN\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"]\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"while\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"size \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_stream_bread_line\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"stream\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" line\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"sizeof\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"line\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\">=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// trace\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_trace_i\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"line: %s\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" line\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// exit stream\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_stream_exit\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"stream\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// wait \")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"getchar\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// exit tbox\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_exit\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"return\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\")])])])}]\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/ae80a1de23a0b321df1760a06f9b1b96.json b/node_modules/vuepress/node_modules/.cache/vuepress/ae80a1de23a0b321df1760a06f9b1b96.json new file mode 100644 index 00000000..3ebfc28d --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/ae80a1de23a0b321df1760a06f9b1b96.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/manual/introduction.md?vue&type=template&id=e9b9111a&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/manual/introduction.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"manual\"><a class=\"header-anchor\" href=\"#manual\" aria-hidden=\"true\">#</a> Manual</h1>\n<p>[TODO]</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/ae87537b692644667e10dbdd043ff409.json b/node_modules/vuepress/node_modules/.cache/vuepress/ae87537b692644667e10dbdd043ff409.json new file mode 100644 index 00000000..c7aa7482 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/ae87537b692644667e10dbdd043ff409.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/es6.array.some\";\nimport { isActive, hashRE, groupHeaders } from './util';\nexport default {\n functional: true,\n props: ['item'],\n render: function render(h, _ref) {\n var _ref$parent = _ref.parent,\n $page = _ref$parent.$page,\n $site = _ref$parent.$site,\n $route = _ref$parent.$route,\n item = _ref.props.item;\n // use custom active class matching logic\n // due to edge case of paths ending with / + hash\n var selfActive = isActive($route, item.path); // for sidebar: auto pages, a hash link should be active if one of its child\n // matches\n\n var active = item.type === 'auto' ? selfActive || item.children.some(function (c) {\n return isActive($route, item.basePath + '#' + c.slug);\n }) : selfActive;\n var link = renderLink(h, item.path, item.title || item.path, active);\n var configDepth = $page.frontmatter.sidebarDepth != null ? $page.frontmatter.sidebarDepth : $site.themeConfig.sidebarDepth;\n var maxDepth = configDepth == null ? 1 : configDepth;\n var displayAllHeaders = !!$site.themeConfig.displayAllHeaders;\n\n if (item.type === 'auto') {\n return [link, renderChildren(h, item.children, item.basePath, $route, maxDepth)];\n } else if ((active || displayAllHeaders) && item.headers && !hashRE.test(item.path)) {\n var children = groupHeaders(item.headers);\n return [link, renderChildren(h, children, item.path, $route, maxDepth)];\n } else {\n return link;\n }\n }\n};\n\nfunction renderLink(h, to, text, active) {\n return h('router-link', {\n props: {\n to: to,\n activeClass: '',\n exactActiveClass: ''\n },\n class: {\n active: active,\n 'sidebar-link': true\n }\n }, text);\n}\n\nfunction renderChildren(h, children, path, route, maxDepth) {\n var depth = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1;\n if (!children || depth > maxDepth) return null;\n return h('ul', {\n class: 'sidebar-sub-headers'\n }, children.map(function (c) {\n var active = isActive(route, path + '#' + c.slug);\n return h('li', {\n class: 'sidebar-sub-header'\n }, [renderLink(h, path + '#' + c.slug, c.title, active), renderChildren(h, c.children, path, route, maxDepth, depth + 1)]);\n }));\n}",{"version":3,"sources":["node_modules/vuepress/lib/default-theme/SidebarLink.vue"],"names":["isActive","hashRE","groupHeaders","functional","props","render","h","parent","$page","$site","$route","item","selfActive","path","active","type","children","some","basePath","c","slug","link","renderLink","title","configDepth","frontmatter","sidebarDepth","themeConfig","maxDepth","displayAllHeaders","renderChildren","headers","test","to","text","activeClass","exactActiveClass","class","route","depth","map"],"mappings":";;AACA,SAASA,QAAT,EAAmBC,MAAnB,EAA2BC,YAA3B,QAA+C,QAA/C;AAEA,eAAe;AACbC,cAAY,IADC;AAGbC,SAAO,CAAC,MAAD,CAHM;AAKbC,QALa,kBAKLC,CALK,QAKoD;AAAA,2BAApDC,MAAoD;AAAA,QAA1CC,KAA0C,eAA1CA,KAA0C;AAAA,QAAnCC,KAAmC,eAAnCA,KAAmC;AAAA,QAA5BC,MAA4B,eAA5BA,MAA4B;AAAA,QAATC,IAAS,QAAlBP,KAAkB,CAATO,IAAS;AAC/D;AACA;AACA,QAAMC,aAAaZ,SAASU,MAAT,EAAiBC,KAAKE,IAAtB,CAAnB,CAH+D,CAI/D;AACA;;AACA,QAAMC,SAASH,KAAKI,IAAL,KAAc,MAAd,GACXH,cAAcD,KAAKK,QAAL,CAAcC,IAAd,CAAmB;AAAA,aAAKjB,SAASU,MAAT,EAAiBC,KAAKO,QAAL,GAAgB,GAAhB,GAAsBC,EAAEC,IAAzC,CAAL;AAAA,KAAnB,CADH,GAEXR,UAFJ;AAGA,QAAMS,OAAOC,WAAWhB,CAAX,EAAcK,KAAKE,IAAnB,EAAyBF,KAAKY,KAAL,IAAcZ,KAAKE,IAA5C,EAAkDC,MAAlD,CAAb;AACA,QAAMU,cAAchB,MAAMiB,WAAN,CAAkBC,YAAlB,IAAkC,IAAlC,GAChBlB,MAAMiB,WAAN,CAAkBC,YADF,GAEhBjB,MAAMkB,WAAN,CAAkBD,YAFtB;AAGA,QAAME,WAAWJ,eAAe,IAAf,GAAsB,CAAtB,GAA0BA,WAA3C;AACA,QAAMK,oBAAoB,CAAC,CAACpB,MAAMkB,WAAN,CAAkBE,iBAA9C;;AACA,QAAIlB,KAAKI,IAAL,KAAc,MAAlB,EAA0B;AACxB,aAAO,CAACM,IAAD,EAAOS,eAAexB,CAAf,EAAkBK,KAAKK,QAAvB,EAAiCL,KAAKO,QAAtC,EAAgDR,MAAhD,EAAwDkB,QAAxD,CAAP,CAAP;AACD,KAFD,MAEO,IAAI,CAACd,UAAUe,iBAAX,KAAiClB,KAAKoB,OAAtC,IAAiD,CAAC9B,OAAO+B,IAAP,CAAYrB,KAAKE,IAAjB,CAAtD,EAA8E;AACnF,UAAMG,WAAWd,aAAaS,KAAKoB,OAAlB,CAAjB;AACA,aAAO,CAACV,IAAD,EAAOS,eAAexB,CAAf,EAAkBU,QAAlB,EAA4BL,KAAKE,IAAjC,EAAuCH,MAAvC,EAA+CkB,QAA/C,CAAP,CAAP;AACD,KAHM,MAGA;AACL,aAAOP,IAAP;AACD;AACF;AA5BY,CAAf;;AA+BA,SAASC,UAAT,CAAqBhB,CAArB,EAAwB2B,EAAxB,EAA4BC,IAA5B,EAAkCpB,MAAlC,EAA0C;AACxC,SAAOR,EAAE,aAAF,EAAiB;AACtBF,WAAO;AACL6B,YADK;AAELE,mBAAa,EAFR;AAGLC,wBAAkB;AAHb,KADe;AAMtBC,WAAO;AACLvB,oBADK;AAEL,sBAAgB;AAFX;AANe,GAAjB,EAUJoB,IAVI,CAAP;AAWD;;AAED,SAASJ,cAAT,CAAyBxB,CAAzB,EAA4BU,QAA5B,EAAsCH,IAAtC,EAA4CyB,KAA5C,EAAmDV,QAAnD,EAAwE;AAAA,MAAXW,KAAW,uEAAH,CAAG;AACtE,MAAI,CAACvB,QAAD,IAAauB,QAAQX,QAAzB,EAAmC,OAAO,IAAP;AACnC,SAAOtB,EAAE,IAAF,EAAQ;AAAE+B,WAAO;AAAT,GAAR,EAA0CrB,SAASwB,GAAT,CAAa,aAAK;AACjE,QAAM1B,SAASd,SAASsC,KAAT,EAAgBzB,OAAO,GAAP,GAAaM,EAAEC,IAA/B,CAAf;AACA,WAAOd,EAAE,IAAF,EAAQ;AAAE+B,aAAO;AAAT,KAAR,EAAyC,CAC9Cf,WAAWhB,CAAX,EAAcO,OAAO,GAAP,GAAaM,EAAEC,IAA7B,EAAmCD,EAAEI,KAArC,EAA4CT,MAA5C,CAD8C,EAE9CgB,eAAexB,CAAf,EAAkBa,EAAEH,QAApB,EAA8BH,IAA9B,EAAoCyB,KAApC,EAA2CV,QAA3C,EAAqDW,QAAQ,CAA7D,CAF8C,CAAzC,CAAP;AAID,GANgD,CAA1C,CAAP;AAOD","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["\nimport { isActive, hashRE, groupHeaders } from './util'\n\nexport default {\n functional: true,\n\n props: ['item'],\n\n render (h, { parent: { $page, $site, $route }, props: { item }}) {\n // use custom active class matching logic\n // due to edge case of paths ending with / + hash\n const selfActive = isActive($route, item.path)\n // for sidebar: auto pages, a hash link should be active if one of its child\n // matches\n const active = item.type === 'auto'\n ? selfActive || item.children.some(c => isActive($route, item.basePath + '#' + c.slug))\n : selfActive\n const link = renderLink(h, item.path, item.title || item.path, active)\n const configDepth = $page.frontmatter.sidebarDepth != null\n ? $page.frontmatter.sidebarDepth\n : $site.themeConfig.sidebarDepth\n const maxDepth = configDepth == null ? 1 : configDepth\n const displayAllHeaders = !!$site.themeConfig.displayAllHeaders\n if (item.type === 'auto') {\n return [link, renderChildren(h, item.children, item.basePath, $route, maxDepth)]\n } else if ((active || displayAllHeaders) && item.headers && !hashRE.test(item.path)) {\n const children = groupHeaders(item.headers)\n return [link, renderChildren(h, children, item.path, $route, maxDepth)]\n } else {\n return link\n }\n }\n}\n\nfunction renderLink (h, to, text, active) {\n return h('router-link', {\n props: {\n to,\n activeClass: '',\n exactActiveClass: ''\n },\n class: {\n active,\n 'sidebar-link': true\n }\n }, text)\n}\n\nfunction renderChildren (h, children, path, route, maxDepth, depth = 1) {\n if (!children || depth > maxDepth) return null\n return h('ul', { class: 'sidebar-sub-headers' }, children.map(c => {\n const active = isActive(route, path + '#' + c.slug)\n return h('li', { class: 'sidebar-sub-header' }, [\n renderLink(h, path + '#' + c.slug, c.title, active),\n renderChildren(h, c.children, path, route, maxDepth, depth + 1)\n ])\n }))\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/af1463be35fb5d9997365c1ef17c94ca.json b/node_modules/vuepress/node_modules/.cache/vuepress/af1463be35fb5d9997365c1ef17c94ca.json new file mode 100644 index 00000000..5dcf3907 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/af1463be35fb5d9997365c1ef17c94ca.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/getting-started.md?vue&type=template&id=b833ee74&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/getting-started.md","mtime":1541489096650},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('p',[_vm._v(\"请先安装: \"),_c('a',{attrs:{\"href\":\"https://github.com/tboox/xmake\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"xmake\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_vm._m(2),_vm._m(3),_vm._v(\" \"),_vm._m(4)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h1',{attrs:{\"id\":\"快速开始\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#快速开始\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 快速开始\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',{attrs:{\"id\":\"编译\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#编译\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 编译\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"language-console extra-class\"},[_c('pre',{pre:true,attrs:{\"class\":\"language-text\"}},[_c('code',[_vm._v(\"# 默认直接编译当前主机平台\\n$ cd ./tbox\\n$ xmake\\n\\n# 编译mingw平台\\n$ cd ./tbox\\n$ xmake f -p mingw --sdk=/home/mingwsdk \\n$ xmake\\n\\n# 编译iphoneos平台\\n$ cd ./tbox\\n$ xmake f -p iphoneos \\n$ xmake\\n\\n# 编译android平台\\n$ cd ./tbox\\n$ xmake f -p android --ndk=xxxxx\\n$ xmake\\n\\n# 交叉编译\\n$ cd ./tbox\\n$ xmake f -p linux --sdk=/home/sdk #--bin=/home/sdk/bin\\n$ xmake\\n\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',{attrs:{\"id\":\"例子\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#例子\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 例子\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"language-c extra-class\"},[_c('pre',{pre:true,attrs:{\"class\":\"language-c\"}},[_c('code',[_c('span',{attrs:{\"class\":\"token macro property\"}},[_vm._v(\"#\"),_c('span',{attrs:{\"class\":\"token directive keyword\"}},[_vm._v(\"include\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"tbox/tbox.h\\\"\")])]),_vm._v(\"\\n\\n\"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"int\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"main\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"int\")]),_vm._v(\" argc\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"char\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"*\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"*\")]),_vm._v(\" argv\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// init tbox\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"!\")]),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_init\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"tb_null\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" tb_null\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"return\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// trace\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_trace_i\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"hello tbox\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// init vector\")]),_vm._v(\"\\n tb_vector_ref_t vector \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_init\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_element_cstr\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"tb_true\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// insert item\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_insert_tail\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"hello\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_insert_tail\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"tbox\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// dump all items\")]),_vm._v(\"\\n tb_for_all \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"tb_char_t \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"const\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"*\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" cstr\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// trace\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_trace_i\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"%s\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" cstr\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// exit vector\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_exit\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// init stream\")]),_vm._v(\"\\n tb_stream_ref_t stream \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_stream_init_from_url\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"http://www.xxx.com/file.txt\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"stream\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// open stream\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_stream_open\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"stream\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// read line\")]),_vm._v(\"\\n tb_long_t size \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n tb_char_t line\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"[\")]),_vm._v(\"TB_STREAM_BLOCK_MAXN\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"]\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"while\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"size \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_stream_bread_line\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"stream\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" line\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"sizeof\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"line\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\">=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// trace\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_trace_i\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"line: %s\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" line\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// exit stream\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_stream_exit\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"stream\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// wait \")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"getchar\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// exit tbox\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_exit\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"return\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\")])])])}]\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/af188c9a635a94215fc66fbe36f37d4c.json b/node_modules/vuepress/node_modules/.cache/vuepress/af188c9a635a94215fc66fbe36f37d4c.json new file mode 100644 index 00000000..853afb3a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/af188c9a635a94215fc66fbe36f37d4c.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Layout.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Layout.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport Vue from 'vue'\nimport nprogress from 'nprogress'\nimport Home from './Home.vue'\nimport Navbar from './Navbar.vue'\nimport Page from './Page.vue'\nimport Sidebar from './Sidebar.vue'\nimport SWUpdatePopup from './SWUpdatePopup.vue'\nimport { resolveSidebarItems } from './util'\n\nexport default {\n components: { Home, Page, Sidebar, Navbar, SWUpdatePopup },\n\n data () {\n return {\n isSidebarOpen: false,\n swUpdateEvent: null\n }\n },\n\n computed: {\n shouldShowNavbar () {\n const { themeConfig } = this.$site\n const { frontmatter } = this.$page\n if (\n frontmatter.navbar === false ||\n themeConfig.navbar === false) {\n return false\n }\n return (\n this.$title ||\n themeConfig.logo ||\n themeConfig.repo ||\n themeConfig.nav ||\n this.$themeLocaleConfig.nav\n )\n },\n\n shouldShowSidebar () {\n const { frontmatter } = this.$page\n return (\n !frontmatter.layout &&\n !frontmatter.home &&\n frontmatter.sidebar !== false &&\n this.sidebarItems.length\n )\n },\n\n sidebarItems () {\n return resolveSidebarItems(\n this.$page,\n this.$route,\n this.$site,\n this.$localePath\n )\n },\n\n pageClasses () {\n const userPageClass = this.$page.frontmatter.pageClass\n return [\n {\n 'no-navbar': !this.shouldShowNavbar,\n 'sidebar-open': this.isSidebarOpen,\n 'no-sidebar': !this.shouldShowSidebar\n },\n userPageClass\n ]\n }\n },\n\n mounted () {\n window.addEventListener('scroll', this.onScroll)\n\n // configure progress bar\n nprogress.configure({ showSpinner: false })\n\n this.$router.beforeEach((to, from, next) => {\n if (to.path !== from.path && !Vue.component(to.name)) {\n nprogress.start()\n }\n next()\n })\n\n this.$router.afterEach(() => {\n nprogress.done()\n this.isSidebarOpen = false\n })\n\n this.$on('sw-updated', this.onSWUpdated)\n },\n\n methods: {\n toggleSidebar (to) {\n this.isSidebarOpen = typeof to === 'boolean' ? to : !this.isSidebarOpen\n },\n\n // side swipe\n onTouchStart (e) {\n this.touchStart = {\n x: e.changedTouches[0].clientX,\n y: e.changedTouches[0].clientY\n }\n },\n\n onTouchEnd (e) {\n const dx = e.changedTouches[0].clientX - this.touchStart.x\n const dy = e.changedTouches[0].clientY - this.touchStart.y\n if (Math.abs(dx) > Math.abs(dy) && Math.abs(dx) > 40) {\n if (dx > 0 && this.touchStart.x <= 80) {\n this.toggleSidebar(true)\n } else {\n this.toggleSidebar(false)\n }\n }\n },\n\n onSWUpdated (e) {\n this.swUpdateEvent = e\n }\n }\n}\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/af628284163a12ce2088d6e1aa242a8d.json b/node_modules/vuepress/node_modules/.cache/vuepress/af628284163a12ce2088d6e1aa242a8d.json new file mode 100644 index 00000000..848119cc --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/af628284163a12ce2088d6e1aa242a8d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLink.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport { isExternal, isMailto, isTel, ensureExt } from './util'\n\nexport default {\n props: {\n item: {\n required: true\n }\n },\n\n computed: {\n link () {\n return ensureExt(this.item.link)\n },\n\n exact () {\n if (this.$site.locales) {\n return Object.keys(this.$site.locales).some(rootLink => rootLink === this.link)\n }\n return this.link === '/'\n }\n },\n\n methods: {\n isExternal,\n isMailto,\n isTel\n }\n}\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/af90a9c4602b3965421c817fda17816f.json b/node_modules/vuepress/node_modules/.cache/vuepress/af90a9c4602b3965421c817fda17816f.json new file mode 100644 index 00000000..3df95857 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/af90a9c4602b3965421c817fda17816f.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NotFound.vue?vue&type=template&id=5c808f81&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NotFound.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div class=\"theme-container\">\n <div class=\"content\">\n <h1>404</h1>\n <blockquote>{{ getMsg() }}</blockquote>\n <router-link to=\"/\">Take me home.</router-link>\n </div>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b05dce4b7d01ca727370fda44328cc0b.json b/node_modules/vuepress/node_modules/.cache/vuepress/b05dce4b7d01ca727370fda44328cc0b.json new file mode 100644 index 00000000..ce75f9cb --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b05dce4b7d01ca727370fda44328cc0b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/guide/introduction.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/introduction.md","mtime":1541489249205},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./introduction.md?vue&type=template&id=7aabeaf7&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n \"78c18d36\"\n \n)\n\ncomponent.options.__file = \"introduction.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b0b485efcb98e3831bc1fa849f05d825.json b/node_modules/vuepress/node_modules/.cache/vuepress/b0b485efcb98e3831bc1fa849f05d825.json new file mode 100644 index 00000000..9a8304a2 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b0b485efcb98e3831bc1fa849f05d825.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport SidebarGroup from './SidebarGroup.vue'\nimport SidebarLink from './SidebarLink.vue'\nimport NavLinks from './NavLinks.vue'\nimport { isActive } from './util'\n\nexport default {\n components: { SidebarGroup, SidebarLink, NavLinks },\n\n props: ['items'],\n\n data () {\n return {\n openGroupIndex: 0\n }\n },\n\n created () {\n this.refreshIndex()\n },\n\n watch: {\n '$route' () {\n this.refreshIndex()\n }\n },\n\n methods: {\n refreshIndex () {\n const index = resolveOpenGroupIndex(\n this.$route,\n this.items\n )\n if (index > -1) {\n this.openGroupIndex = index\n }\n },\n\n toggleGroup (index) {\n this.openGroupIndex = index === this.openGroupIndex ? -1 : index\n },\n\n isActive (page) {\n return isActive(this.$route, page.path)\n }\n }\n}\n\nfunction resolveOpenGroupIndex (route, items) {\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n if (item.type === 'group' && item.children.some(c => isActive(route, c.path))) {\n return i\n }\n }\n return -1\n}\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b11f724250d66499b6d8a5b216389f17.json b/node_modules/vuepress/node_modules/.cache/vuepress/b11f724250d66499b6d8a5b216389f17.json new file mode 100644 index 00000000..befcfca0 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b11f724250d66499b6d8a5b216389f17.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Layout.vue?vue&type=template&id=25045c01&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Layout.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"theme-container\",\n class: _vm.pageClasses,\n on: { touchstart: _vm.onTouchStart, touchend: _vm.onTouchEnd }\n },\n [\n _vm.shouldShowNavbar\n ? _c(\"Navbar\", { on: { \"toggle-sidebar\": _vm.toggleSidebar } })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", {\n staticClass: \"sidebar-mask\",\n on: {\n click: function($event) {\n _vm.toggleSidebar(false)\n }\n }\n }),\n _vm._v(\" \"),\n _c(\n \"Sidebar\",\n {\n attrs: { items: _vm.sidebarItems },\n on: { \"toggle-sidebar\": _vm.toggleSidebar }\n },\n [\n _vm._t(\"sidebar-top\", null, { slot: \"top\" }),\n _vm._v(\" \"),\n _vm._t(\"sidebar-bottom\", null, { slot: \"bottom\" })\n ],\n 2\n ),\n _vm._v(\" \"),\n _vm.$page.frontmatter.layout\n ? _c(\n \"div\",\n { staticClass: \"custom-layout\" },\n [_c(_vm.$page.frontmatter.layout, { tag: \"component\" })],\n 1\n )\n : _vm.$page.frontmatter.home\n ? _c(\"Home\")\n : _c(\n \"Page\",\n { attrs: { \"sidebar-items\": _vm.sidebarItems } },\n [\n _vm._t(\"page-top\", null, { slot: \"top\" }),\n _vm._v(\" \"),\n _vm._t(\"page-bottom\", null, { slot: \"bottom\" })\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\"SWUpdatePopup\", { attrs: { updateEvent: _vm.swUpdateEvent } })\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b17aabc00d12bc18d3a2607e802a215d.json b/node_modules/vuepress/node_modules/.cache/vuepress/b17aabc00d12bc18d3a2607e802a215d.json new file mode 100644 index 00000000..3097e289 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b17aabc00d12bc18d3a2607e802a215d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\nimport { isActive, hashRE, groupHeaders } from './util'\n\nexport default {\n functional: true,\n\n props: ['item'],\n\n render (h, { parent: { $page, $site, $route }, props: { item }}) {\n // use custom active class matching logic\n // due to edge case of paths ending with / + hash\n const selfActive = isActive($route, item.path)\n // for sidebar: auto pages, a hash link should be active if one of its child\n // matches\n const active = item.type === 'auto'\n ? selfActive || item.children.some(c => isActive($route, item.basePath + '#' + c.slug))\n : selfActive\n const link = renderLink(h, item.path, item.title || item.path, active)\n const configDepth = $page.frontmatter.sidebarDepth != null\n ? $page.frontmatter.sidebarDepth\n : $site.themeConfig.sidebarDepth\n const maxDepth = configDepth == null ? 1 : configDepth\n const displayAllHeaders = !!$site.themeConfig.displayAllHeaders\n if (item.type === 'auto') {\n return [link, renderChildren(h, item.children, item.basePath, $route, maxDepth)]\n } else if ((active || displayAllHeaders) && item.headers && !hashRE.test(item.path)) {\n const children = groupHeaders(item.headers)\n return [link, renderChildren(h, children, item.path, $route, maxDepth)]\n } else {\n return link\n }\n }\n}\n\nfunction renderLink (h, to, text, active) {\n return h('router-link', {\n props: {\n to,\n activeClass: '',\n exactActiveClass: ''\n },\n class: {\n active,\n 'sidebar-link': true\n }\n }, text)\n}\n\nfunction renderChildren (h, children, path, route, maxDepth, depth = 1) {\n if (!children || depth > maxDepth) return null\n return h('ul', { class: 'sidebar-sub-headers' }, children.map(c => {\n const active = isActive(route, path + '#' + c.slug)\n return h('li', { class: 'sidebar-sub-header' }, [\n renderLink(h, path + '#' + c.slug, c.title, active),\n renderChildren(h, c.children, path, route, maxDepth, depth + 1)\n ])\n }))\n}\n",{"version":3,"sources":["SidebarLink.vue"],"names":[],"mappings":";AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"SidebarLink.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<script>\nimport { isActive, hashRE, groupHeaders } from './util'\n\nexport default {\n functional: true,\n\n props: ['item'],\n\n render (h, { parent: { $page, $site, $route }, props: { item }}) {\n // use custom active class matching logic\n // due to edge case of paths ending with / + hash\n const selfActive = isActive($route, item.path)\n // for sidebar: auto pages, a hash link should be active if one of its child\n // matches\n const active = item.type === 'auto'\n ? selfActive || item.children.some(c => isActive($route, item.basePath + '#' + c.slug))\n : selfActive\n const link = renderLink(h, item.path, item.title || item.path, active)\n const configDepth = $page.frontmatter.sidebarDepth != null\n ? $page.frontmatter.sidebarDepth\n : $site.themeConfig.sidebarDepth\n const maxDepth = configDepth == null ? 1 : configDepth\n const displayAllHeaders = !!$site.themeConfig.displayAllHeaders\n if (item.type === 'auto') {\n return [link, renderChildren(h, item.children, item.basePath, $route, maxDepth)]\n } else if ((active || displayAllHeaders) && item.headers && !hashRE.test(item.path)) {\n const children = groupHeaders(item.headers)\n return [link, renderChildren(h, children, item.path, $route, maxDepth)]\n } else {\n return link\n }\n }\n}\n\nfunction renderLink (h, to, text, active) {\n return h('router-link', {\n props: {\n to,\n activeClass: '',\n exactActiveClass: ''\n },\n class: {\n active,\n 'sidebar-link': true\n }\n }, text)\n}\n\nfunction renderChildren (h, children, path, route, maxDepth, depth = 1) {\n if (!children || depth > maxDepth) return null\n return h('ul', { class: 'sidebar-sub-headers' }, children.map(c => {\n const active = isActive(route, path + '#' + c.slug)\n return h('li', { class: 'sidebar-sub-header' }, [\n renderLink(h, path + '#' + c.slug, c.title, active),\n renderChildren(h, c.children, path, route, maxDepth, depth + 1)\n ])\n }))\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.sidebar .sidebar-sub-headers\n padding-left 1rem\n font-size 0.95em\n\na.sidebar-link\n font-weight 400\n display inline-block\n color $textColor\n border-left 0.25rem solid transparent\n padding 0.35rem 1rem 0.35rem 1.25rem\n line-height 1.4\n width: 100%\n box-sizing: border-box\n &:hover\n color $accentColor\n &.active\n font-weight 600\n color $accentColor\n border-left-color $accentColor\n .sidebar-group &\n padding-left 2rem\n .sidebar-sub-headers &\n padding-top 0.25rem\n padding-bottom 0.25rem\n border-left none\n &.active\n font-weight 500\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b19c1bbbe2d8d8373b18b71857295ec8.json b/node_modules/vuepress/node_modules/.cache/vuepress/b19c1bbbe2d8d8373b18b71857295ec8.json new file mode 100644 index 00000000..25b8d688 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b19c1bbbe2d8d8373b18b71857295ec8.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/manual/introduction.md?vue&type=template&id=9104bc32&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/manual/introduction.md","mtime":1541555949495},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._ssrNode(\"<h1 id=\\\"title1\\\"><a href=\\\"#title1\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Title1</h1> <p></p><div class=\\\"table-of-contents\\\"><ul><li><a href=\\\"#title2\\\">Title2</a><ul><li><a href=\\\"#title3\\\">Title3</a></li><li><a href=\\\"#title3\\\">Title3</a></li></ul></li><li><a href=\\\"#title2\\\">Title2</a><ul><li><a href=\\\"#title3\\\">Title3</a></li></ul></li></ul></div><p></p> <h2 id=\\\"title2\\\"><a href=\\\"#title2\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Title2</h2> <h3 id=\\\"title3\\\"><a href=\\\"#title3\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Title3</h3> <h4 id=\\\"title4\\\"><a href=\\\"#title4\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Title4</h4> <h5 id=\\\"title5\\\"><a href=\\\"#title5\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Title5</h5> <p>...</p> <h5 id=\\\"title5-2\\\"><a href=\\\"#title5-2\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Title5</h5> <p>...</p> <h4 id=\\\"title4-2\\\"><a href=\\\"#title4-2\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Title4</h4> <p>...</p> <h3 id=\\\"title3-2\\\"><a href=\\\"#title3-2\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Title3</h3> <p>...</p> <h2 id=\\\"title2-2\\\"><a href=\\\"#title2-2\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Title2</h2> <p>...</p> <h3 id=\\\"title3-3\\\"><a href=\\\"#title3-3\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Title3</h3> <p>...</p>\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b213635176cb1515ba375ee228c5656d.json b/node_modules/vuepress/node_modules/.cache/vuepress/b213635176cb1515ba375ee228c5656d.json new file mode 100644 index 00000000..9a57e3cf --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b213635176cb1515ba375ee228c5656d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue?vue&type=template&id=67f2a5b2&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"sidebar-button\",\n on: {\n click: function($event) {\n _vm.$emit(\"toggle-sidebar\")\n }\n }\n },\n [\n _c(\n \"svg\",\n {\n staticClass: \"icon\",\n attrs: {\n xmlns: \"http://www.w3.org/2000/svg\",\n \"aria-hidden\": \"true\",\n role: \"img\",\n viewBox: \"0 0 448 512\"\n }\n },\n [\n _c(\"path\", {\n attrs: {\n fill: \"currentColor\",\n d:\n \"M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z\"\n }\n })\n ]\n )\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b229f1bde05d592588f44ace72db648d.json b/node_modules/vuepress/node_modules/.cache/vuepress/b229f1bde05d592588f44ace72db648d.json new file mode 100644 index 00000000..c7b2a12c --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b229f1bde05d592588f44ace72db648d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/guide/getting-started.md?vue&type=template&id=527ea621&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/guide/getting-started.md","mtime":1541554688137},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"getting-started\"><a class=\"header-anchor\" href=\"#getting-started\" aria-hidden=\"true\">#</a> Getting Started</h1>\n<p>Please install xmake first: <a href=\"https://github.com/tboox/xmake\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code><span class=\"token comment\"># build for the host platform</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake\n\n<span class=\"token comment\"># build for the mingw platform</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake f -p mingw --sdk<span class=\"token operator\">=</span>/home/mingwsdk \n$ xmake\n\n<span class=\"token comment\"># build for the iphoneos platform</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake f -p iphoneos \n$ xmake\n\n<span class=\"token comment\"># build for the android platform</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake f -p android --ndk<span class=\"token operator\">=</span>xxxxx\n$ xmake\n\n<span class=\"token comment\"># build for the linux cross-platform</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake f -p linux --sdk<span class=\"token operator\">=</span>/home/sdk <span class=\"token comment\"># --bin=/home/sdk/bin</span>\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"example\"><a class=\"header-anchor\" href=\"#example\" aria-hidden=\"true\">#</a> Example</h2>\n<!--beforebegin--><div class=\"language-c extra-class\"><!--afterbegin--><pre v-pre class=\"language-c\"><code><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">\"tbox/tbox.h\"</span></span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> argc<span class=\"token punctuation\">,</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span> argv<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// init tbox</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">tb_init</span><span class=\"token punctuation\">(</span>tb_null<span class=\"token punctuation\">,</span> tb_null<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"hello tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// init vector</span>\n tb_vector_ref_t vector <span class=\"token operator\">=</span> <span class=\"token function\">tb_vector_init</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">tb_element_cstr</span><span class=\"token punctuation\">(</span>tb_true<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// insert item</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// dump all items</span>\n tb_for_all <span class=\"token punctuation\">(</span>tb_char_t <span class=\"token keyword\">const</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">,</span> vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%s\"</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit vector</span>\n <span class=\"token function\">tb_vector_exit</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// init stream</span>\n tb_stream_ref_t stream <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_init_from_url</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"http://www.xxx.com/file.txt\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// open stream</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token function\">tb_stream_open</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// read line</span>\n tb_long_t size <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n tb_char_t line<span class=\"token punctuation\">[</span>TB_STREAM_BLOCK_MAXN<span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">while</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>size <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_bread_line</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">,</span> <span class=\"token keyword\">sizeof</span><span class=\"token punctuation\">(</span>line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">>=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"line: %s\"</span><span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit stream</span>\n <span class=\"token function\">tb_stream_exit</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// wait </span>\n <span class=\"token function\">getchar</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// exit tbox</span>\n <span class=\"token function\">tb_exit</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b242bd3e0a32abc02e671ff394be90b8.json b/node_modules/vuepress/node_modules/.cache/vuepress/b242bd3e0a32abc02e671ff394be90b8.json new file mode 100644 index 00000000..c3f91147 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b242bd3e0a32abc02e671ff394be90b8.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport SidebarLink from './SidebarLink.vue'\nimport DropdownTransition from './DropdownTransition.vue'\n\nexport default {\n name: 'SidebarGroup',\n props: ['item', 'first', 'open', 'collapsable'],\n components: { SidebarLink, DropdownTransition }\n}\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b291e280ba167670c912defdfa6981ea.json b/node_modules/vuepress/node_modules/.cache/vuepress/b291e280ba167670c912defdfa6981ea.json new file mode 100644 index 00000000..39c81aa4 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b291e280ba167670c912defdfa6981ea.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.sw-update-popup\n position fixed\n right 1em\n bottom 1em\n padding 1em\n border 1px solid $accentColor\n border-radius 3px\n background #fff\n box-shadow 0 4px 16px rgba(0, 0, 0, 0.5)\n text-align center\n\n button\n margin-top 0.5em\n padding 0.25em 2em\n\n.sw-update-popup-enter-active, .sw-update-popup-leave-active\n transition opacity 0.3s, transform 0.3s\n\n.sw-update-popup-enter, .sw-update-popup-leave-to\n opacity 0\n transform translate(0, 50%) scale(0.5)\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b324e1e955fba62aafdc570068f745db.json b/node_modules/vuepress/node_modules/.cache/vuepress/b324e1e955fba62aafdc570068f745db.json new file mode 100644 index 00000000..825d4c01 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b324e1e955fba62aafdc570068f745db.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Layout.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Layout.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport Vue from 'vue'\nimport nprogress from 'nprogress'\nimport Home from './Home.vue'\nimport Navbar from './Navbar.vue'\nimport Page from './Page.vue'\nimport Sidebar from './Sidebar.vue'\nimport SWUpdatePopup from './SWUpdatePopup.vue'\nimport { resolveSidebarItems } from './util'\n\nexport default {\n components: { Home, Page, Sidebar, Navbar, SWUpdatePopup },\n\n data () {\n return {\n isSidebarOpen: false,\n swUpdateEvent: null\n }\n },\n\n computed: {\n shouldShowNavbar () {\n const { themeConfig } = this.$site\n const { frontmatter } = this.$page\n if (\n frontmatter.navbar === false ||\n themeConfig.navbar === false) {\n return false\n }\n return (\n this.$title ||\n themeConfig.logo ||\n themeConfig.repo ||\n themeConfig.nav ||\n this.$themeLocaleConfig.nav\n )\n },\n\n shouldShowSidebar () {\n const { frontmatter } = this.$page\n return (\n !frontmatter.layout &&\n !frontmatter.home &&\n frontmatter.sidebar !== false &&\n this.sidebarItems.length\n )\n },\n\n sidebarItems () {\n return resolveSidebarItems(\n this.$page,\n this.$route,\n this.$site,\n this.$localePath\n )\n },\n\n pageClasses () {\n const userPageClass = this.$page.frontmatter.pageClass\n return [\n {\n 'no-navbar': !this.shouldShowNavbar,\n 'sidebar-open': this.isSidebarOpen,\n 'no-sidebar': !this.shouldShowSidebar\n },\n userPageClass\n ]\n }\n },\n\n mounted () {\n window.addEventListener('scroll', this.onScroll)\n\n // configure progress bar\n nprogress.configure({ showSpinner: false })\n\n this.$router.beforeEach((to, from, next) => {\n if (to.path !== from.path && !Vue.component(to.name)) {\n nprogress.start()\n }\n next()\n })\n\n this.$router.afterEach(() => {\n nprogress.done()\n this.isSidebarOpen = false\n })\n\n this.$on('sw-updated', this.onSWUpdated)\n },\n\n methods: {\n toggleSidebar (to) {\n this.isSidebarOpen = typeof to === 'boolean' ? to : !this.isSidebarOpen\n },\n\n // side swipe\n onTouchStart (e) {\n this.touchStart = {\n x: e.changedTouches[0].clientX,\n y: e.changedTouches[0].clientY\n }\n },\n\n onTouchEnd (e) {\n const dx = e.changedTouches[0].clientX - this.touchStart.x\n const dy = e.changedTouches[0].clientY - this.touchStart.y\n if (Math.abs(dx) > Math.abs(dy) && Math.abs(dx) > 40) {\n if (dx > 0 && this.touchStart.x <= 80) {\n this.toggleSidebar(true)\n } else {\n this.toggleSidebar(false)\n }\n }\n },\n\n onSWUpdated (e) {\n this.swUpdateEvent = e\n }\n }\n}\n",{"version":3,"sources":["Layout.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA","file":"Layout.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <div\n class=\"theme-container\"\n :class=\"pageClasses\"\n @touchstart=\"onTouchStart\"\n @touchend=\"onTouchEnd\"\n >\n <Navbar\n v-if=\"shouldShowNavbar\"\n @toggle-sidebar=\"toggleSidebar\"\n />\n\n <div\n class=\"sidebar-mask\"\n @click=\"toggleSidebar(false)\"\n ></div>\n\n <Sidebar\n :items=\"sidebarItems\"\n @toggle-sidebar=\"toggleSidebar\"\n >\n <slot\n name=\"sidebar-top\"\n slot=\"top\"\n />\n <slot\n name=\"sidebar-bottom\"\n slot=\"bottom\"\n />\n </Sidebar>\n\n <div\n class=\"custom-layout\"\n v-if=\"$page.frontmatter.layout\"\n >\n <component :is=\"$page.frontmatter.layout\"/>\n </div>\n\n <Home v-else-if=\"$page.frontmatter.home\"/>\n\n <Page\n v-else\n :sidebar-items=\"sidebarItems\"\n >\n <slot\n name=\"page-top\"\n slot=\"top\"\n />\n <slot\n name=\"page-bottom\"\n slot=\"bottom\"\n />\n </Page>\n\n <SWUpdatePopup :updateEvent=\"swUpdateEvent\"/>\n </div>\n</template>\n\n<script>\nimport Vue from 'vue'\nimport nprogress from 'nprogress'\nimport Home from './Home.vue'\nimport Navbar from './Navbar.vue'\nimport Page from './Page.vue'\nimport Sidebar from './Sidebar.vue'\nimport SWUpdatePopup from './SWUpdatePopup.vue'\nimport { resolveSidebarItems } from './util'\n\nexport default {\n components: { Home, Page, Sidebar, Navbar, SWUpdatePopup },\n\n data () {\n return {\n isSidebarOpen: false,\n swUpdateEvent: null\n }\n },\n\n computed: {\n shouldShowNavbar () {\n const { themeConfig } = this.$site\n const { frontmatter } = this.$page\n if (\n frontmatter.navbar === false ||\n themeConfig.navbar === false) {\n return false\n }\n return (\n this.$title ||\n themeConfig.logo ||\n themeConfig.repo ||\n themeConfig.nav ||\n this.$themeLocaleConfig.nav\n )\n },\n\n shouldShowSidebar () {\n const { frontmatter } = this.$page\n return (\n !frontmatter.layout &&\n !frontmatter.home &&\n frontmatter.sidebar !== false &&\n this.sidebarItems.length\n )\n },\n\n sidebarItems () {\n return resolveSidebarItems(\n this.$page,\n this.$route,\n this.$site,\n this.$localePath\n )\n },\n\n pageClasses () {\n const userPageClass = this.$page.frontmatter.pageClass\n return [\n {\n 'no-navbar': !this.shouldShowNavbar,\n 'sidebar-open': this.isSidebarOpen,\n 'no-sidebar': !this.shouldShowSidebar\n },\n userPageClass\n ]\n }\n },\n\n mounted () {\n window.addEventListener('scroll', this.onScroll)\n\n // configure progress bar\n nprogress.configure({ showSpinner: false })\n\n this.$router.beforeEach((to, from, next) => {\n if (to.path !== from.path && !Vue.component(to.name)) {\n nprogress.start()\n }\n next()\n })\n\n this.$router.afterEach(() => {\n nprogress.done()\n this.isSidebarOpen = false\n })\n\n this.$on('sw-updated', this.onSWUpdated)\n },\n\n methods: {\n toggleSidebar (to) {\n this.isSidebarOpen = typeof to === 'boolean' ? to : !this.isSidebarOpen\n },\n\n // side swipe\n onTouchStart (e) {\n this.touchStart = {\n x: e.changedTouches[0].clientX,\n y: e.changedTouches[0].clientY\n }\n },\n\n onTouchEnd (e) {\n const dx = e.changedTouches[0].clientX - this.touchStart.x\n const dy = e.changedTouches[0].clientY - this.touchStart.y\n if (Math.abs(dx) > Math.abs(dy) && Math.abs(dx) > 40) {\n if (dx > 0 && this.touchStart.x <= 80) {\n this.toggleSidebar(true)\n } else {\n this.toggleSidebar(false)\n }\n }\n },\n\n onSWUpdated (e) {\n this.swUpdateEvent = e\n }\n }\n}\n</script>\n\n<style src=\"prismjs/themes/prism-tomorrow.css\"></style>\n<style src=\"./styles/theme.styl\" lang=\"stylus\"></style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b379aeb66aa56c31c4db85e3bcb5cded.json b/node_modules/vuepress/node_modules/.cache/vuepress/b379aeb66aa56c31c4db85e3bcb5cded.json new file mode 100644 index 00000000..bfc48b78 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b379aeb66aa56c31c4db85e3bcb5cded.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/Badge.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/Badge.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["export default {\n functional: true,\n props: {\n type: {\n type: String,\n default: 'tip'\n },\n text: String,\n vertical: {\n type: String,\n default: 'top'\n }\n },\n render: function render(h, _ref) {\n var props = _ref.props,\n slots = _ref.slots;\n return h('span', {\n class: ['badge', props.type, props.vertical]\n }, props.text || slots().default);\n }\n};",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b464fef3c2468aebd34d4e1400f3a6da.json b/node_modules/vuepress/node_modules/.cache/vuepress/b464fef3c2468aebd34d4e1400f3a6da.json new file mode 100644 index 00000000..849ab4e3 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b464fef3c2468aebd34d4e1400f3a6da.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/manual/introduction.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/manual/introduction.md","mtime":1541555949495},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./introduction.md?vue&type=template&id=9104bc32&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"introduction.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b49c4ebdd55eef615d904dd07e0c0909.json b/node_modules/vuepress/node_modules/.cache/vuepress/b49c4ebdd55eef615d904dd07e0c0909.json new file mode 100644 index 00000000..0512317a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b49c4ebdd55eef615d904dd07e0c0909.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/api/introduction.md?vue&type=template&id=c58bf996&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/api/introduction.md","mtime":1541569456015},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._ssrNode(\"<h1 id=\\\"title1\\\"><a href=\\\"#title1\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Title1</h1> <p></p><div class=\\\"table-of-contents\\\"><ul><li><a href=\\\"#title2\\\">Title2</a><ul><li><a href=\\\"#title3\\\">Title3</a></li><li><a href=\\\"#title3\\\">Title3</a></li></ul></li><li><a href=\\\"#title2\\\">Title2</a><ul><li><a href=\\\"#title3\\\">Title3</a></li></ul></li></ul></div><p></p> <h2 id=\\\"title2\\\"><a href=\\\"#title2\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Title2</h2> <h3 id=\\\"title3\\\"><a href=\\\"#title3\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Title3</h3> <h4 id=\\\"title4\\\"><a href=\\\"#title4\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Title4</h4> <h5 id=\\\"title5\\\"><a href=\\\"#title5\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Title5</h5> <p>...</p> <h5 id=\\\"title5-2\\\"><a href=\\\"#title5-2\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Title5</h5> <p>...</p> <h4 id=\\\"title4-2\\\"><a href=\\\"#title4-2\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Title4</h4> <p>...</p> <h3 id=\\\"title3-2\\\"><a href=\\\"#title3-2\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Title3</h3> <p>...</p> <h2 id=\\\"title2-2\\\"><a href=\\\"#title2-2\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Title2</h2> <p>...</p> <h3 id=\\\"title3-3\\\"><a href=\\\"#title3-3\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Title3</h3> <p>...</p>\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b4de17d0f3db7fbe9c44889d45186865.json b/node_modules/vuepress/node_modules/.cache/vuepress/b4de17d0f3db7fbe9c44889d45186865.json new file mode 100644 index 00000000..9b57611e --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b4de17d0f3db7fbe9c44889d45186865.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/README.md?vue&type=template&id=53d784ef&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/README.md","mtime":1541488927605},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b56058b14e31e6166a683a207382370b.json b/node_modules/vuepress/node_modules/.cache/vuepress/b56058b14e31e6166a683a207382370b.json new file mode 100644 index 00000000..ec7b49ab --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b56058b14e31e6166a683a207382370b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Page.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Page.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import _toConsumableArray from \"/Users/ruki/projects/personal/xmake-docs/node_modules/@babel/runtime/helpers/builtin/es6/toConsumableArray\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.regexp.replace\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport { resolvePage, normalize, outboundRE, endingSlashRE } from './util';\nexport default {\n props: ['sidebarItems'],\n computed: {\n lastUpdated: function lastUpdated() {\n if (this.$page.lastUpdated) {\n return new Date(this.$page.lastUpdated).toLocaleString(this.$lang);\n }\n },\n lastUpdatedText: function lastUpdatedText() {\n if (typeof this.$themeLocaleConfig.lastUpdated === 'string') {\n return this.$themeLocaleConfig.lastUpdated;\n }\n\n if (typeof this.$site.themeConfig.lastUpdated === 'string') {\n return this.$site.themeConfig.lastUpdated;\n }\n\n return 'Last Updated';\n },\n prev: function prev() {\n var prev = this.$page.frontmatter.prev;\n\n if (prev === false) {\n return;\n } else if (prev) {\n return resolvePage(this.$site.pages, prev, this.$route.path);\n } else {\n return resolvePrev(this.$page, this.sidebarItems);\n }\n },\n next: function next() {\n var next = this.$page.frontmatter.next;\n\n if (next === false) {\n return;\n } else if (next) {\n return resolvePage(this.$site.pages, next, this.$route.path);\n } else {\n return resolveNext(this.$page, this.sidebarItems);\n }\n },\n editLink: function editLink() {\n if (this.$page.frontmatter.editLink === false) {\n return;\n }\n\n var _this$$site$themeConf = this.$site.themeConfig,\n repo = _this$$site$themeConf.repo,\n editLinks = _this$$site$themeConf.editLinks,\n _this$$site$themeConf2 = _this$$site$themeConf.docsDir,\n docsDir = _this$$site$themeConf2 === void 0 ? '' : _this$$site$themeConf2,\n _this$$site$themeConf3 = _this$$site$themeConf.docsBranch,\n docsBranch = _this$$site$themeConf3 === void 0 ? 'master' : _this$$site$themeConf3,\n _this$$site$themeConf4 = _this$$site$themeConf.docsRepo,\n docsRepo = _this$$site$themeConf4 === void 0 ? repo : _this$$site$themeConf4;\n var path = normalize(this.$page.path);\n\n if (endingSlashRE.test(path)) {\n path += 'README.md';\n } else {\n path += '.md';\n }\n\n if (docsRepo && editLinks) {\n return this.createEditLink(repo, docsRepo, docsDir, docsBranch, path);\n }\n },\n editLinkText: function editLinkText() {\n return this.$themeLocaleConfig.editLinkText || this.$site.themeConfig.editLinkText || \"Edit this page\";\n }\n },\n methods: {\n createEditLink: function createEditLink(repo, docsRepo, docsDir, docsBranch, path) {\n var bitbucket = /bitbucket.org/;\n\n if (bitbucket.test(repo)) {\n var _base = outboundRE.test(docsRepo) ? docsRepo : repo;\n\n return _base.replace(endingSlashRE, '') + \"/\".concat(docsBranch) + (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') + path + \"?mode=edit&spa=0&at=\".concat(docsBranch, \"&fileviewer=file-view-default\");\n }\n\n var base = outboundRE.test(docsRepo) ? docsRepo : \"https://github.com/\".concat(docsRepo);\n return base.replace(endingSlashRE, '') + \"/edit/\".concat(docsBranch) + (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') + path;\n }\n }\n};\n\nfunction resolvePrev(page, items) {\n return find(page, items, -1);\n}\n\nfunction resolveNext(page, items) {\n return find(page, items, 1);\n}\n\nfunction find(page, items, offset) {\n var res = [];\n items.forEach(function (item) {\n if (item.type === 'group') {\n res.push.apply(res, _toConsumableArray(item.children || []));\n } else {\n res.push(item);\n }\n });\n\n for (var i = 0; i < res.length; i++) {\n var cur = res[i];\n\n if (cur.type === 'page' && cur.path === page.path) {\n return res[i + offset];\n }\n }\n}",{"version":3,"sources":["Page.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgEA,SAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,aAAA,QAAA,QAAA;AAEA,eAAA;AACA,SAAA,CAAA,cAAA,CADA;AAGA,YAAA;AACA,eADA,yBACA;AACA,UAAA,KAAA,KAAA,CAAA,WAAA,EAAA;AACA,eAAA,IAAA,IAAA,CAAA,KAAA,KAAA,CAAA,WAAA,EAAA,cAAA,CAAA,KAAA,KAAA,CAAA;AACA;AACA,KALA;AAOA,mBAPA,6BAOA;AACA,UAAA,OAAA,KAAA,kBAAA,CAAA,WAAA,KAAA,QAAA,EAAA;AACA,eAAA,KAAA,kBAAA,CAAA,WAAA;AACA;;AACA,UAAA,OAAA,KAAA,KAAA,CAAA,WAAA,CAAA,WAAA,KAAA,QAAA,EAAA;AACA,eAAA,KAAA,KAAA,CAAA,WAAA,CAAA,WAAA;AACA;;AACA,aAAA,cAAA;AACA,KAfA;AAiBA,QAjBA,kBAiBA;AACA,UAAA,OAAA,KAAA,KAAA,CAAA,WAAA,CAAA,IAAA;;AACA,UAAA,SAAA,KAAA,EAAA;AACA;AACA,OAFA,MAEA,IAAA,IAAA,EAAA;AACA,eAAA,YAAA,KAAA,KAAA,CAAA,KAAA,EAAA,IAAA,EAAA,KAAA,MAAA,CAAA,IAAA,CAAA;AACA,OAFA,MAEA;AACA,eAAA,YAAA,KAAA,KAAA,EAAA,KAAA,YAAA,CAAA;AACA;AACA,KA1BA;AA4BA,QA5BA,kBA4BA;AACA,UAAA,OAAA,KAAA,KAAA,CAAA,WAAA,CAAA,IAAA;;AACA,UAAA,SAAA,KAAA,EAAA;AACA;AACA,OAFA,MAEA,IAAA,IAAA,EAAA;AACA,eAAA,YAAA,KAAA,KAAA,CAAA,KAAA,EAAA,IAAA,EAAA,KAAA,MAAA,CAAA,IAAA,CAAA;AACA,OAFA,MAEA;AACA,eAAA,YAAA,KAAA,KAAA,EAAA,KAAA,YAAA,CAAA;AACA;AACA,KArCA;AAuCA,YAvCA,sBAuCA;AACA,UAAA,KAAA,KAAA,CAAA,WAAA,CAAA,QAAA,KAAA,KAAA,EAAA;AACA;AACA;;AAHA,kCAUA,KAAA,KAAA,CAAA,WAVA;AAAA,UAKA,IALA,yBAKA,IALA;AAAA,UAMA,SANA,yBAMA,SANA;AAAA,yDAOA,OAPA;AAAA,UAOA,OAPA,uCAOA,EAPA;AAAA,yDAQA,UARA;AAAA,UAQA,UARA,uCAQA,QARA;AAAA,yDASA,QATA;AAAA,UASA,QATA,uCASA,IATA;AAYA,UAAA,OAAA,UAAA,KAAA,KAAA,CAAA,IAAA,CAAA;;AACA,UAAA,cAAA,IAAA,CAAA,IAAA,CAAA,EAAA;AACA,gBAAA,WAAA;AACA,OAFA,MAEA;AACA,gBAAA,KAAA;AACA;;AACA,UAAA,YAAA,SAAA,EAAA;AACA,eAAA,KAAA,cAAA,CAAA,IAAA,EAAA,QAAA,EAAA,OAAA,EAAA,UAAA,EAAA,IAAA,CAAA;AACA;AACA,KA5DA;AA8DA,gBA9DA,0BA8DA;AACA,aACA,KAAA,kBAAA,CAAA,YAAA,IACA,KAAA,KAAA,CAAA,WAAA,CAAA,YADA,oBADA;AAKA;AApEA,GAHA;AA0EA,WAAA;AACA,kBADA,0BACA,IADA,EACA,QADA,EACA,OADA,EACA,UADA,EACA,IADA,EACA;AACA,UAAA,YAAA,eAAA;;AACA,UAAA,UAAA,IAAA,CAAA,IAAA,CAAA,EAAA;AACA,YAAA,QAAA,WAAA,IAAA,CAAA,QAAA,IACA,QADA,GAEA,IAFA;;AAGA,eACA,MAAA,OAAA,CAAA,aAAA,EAAA,EAAA,eACA,UADA,KAEA,UAAA,MAAA,QAAA,OAAA,CAAA,aAAA,EAAA,EAAA,CAAA,GAAA,EAFA,IAGA,IAHA,iCAIA,UAJA,kCADA;AAOA;;AAEA,UAAA,OAAA,WAAA,IAAA,CAAA,QAAA,IACA,QADA,gCAEA,QAFA,CAAA;AAIA,aACA,KAAA,OAAA,CAAA,aAAA,EAAA,EAAA,oBACA,UADA,KAEA,UAAA,MAAA,QAAA,OAAA,CAAA,aAAA,EAAA,EAAA,CAAA,GAAA,EAFA,IAGA,IAJA;AAMA;AA1BA;AA1EA,CAAA;;AAwGA,SAAA,WAAA,CAAA,IAAA,EAAA,KAAA,EAAA;AACA,SAAA,KAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AACA;;AAEA,SAAA,WAAA,CAAA,IAAA,EAAA,KAAA,EAAA;AACA,SAAA,KAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAA;AACA;;AAEA,SAAA,IAAA,CAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA;AACA,MAAA,MAAA,EAAA;AACA,QAAA,OAAA,CAAA,gBAAA;AACA,QAAA,KAAA,IAAA,KAAA,OAAA,EAAA;AACA,UAAA,IAAA,+BAAA,KAAA,QAAA,IAAA,EAAA;AACA,KAFA,MAEA;AACA,UAAA,IAAA,CAAA,IAAA;AACA;AACA,GANA;;AAOA,OAAA,IAAA,IAAA,CAAA,EAAA,IAAA,IAAA,MAAA,EAAA,GAAA,EAAA;AACA,QAAA,MAAA,IAAA,CAAA,CAAA;;AACA,QAAA,IAAA,IAAA,KAAA,MAAA,IAAA,IAAA,IAAA,KAAA,KAAA,IAAA,EAAA;AACA,aAAA,IAAA,IAAA,MAAA,CAAA;AACA;AACA;AACA","sourcesContent":["<template>\n <div class=\"page\">\n <slot name=\"top\"/>\n\n <Content :custom=\"false\"/>\n\n <div class=\"page-edit\">\n <div\n class=\"edit-link\"\n v-if=\"editLink\"\n >\n <a\n :href=\"editLink\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >{{ editLinkText }}</a>\n <OutboundLink/>\n </div>\n\n <div\n class=\"last-updated\"\n v-if=\"lastUpdated\"\n >\n <span class=\"prefix\">{{ lastUpdatedText }}: </span>\n <span class=\"time\">{{ lastUpdated }}</span>\n </div>\n </div>\n\n <div class=\"page-nav\" v-if=\"prev || next\">\n <p class=\"inner\">\n <span\n v-if=\"prev\"\n class=\"prev\"\n >\n ←\n <router-link\n v-if=\"prev\"\n class=\"prev\"\n :to=\"prev.path\"\n >\n {{ prev.title || prev.path }}\n </router-link>\n </span>\n\n <span\n v-if=\"next\"\n class=\"next\"\n >\n <router-link\n v-if=\"next\"\n :to=\"next.path\"\n >\n {{ next.title || next.path }}\n </router-link>\n →\n </span>\n </p>\n </div>\n\n <slot name=\"bottom\"/>\n </div>\n</template>\n\n<script>\nimport { resolvePage, normalize, outboundRE, endingSlashRE } from './util'\n\nexport default {\n props: ['sidebarItems'],\n\n computed: {\n lastUpdated () {\n if (this.$page.lastUpdated) {\n return new Date(this.$page.lastUpdated).toLocaleString(this.$lang)\n }\n },\n\n lastUpdatedText () {\n if (typeof this.$themeLocaleConfig.lastUpdated === 'string') {\n return this.$themeLocaleConfig.lastUpdated\n }\n if (typeof this.$site.themeConfig.lastUpdated === 'string') {\n return this.$site.themeConfig.lastUpdated\n }\n return 'Last Updated'\n },\n\n prev () {\n const prev = this.$page.frontmatter.prev\n if (prev === false) {\n return\n } else if (prev) {\n return resolvePage(this.$site.pages, prev, this.$route.path)\n } else {\n return resolvePrev(this.$page, this.sidebarItems)\n }\n },\n\n next () {\n const next = this.$page.frontmatter.next\n if (next === false) {\n return\n } else if (next) {\n return resolvePage(this.$site.pages, next, this.$route.path)\n } else {\n return resolveNext(this.$page, this.sidebarItems)\n }\n },\n\n editLink () {\n if (this.$page.frontmatter.editLink === false) {\n return\n }\n const {\n repo,\n editLinks,\n docsDir = '',\n docsBranch = 'master',\n docsRepo = repo\n } = this.$site.themeConfig\n\n let path = normalize(this.$page.path)\n if (endingSlashRE.test(path)) {\n path += 'README.md'\n } else {\n path += '.md'\n }\n if (docsRepo && editLinks) {\n return this.createEditLink(repo, docsRepo, docsDir, docsBranch, path)\n }\n },\n\n editLinkText () {\n return (\n this.$themeLocaleConfig.editLinkText ||\n this.$site.themeConfig.editLinkText ||\n `Edit this page`\n )\n }\n },\n\n methods: {\n createEditLink (repo, docsRepo, docsDir, docsBranch, path) {\n const bitbucket = /bitbucket.org/\n if (bitbucket.test(repo)) {\n const base = outboundRE.test(docsRepo)\n ? docsRepo\n : repo\n return (\n base.replace(endingSlashRE, '') +\n `/${docsBranch}` +\n (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') +\n path +\n `?mode=edit&spa=0&at=${docsBranch}&fileviewer=file-view-default`\n )\n }\n\n const base = outboundRE.test(docsRepo)\n ? docsRepo\n : `https://github.com/${docsRepo}`\n\n return (\n base.replace(endingSlashRE, '') +\n `/edit/${docsBranch}` +\n (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') +\n path\n )\n }\n }\n}\n\nfunction resolvePrev (page, items) {\n return find(page, items, -1)\n}\n\nfunction resolveNext (page, items) {\n return find(page, items, 1)\n}\n\nfunction find (page, items, offset) {\n const res = []\n items.forEach(item => {\n if (item.type === 'group') {\n res.push(...item.children || [])\n } else {\n res.push(item)\n }\n })\n for (let i = 0; i < res.length; i++) {\n const cur = res[i]\n if (cur.type === 'page' && cur.path === page.path) {\n return res[i + offset]\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n@require './styles/wrapper.styl'\n\n.page\n padding-bottom 2rem\n\n.page-edit\n @extend $wrapper\n padding-top 1rem\n padding-bottom 1rem\n overflow auto\n .edit-link\n display inline-block\n a\n color lighten($textColor, 25%)\n margin-right 0.25rem\n .last-updated\n float right\n font-size 0.9em\n .prefix\n font-weight 500\n color lighten($textColor, 25%)\n .time\n font-weight 400\n color #aaa\n\n.page-nav\n @extend $wrapper\n padding-top 1rem\n padding-bottom 0\n .inner\n min-height 2rem\n margin-top 0\n border-top 1px solid $borderColor\n padding-top 1rem\n overflow auto // clear float\n .next\n float right\n\n@media (max-width: $MQMobile)\n .page-edit\n .edit-link\n margin-bottom .5rem\n .last-updated\n font-size .8em\n float none\n text-align left\n\n</style>\n"],"sourceRoot":"node_modules/vuepress/lib/default-theme"}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b562d5325d06b29e93af1964389f4158.json b/node_modules/vuepress/node_modules/.cache/vuepress/b562d5325d06b29e93af1964389f4158.json new file mode 100644 index 00000000..93df9f47 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b562d5325d06b29e93af1964389f4158.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/guide/introduction.md?vue&type=template&id=b5b1b492&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/guide/introduction.md","mtime":1541555923022},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"introduction\"><a class=\"header-anchor\" href=\"#introduction\" aria-hidden=\"true\">#</a> Introduction</h1>\n<p>TBOX is a glib-like cross-platform C library that is simple to use yet powerful in nature.</p>\n<p>The project focuses on making C development easier and provides many modules (.e.g stream, coroutine, regex, container, algorithm ...),\nso that any developer can quickly pick it up and enjoy the productivity boost when developing in C language.</p>\n<p>It supports the following platforms:</p>\n<ul>\n<li>Windows</li>\n<li>Macosx</li>\n<li>Linux</li>\n<li>Android</li>\n<li>iOS</li>\n</ul>\n<p>And it provides many compiling options using <a href=\"http://www.xmake.io\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a>:</p>\n<ul>\n<li>Release: Disable debug information, assertion, memory checking and enable optimization.</li>\n<li>Debug: Enable debug information, assertion, memory checking and disable optimization.</li>\n<li>Small: Disable all extensional modules and enable space optimization.</li>\n<li>Micro: compiling micro library (~64K) for the embed system.</li>\n</ul>\n<p>If you want to know more, please refer to:</p>\n<ul>\n<li><a href=\"http://tboox.org\" target=\"_blank\" rel=\"noopener noreferrer\">HomePage<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/documents\" target=\"_blank\" rel=\"noopener noreferrer\">Documents<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Github<OutboundLink/></a></li>\n<li><a href=\"https://gitee.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Gitee<OutboundLink/></a></li>\n</ul>\n<h2 id=\"features\"><a class=\"header-anchor\" href=\"#features\" aria-hidden=\"true\">#</a> Features</h2>\n<h4 id=\"the-stream-library\"><a class=\"header-anchor\" href=\"#the-stream-library\" aria-hidden=\"true\">#</a> The stream library</h4>\n<ul>\n<li>Supports file, data, http and socket source</li>\n<li>Supports the stream filter for gzip, charset and...</li>\n<li>Implements stream transfer</li>\n<li>Implements the static buffer stream for parsing data</li>\n<li>Supports coroutine and implements asynchronous operation</li>\n</ul>\n<h4 id=\"the-coroutine-library\"><a class=\"header-anchor\" href=\"#the-coroutine-library\" aria-hidden=\"true\">#</a> The coroutine library</h4>\n<ul>\n<li>Provides high-performance coroutine switch(refer to <a href=\"http://tboox.org/2016/10/28/benchbox-coroutine/\" target=\"_blank\" rel=\"noopener noreferrer\">reports<OutboundLink/></a>)</li>\n<li>Supports arm, arm64, x86, x86_64 ..</li>\n<li>Provides channel interfaces</li>\n<li>Provides semaphore and lock interfaces</li>\n<li>Supports io socket and stream operation in coroutine</li>\n<li>Provides some io servers (http ..) using coroutine</li>\n<li>Provides stackfull and stackless coroutines</li>\n<li>Support epoll, kqueue, poll, select and IOCP</li>\n</ul>\n<h4 id=\"the-database-library\"><a class=\"header-anchor\" href=\"#the-database-library\" aria-hidden=\"true\">#</a> The database library</h4>\n<ul>\n<li>Supports mysql and sqlite3 database and enumerates data using the iterator mode</li>\n</ul>\n<h4 id=\"the-xml-parser-library\"><a class=\"header-anchor\" href=\"#the-xml-parser-library\" aria-hidden=\"true\">#</a> The xml parser library</h4>\n<ul>\n<li>Supports DOM and SAX mode and Supports xpath</li>\n</ul>\n<h4 id=\"the-serialization-and-deserialization-library\"><a class=\"header-anchor\" href=\"#the-serialization-and-deserialization-library\" aria-hidden=\"true\">#</a> The serialization and deserialization library</h4>\n<ul>\n<li>Supports xml, json, bplist, xplist, binary formats</li>\n</ul>\n<h4 id=\"the-memory-library\"><a class=\"header-anchor\" href=\"#the-memory-library\" aria-hidden=\"true\">#</a> The memory library</h4>\n<ul>\n<li>Implements some memory pools for optimizing memory</li>\n<li>Supports fast memory error detecting. it can detect the following types of bugs for the debug mode:\n<ul>\n<li>out-of-bounds accesses to heap and globals</li>\n<li>use-after-free</li>\n<li>double-free, invalid free</li>\n<li>memory leaks</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"the-container-library\"><a class=\"header-anchor\" href=\"#the-container-library\" aria-hidden=\"true\">#</a> The container library</h4>\n<ul>\n<li>Implements hash table, single list, double list, vector, stack, queue\nand min/max heap. Supports iterator mode for algorithm</li>\n</ul>\n<h4 id=\"the-algorithm-library\"><a class=\"header-anchor\" href=\"#the-algorithm-library\" aria-hidden=\"true\">#</a> The algorithm library</h4>\n<ul>\n<li>Uses the iterator mode</li>\n<li>Implements find, binary find and reverse find algorithm</li>\n<li>Implements sort, bubble sort, quick sort, heap sort and insert sort algorithm</li>\n<li>Implements count, walk items, reverse walk items, for_all and rfor_all</li>\n</ul>\n<h4 id=\"the-network-library\"><a class=\"header-anchor\" href=\"#the-network-library\" aria-hidden=\"true\">#</a> The network library</h4>\n<ul>\n<li>Implements dns(cached)</li>\n<li>Implements ssl(openssl, polarssl, mbedtls)</li>\n<li>Implements http</li>\n<li>Implements cookies</li>\n<li>Supports ipv4, ipv6</li>\n<li>Supports coroutine</li>\n</ul>\n<h4 id=\"the-platform-library\"><a class=\"header-anchor\" href=\"#the-platform-library\" aria-hidden=\"true\">#</a> The platform library</h4>\n<ul>\n<li>Implements timer, fast and low precision timer</li>\n<li>Implements atomic and atomic64 operation</li>\n<li>Implements spinlock, mutex, event, semaphore, thread and thread pool</li>\n<li>Implements file, socket operation</li>\n<li>Implements poller using epoll, poll, select, kqueue ...</li>\n<li>Implements switch context interfaces for coroutine</li>\n</ul>\n<h4 id=\"the-charset-library\"><a class=\"header-anchor\" href=\"#the-charset-library\" aria-hidden=\"true\">#</a> The charset library</h4>\n<ul>\n<li>Supports utf8, utf16, gbk, gb2312, uc2 and uc4</li>\n<li>Supports big endian and little endian mode</li>\n</ul>\n<h4 id=\"the-zip-library\"><a class=\"header-anchor\" href=\"#the-zip-library\" aria-hidden=\"true\">#</a> The zip library</h4>\n<ul>\n<li>Supports gzip, zlibraw, zlib formats using the zlib library if exists</li>\n<li>Implements lzsw, lz77 and rlc algorithm</li>\n</ul>\n<h4 id=\"the-utils-library\"><a class=\"header-anchor\" href=\"#the-utils-library\" aria-hidden=\"true\">#</a> The utils library</h4>\n<ul>\n<li>Implements base32, base64 encoder and decoder</li>\n<li>Implements assert and trace output for the debug mode</li>\n<li>Implements bits operation for parsing u8, u16, u32, u64 data</li>\n</ul>\n<h4 id=\"the-math-library\"><a class=\"header-anchor\" href=\"#the-math-library\" aria-hidden=\"true\">#</a> The math library</h4>\n<ul>\n<li>Implements random generator</li>\n<li>Implements fast fixed-point calculation, Supports 6-bits, 16-bits, 30-bits fixed-point number</li>\n</ul>\n<h4 id=\"the-libc-library\"><a class=\"header-anchor\" href=\"#the-libc-library\" aria-hidden=\"true\">#</a> The libc library</h4>\n<ul>\n<li>Implements lightweight libc library interfaces, the interface name contains <code>tb_xxx</code> prefix for avoiding conflict</li>\n<li>Implements strixxx strrxxx wcsixxx wcsrxxx interface extension</li>\n<li>Optimizes some frequently-used interface, .e.g. memset, memcpy, strcpy ...</li>\n<li>Implements <code>memset_u16</code>, <code>memset_u32</code>, <code>memset_u64</code> extension interfaces</li>\n</ul>\n<h4 id=\"the-libm-library\"><a class=\"header-anchor\" href=\"#the-libm-library\" aria-hidden=\"true\">#</a> The libm library</h4>\n<ul>\n<li>Implements lightweight libm library interfaces, the interface name contains <code>tb_xxx</code> prefix for avoiding conflict</li>\n<li>Supports float and double type</li>\n</ul>\n<h4 id=\"the-regex-library\"><a class=\"header-anchor\" href=\"#the-regex-library\" aria-hidden=\"true\">#</a> The regex library</h4>\n<ul>\n<li>Supports match and replace</li>\n<li>Supports global/multiline/caseless mode</li>\n<li>Uses pcre, pcre2 and posix regex modules</li>\n</ul>\n<h4 id=\"the-hash-library\"><a class=\"header-anchor\" href=\"#the-hash-library\" aria-hidden=\"true\">#</a> The hash library</h4>\n<ul>\n<li>Implements crc32, adler32, md5 and sha1 hash algorithm</li>\n<li>Implements some string hash algorithms (.e.g bkdr, fnv32, fnv64, sdbm, djb2, rshash, aphash ...)</li>\n<li>Implements uuid generator</li>\n</ul>\n<h2 id=\"projects\"><a class=\"header-anchor\" href=\"#projects\" aria-hidden=\"true\">#</a> Projects</h2>\n<p>Some projects using tbox:</p>\n<ul>\n<li><a href=\"https://github.com/tboox/gbox\" target=\"_blank\" rel=\"noopener noreferrer\">gbox<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/vm86\" target=\"_blank\" rel=\"noopener noreferrer\">vm86<OutboundLink/></a></li>\n<li><a href=\"http://www.xmake.io\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/itrace\" target=\"_blank\" rel=\"noopener noreferrer\">itrace<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/tbox-projects\" target=\"_blank\" rel=\"noopener noreferrer\">more<OutboundLink/></a></li>\n</ul>\n<h2 id=\"contacts\"><a class=\"header-anchor\" href=\"#contacts\" aria-hidden=\"true\">#</a> Contacts</h2>\n<ul>\n<li>Email:<a href=\"mailto:waruqi@gmail.com\">waruqi@gmail.com</a></li>\n<li>Homepage:<a href=\"http://www.tboox.org\" target=\"_blank\" rel=\"noopener noreferrer\">tboox.org<OutboundLink/></a></li>\n<li>Community:<a href=\"https://www.reddit.com/r/tboox/\" target=\"_blank\" rel=\"noopener noreferrer\">/r/tboox on reddit<OutboundLink/></a></li>\n</ul>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b5b8a3ffdea8802b0e92a26095fc7496.json b/node_modules/vuepress/node_modules/.cache/vuepress/b5b8a3ffdea8802b0e92a26095fc7496.json new file mode 100644 index 00000000..9bcae5a6 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b5b8a3ffdea8802b0e92a26095fc7496.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/README.md?vue&type=template&id=c6f5370e&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/README.md","mtime":1541486439372},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b5ca4b2fc23587916704555a3be07018.json b/node_modules/vuepress/node_modules/.cache/vuepress/b5ca4b2fc23587916704555a3be07018.json new file mode 100644 index 00000000..db7c1c88 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b5ca4b2fc23587916704555a3be07018.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/store.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/store.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["// It is not yet time to use Vuex to manage the global state\n// singleton object as a global store.\nvar state = {\n disableScrollBehavior: false\n};\nexport default state;",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b627beda6c28183f3a59c9d4d3d59e07.json b/node_modules/vuepress/node_modules/.cache/vuepress/b627beda6c28183f3a59c9d4d3d59e07.json new file mode 100644 index 00000000..a0bee299 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b627beda6c28183f3a59c9d4d3d59e07.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/guide/getting-started.md?vue&type=template&id=d7bc09fe&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/guide/getting-started.md","mtime":1541598674687},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"getting-started\"><a class=\"header-anchor\" href=\"#getting-started\" aria-hidden=\"true\">#</a> Getting Started</h1>\n<h2 id=\"installation\"><a class=\"header-anchor\" href=\"#installation\" aria-hidden=\"true\">#</a> Installation</h2>\n<h4 id=\"master\"><a class=\"header-anchor\" href=\"#master\" aria-hidden=\"true\">#</a> Master</h4>\n<h5 id=\"via-curl\"><a class=\"header-anchor\" href=\"#via-curl\" aria-hidden=\"true\">#</a> via curl</h5>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code><span class=\"token function\">bash</span> <span class=\"token operator\"><</span><span class=\"token punctuation\">(</span>curl -fsSL https://raw.githubusercontent.com/tboox/xmake/master/scripts/get.sh<span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><h5 id=\"via-wget\"><a class=\"header-anchor\" href=\"#via-wget\" aria-hidden=\"true\">#</a> via wget</h5>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code><span class=\"token function\">bash</span> <span class=\"token operator\"><</span><span class=\"token punctuation\">(</span>wget https://raw.githubusercontent.com/tboox/xmake/master/scripts/get.sh -O -<span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><h5 id=\"via-powershell\"><a class=\"header-anchor\" href=\"#via-powershell\" aria-hidden=\"true\">#</a> via powershell</h5>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>Invoke-Expression <span class=\"token punctuation\">(</span>Invoke-Webrequest <span class=\"token string\">'https://raw.githubusercontent.com/tboox/xmake/master/scripts/get.ps1'</span> -UseBasicParsing<span class=\"token punctuation\">)</span>.Content\n</code></pre>\n<!--beforeend--></div><!--afterend--><h4 id=\"windows\"><a class=\"header-anchor\" href=\"#windows\" aria-hidden=\"true\">#</a> Windows</h4>\n<ol>\n<li>Download xmake windows installer from <a href=\"https://github.com/tboox/xmake/releases\" target=\"_blank\" rel=\"noopener noreferrer\">Releases<OutboundLink/></a></li>\n<li>Run xmake-[version].exe</li>\n</ol>\n<h4 id=\"macos\"><a class=\"header-anchor\" href=\"#macos\" aria-hidden=\"true\">#</a> MacOS</h4>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ brew <span class=\"token function\">install</span> xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h4 id=\"linux\"><a class=\"header-anchor\" href=\"#linux\" aria-hidden=\"true\">#</a> Linux</h4>\n<p>On Archlinux:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ yaourt xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>On Ubuntu:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ <span class=\"token function\">sudo</span> add-apt-repository ppa:tboox/xmake\n$ <span class=\"token function\">sudo</span> apt update\n$ <span class=\"token function\">sudo</span> apt <span class=\"token function\">install</span> xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>Or add xmake package source manually:</p>\n<!--beforebegin--><div class=\"language- extra-class\"><!--afterbegin--><pre v-pre class=\"language-text\"><code>deb http://ppa.launchpad.net/tboox/xmake/ubuntu yakkety main \ndeb-src http://ppa.launchpad.net/tboox/xmake/ubuntu yakkety main \n</code></pre>\n<!--beforeend--></div><!--afterend--><p>Then we run:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ <span class=\"token function\">sudo</span> apt update\n$ <span class=\"token function\">sudo</span> apt <span class=\"token function\">install</span> xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>Or download deb package to install it:</p>\n<ol>\n<li>Download xmake <code>.deb</code> install package from <a href=\"https://github.com/tboox/xmake/releases\" target=\"_blank\" rel=\"noopener noreferrer\">Releases<OutboundLink/></a></li>\n<li>Run <code>dpkg -i xmake-xxxx.deb</code></li>\n</ol>\n<h4 id=\"compilation\"><a class=\"header-anchor\" href=\"#compilation\" aria-hidden=\"true\">#</a> Compilation</h4>\n<p>Compile and install:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ <span class=\"token function\">git</span> clone https://github.com/tboox/xmake.git\n$ <span class=\"token function\">cd</span> ./xmake\n$ ./scripts/get.sh __local__\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>Only install and update lua scripts:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ ./scripts/get.sh __local__ __install_only__\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>Uninstall:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ ./scripts/get.sh __uninstall__\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>Or compile and install via make:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ <span class=\"token function\">make</span> build<span class=\"token punctuation\">;</span> <span class=\"token function\">sudo</span> <span class=\"token function\">make</span> <span class=\"token function\">install</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>Install to other given directory:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ <span class=\"token function\">sudo</span> <span class=\"token function\">make</span> <span class=\"token function\">install</span> prefix<span class=\"token operator\">=</span>/usr/local\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>Uninstall:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ <span class=\"token function\">sudo</span> <span class=\"token function\">make</span> uninstall\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"quick-start\"><a class=\"header-anchor\" href=\"#quick-start\" aria-hidden=\"true\">#</a> Quick Start</h2>\n<p><a href=\"https://asciinema.org/a/133693\" target=\"_blank\" rel=\"noopener noreferrer\"><img src=\"https://asciinema.org/a/133693.png\" alt=\"asciicast\"><OutboundLink/></a></p>\n<h4 id=\"create-project\"><a class=\"header-anchor\" href=\"#create-project\" aria-hidden=\"true\">#</a> Create Project</h4>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake create -l c -P ./hello\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>And xmake will generate some files for c language project:</p>\n<!--beforebegin--><div class=\"language- extra-class\"><!--afterbegin--><pre v-pre class=\"language-text\"><code>hello\n├── src\n│ └── main.c\n└── xmake.lua\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>It is a simple console program only for printing <code>hello xmake!</code></p>\n<p>The content of <code>xmake.lua</code> is very simple:</p>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">set_kind</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"binary\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"src/*.c\"</span><span class=\"token punctuation\">)</span> \n</code></pre>\n<!--beforeend--></div><!--afterend--><p>Support languages:</p>\n<ul>\n<li>c/c++</li>\n<li>objc/c++</li>\n<li>asm</li>\n<li>swift</li>\n<li>dlang</li>\n<li>golang</li>\n<li>rust</li>\n</ul>\n<p class=\"tip\">\n If you want to known more options, please run: `xmake create --help`\n</p>\n<h4 id=\"build-project\"><a class=\"header-anchor\" href=\"#build-project\" aria-hidden=\"true\">#</a> Build Project</h4>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h4 id=\"run-program\"><a class=\"header-anchor\" href=\"#run-program\" aria-hidden=\"true\">#</a> Run Program</h4>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake run hello\n</code></pre>\n<!--beforeend--></div><!--afterend--><h4 id=\"debug-program\"><a class=\"header-anchor\" href=\"#debug-program\" aria-hidden=\"true\">#</a> Debug Program</h4>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake run -d hello \n</code></pre>\n<!--beforeend--></div><!--afterend--><p>It will start the debugger (.e.g lldb, gdb, windbg, vsjitdebugger, ollydbg ..) to load our program.</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code><span class=\"token punctuation\">[</span>lldb<span class=\"token punctuation\">]</span><span class=\"token variable\">$target</span> create <span class=\"token string\">\"build/hello\"</span>\nCurrent executable <span class=\"token keyword\">set</span> to <span class=\"token string\">'build/hello'</span> <span class=\"token punctuation\">(</span>x86_64<span class=\"token punctuation\">)</span>.\n<span class=\"token punctuation\">[</span>lldb<span class=\"token punctuation\">]</span><span class=\"token variable\">$b</span> main\nBreakpoint 1: where <span class=\"token operator\">=</span> hello<span class=\"token variable\"><span class=\"token variable\">`</span>main, address <span class=\"token operator\">=</span> 0x0000000100000f50\n<span class=\"token punctuation\">[</span>lldb<span class=\"token punctuation\">]</span>$r\nProcess 7509 launched: <span class=\"token string\">'/private/tmp/hello/build/hello'</span> <span class=\"token punctuation\">(</span>x86_64<span class=\"token punctuation\">)</span>\nProcess 7509 stopped\n* thread #1: tid <span class=\"token operator\">=</span> 0x435a2, 0x0000000100000f50 hello<span class=\"token variable\">`</span></span>main, queue <span class=\"token operator\">=</span> <span class=\"token string\">'com.apple.main-thread'</span>, stop reason <span class=\"token operator\">=</span> breakpoint 1.1\n frame <span class=\"token comment\">#0: 0x0000000100000f50 hello`main</span>\nhello`main:\n-<span class=\"token operator\">></span> 0x100000f50 <span class=\"token operator\"><</span>+0<span class=\"token operator\">></span>: pushq %rbp\n 0x100000f51 <span class=\"token operator\"><</span>+1<span class=\"token operator\">></span>: movq %rsp, %rbp\n 0x100000f54 <span class=\"token operator\"><</span>+4<span class=\"token operator\">></span>: leaq 0x2b<span class=\"token punctuation\">(</span>%rip<span class=\"token punctuation\">)</span>, %rdi <span class=\"token punctuation\">;</span> <span class=\"token string\">\"hello world!\"</span>\n 0x100000f5b <span class=\"token operator\"><</span>+11<span class=\"token operator\">></span>: callq 0x100000f64 <span class=\"token punctuation\">;</span> symbol stub for: puts\n<span class=\"token punctuation\">[</span>lldb<span class=\"token punctuation\">]</span>$\n</code></pre>\n<!--beforeend--></div><!--afterend--><p class=\"tip\">\n You can also use short command option, for exmaple: `xmake r` or `xmake run`\n</p>\n<h2 id=\"project-examples\"><a class=\"header-anchor\" href=\"#project-examples\" aria-hidden=\"true\">#</a> Project Examples</h2>\n<h4 id=\"executable-program\"><a class=\"header-anchor\" href=\"#executable-program\" aria-hidden=\"true\">#</a> Executable Program</h4>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"test\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">set_kind</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"binary\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"src/*c\"</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><h4 id=\"static-library-program\"><a class=\"header-anchor\" href=\"#static-library-program\" aria-hidden=\"true\">#</a> Static Library Program</h4>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"library\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">set_kind</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"static\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"src/library/*.c\"</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"test\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">set_kind</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"binary\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"src/*c\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_deps</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"library\"</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>We use <code>add_deps</code> to link a static library to test target.</p>\n<h4 id=\"share-library-program\"><a class=\"header-anchor\" href=\"#share-library-program\" aria-hidden=\"true\">#</a> Share Library Program</h4>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"library\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">set_kind</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"shared\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"src/library/*.c\"</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"test\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">set_kind</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"binary\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"src/*c\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_deps</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"library\"</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>We use <code>add_deps</code> to link a share library to test target.</p>\n<h4 id=\"qt-program\"><a class=\"header-anchor\" href=\"#qt-program\" aria-hidden=\"true\">#</a> Qt Program</h4>\n<p>Create an empty project:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake create -l c++ -t console_qt <span class=\"token function\">test</span>\n$ xmake create -l c++ -t static_qt <span class=\"token function\">test</span>\n$ xmake create -l c++ -t shared_qt <span class=\"token function\">test</span>\n$ xmake create -l c++ -t quickapp_qt <span class=\"token function\">test</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>xmake will detect Qt SDK automatically and we can also set the SDK directory manually.</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f --qt<span class=\"token operator\">=</span>~/Qt/Qt5.9.1\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>If you want to use the MinGW Qt environment on windows, you can set the MinGW platform configuration and specify the SDK path for the MinGW compilation environment, for example:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f -p mingw --sdk<span class=\"token operator\">=</span>C:\\Qt\\Qt5.10.1\\Tools\\mingw530_32 \n</code></pre>\n<!--beforeend--></div><!--afterend--><p>If you want to known more information, you can see <a href=\"https://github.com/tboox/xmake/issues/160\" target=\"_blank\" rel=\"noopener noreferrer\">#160<OutboundLink/></a>.</p>\n<h5 id=\"static-library\"><a class=\"header-anchor\" href=\"#static-library\" aria-hidden=\"true\">#</a> Static Library</h5>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"qt_static_library\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_rules</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"qt.static\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"src/*.cpp\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_frameworks</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"QtNetwork\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"QtGui\"</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><h5 id=\"shared-library\"><a class=\"header-anchor\" href=\"#shared-library\" aria-hidden=\"true\">#</a> Shared Library</h5>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"qt_shared_library\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_rules</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"qt.shared\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"src/*.cpp\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_frameworks</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"QtNetwork\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"QtGui\"</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><h5 id=\"console-program\"><a class=\"header-anchor\" href=\"#console-program\" aria-hidden=\"true\">#</a> Console Program</h5>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"qt_console\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_rules</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"qt.console\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"src/*.cpp\"</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><h5 id=\"quick-application\"><a class=\"header-anchor\" href=\"#quick-application\" aria-hidden=\"true\">#</a> Quick Application</h5>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"qt_quickapp\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_rules</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"qt.application\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"src/*.cpp\"</span><span class=\"token punctuation\">)</span> \n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"src/qml.qrc\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_frameworks</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"QtQuick\"</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><h5 id=\"widgets-application\"><a class=\"header-anchor\" href=\"#widgets-application\" aria-hidden=\"true\">#</a> Widgets Application</h5>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"qt_widgetapp\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_rules</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"qt.application\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"src/*.cpp\"</span><span class=\"token punctuation\">)</span> \n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"src/mainwindow.ui\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"src/mainwindow.h\"</span><span class=\"token punctuation\">)</span> <span class=\"token comment\">-- add files with Q_OBJECT meta (only for qt.moc)</span>\n <span class=\"token function\">add_frameworks</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"QtWidgets\"</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><h4 id=\"cuda-program\"><a class=\"header-anchor\" href=\"#cuda-program\" aria-hidden=\"true\">#</a> Cuda Program</h4>\n<p>Create an empty project:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake create -P <span class=\"token function\">test</span> -l cuda\n$ <span class=\"token function\">cd</span> <span class=\"token function\">test</span>\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"cuda_console\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">set_kind</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"binary\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"src/*.cu\"</span><span class=\"token punctuation\">)</span>\n\n <span class=\"token comment\">-- generate SASS code for each SM architecture</span>\n <span class=\"token keyword\">for</span> _<span class=\"token punctuation\">,</span> sm <span class=\"token keyword\">in</span> <span class=\"token function\">ipairs</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span><span class=\"token string\">\"30\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"35\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"37\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"50\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"52\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"60\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"61\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"70\"</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">do</span>\n <span class=\"token function\">add_cuflags</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"-gencode arch=compute_\"</span> <span class=\"token operator\">..</span> sm <span class=\"token operator\">..</span> <span class=\"token string\">\",code=sm_\"</span> <span class=\"token operator\">..</span> sm<span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_ldflags</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"-gencode arch=compute_\"</span> <span class=\"token operator\">..</span> sm <span class=\"token operator\">..</span> <span class=\"token string\">\",code=sm_\"</span> <span class=\"token operator\">..</span> sm<span class=\"token punctuation\">)</span>\n <span class=\"token keyword\">end</span>\n\n <span class=\"token comment\">-- generate PTX code from the highest SM architecture to guarantee forward-compatibility</span>\n sm <span class=\"token operator\">=</span> <span class=\"token string\">\"70\"</span>\n <span class=\"token function\">add_cuflags</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"-gencode arch=compute_\"</span> <span class=\"token operator\">..</span> sm <span class=\"token operator\">..</span> <span class=\"token string\">\",code=compute_\"</span> <span class=\"token operator\">..</span> sm<span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_ldflags</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"-gencode arch=compute_\"</span> <span class=\"token operator\">..</span> sm <span class=\"token operator\">..</span> <span class=\"token string\">\",code=compute_\"</span> <span class=\"token operator\">..</span> sm<span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>xmake will detect Cuda SDK automatically and we can also set the SDK directory manually.</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f --cuda<span class=\"token operator\">=</span>/usr/local/cuda-9.1/ \n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>If you want to known more information, you can see <a href=\"https://github.com/tboox/xmake/issues/158\" target=\"_blank\" rel=\"noopener noreferrer\">#158<OutboundLink/></a>.</p>\n<h4 id=\"wdk-driver-program\"><a class=\"header-anchor\" href=\"#wdk-driver-program\" aria-hidden=\"true\">#</a> WDK Driver Program</h4>\n<p>xmake will detect WDK automatically and we can also set the WDK directory manually.</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f --wdk<span class=\"token operator\">=</span><span class=\"token string\">\"G:\\Program Files\\Windows Kits\\10\"</span> -c\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>If you want to known more information, you can see <a href=\"https://github.com/tboox/xmake/issues/159\" target=\"_blank\" rel=\"noopener noreferrer\">#159<OutboundLink/></a>.</p>\n<h5 id=\"umdf-driver-program\"><a class=\"header-anchor\" href=\"#umdf-driver-program\" aria-hidden=\"true\">#</a> UMDF Driver Program</h5>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"echo\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_rules</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.driver\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"wdk.env.umdf\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"driver/*.c\"</span><span class=\"token punctuation\">)</span> \n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"driver/*.inx\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_includedirs</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"exe\"</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"app\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_rules</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.binary\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"wdk.env.umdf\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"exe/*.cpp\"</span><span class=\"token punctuation\">)</span> \n</code></pre>\n<!--beforeend--></div><!--afterend--><h5 id=\"kmdf-driver-program\"><a class=\"header-anchor\" href=\"#kmdf-driver-program\" aria-hidden=\"true\">#</a> KMDF Driver Program</h5>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"nonpnp\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_rules</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.driver\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"wdk.env.kmdf\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_values</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.tracewpp.flags\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"-func:TraceEvents(LEVEL,FLAGS,MSG,...)\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"-func:Hexdump((LEVEL,FLAGS,MSG,...))\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"driver/*.c\"</span><span class=\"token punctuation\">,</span> <span class=\"token punctuation\">{</span>rule <span class=\"token operator\">=</span> <span class=\"token string\">\"wdk.tracewpp\"</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span> \n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"driver/*.rc\"</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"app\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_rules</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.binary\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"wdk.env.kmdf\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"exe/*.c\"</span><span class=\"token punctuation\">)</span> \n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"exe/*.inf\"</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><h5 id=\"wdm-driver-program\"><a class=\"header-anchor\" href=\"#wdm-driver-program\" aria-hidden=\"true\">#</a> WDM Driver Program</h5>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"kcs\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_rules</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.driver\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"wdk.env.wdm\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_values</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.man.flags\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"-prefix Kcs\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_values</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.man.resource\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"kcsCounters.rc\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_values</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.man.header\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"kcsCounters.h\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_values</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.man.counter_header\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"kcsCounters_counters.h\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"*.c\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"*.rc\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"*.man\"</span><span class=\"token punctuation\">)</span> \n</code></pre>\n<!--beforeend--></div><!--afterend--><!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"msdsm\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_rules</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.driver\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"wdk.env.wdm\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_values</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.tracewpp.flags\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"-func:TracePrint((LEVEL,FLAGS,MSG,...))\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"*.c\"</span><span class=\"token punctuation\">,</span> <span class=\"token punctuation\">{</span>rule <span class=\"token operator\">=</span> <span class=\"token string\">\"wdk.tracewpp\"</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span> \n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"*.rc\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"*.inf\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"*.mof|msdsm.mof\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"msdsm.mof\"</span><span class=\"token punctuation\">,</span> <span class=\"token punctuation\">{</span>values <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span>wdk_mof_header <span class=\"token operator\">=</span> <span class=\"token string\">\"msdsmwmi.h\"</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span> \n</code></pre>\n<!--beforeend--></div><!--afterend--><h5 id=\"package-driver\"><a class=\"header-anchor\" href=\"#package-driver\" aria-hidden=\"true\">#</a> Package Driver</h5>\n<p>We can run the following command to generate a .cab driver package.</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake <span class=\"token punctuation\">[</span>p<span class=\"token operator\">|</span>package<span class=\"token punctuation\">]</span>\n$ xmake <span class=\"token punctuation\">[</span>p<span class=\"token operator\">|</span>package<span class=\"token punctuation\">]</span> -o outputdir\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>The output files like:</p>\n<!--beforebegin--><div class=\"language- extra-class\"><!--afterbegin--><pre v-pre class=\"language-text\"><code> - drivers\n - sampledsm\n - debug/x86/sampledsm.cab\n - release/x64/sampledsm.cab\n - debug/x86/sampledsm.cab\n - release/x64/sampledsm.cab\n</code></pre>\n<!--beforeend--></div><!--afterend--><h5 id=\"driver-signing\"><a class=\"header-anchor\" href=\"#driver-signing\" aria-hidden=\"true\">#</a> Driver Signing</h5>\n<p>The driver signing is disabled when we compile driver in default case,\nbut we can add <code>set_values("wdk.sign.mode")</code> to enable test/release sign.</p>\n<h6 id=\"testsign\"><a class=\"header-anchor\" href=\"#testsign\" aria-hidden=\"true\">#</a> TestSign</h6>\n<p>We can use test certificate of xmake to do testsign, but please run <code>$xmake l utils.wdk.testcert</code> install as admin to install a test certificate first (only once)!</p>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"msdsm\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_rules</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.driver\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"wdk.env.wdm\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">set_values</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.sign.mode\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"test\"</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>Or we set a valid certificate thumbprint to do it in local machine.</p>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"msdsm\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_rules</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.driver\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"wdk.env.wdm\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">set_values</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.sign.mode\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"test\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">set_values</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.sign.thumbprint\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"032122545DCAA6167B1ADBE5F7FDF07AE2234AAA\"</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>We can also do testsign via setting store/company info.</p>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"msdsm\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_rules</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.driver\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"wdk.env.wdm\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">set_values</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.sign.mode\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"test\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">set_values</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.sign.store\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"PrivateCertStore\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">set_values</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.sign.company\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"tboox.org(test)\"</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><h6 id=\"releasesign\"><a class=\"header-anchor\" href=\"#releasesign\" aria-hidden=\"true\">#</a> ReleaseSign</h6>\n<p>We can set a certificate file for release signing.</p>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"msdsm\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_rules</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.driver\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"wdk.env.wdm\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">set_values</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.sign.mode\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"release\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">set_values</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.sign.company\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"xxxx\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">set_values</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.sign.certfile\"</span><span class=\"token punctuation\">,</span> path<span class=\"token punctuation\">.</span><span class=\"token function\">join</span><span class=\"token punctuation\">(</span>os<span class=\"token punctuation\">.</span><span class=\"token function\">projectdir</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"xxxx.cer\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><h5 id=\"support-low-version-system\"><a class=\"header-anchor\" href=\"#support-low-version-system\" aria-hidden=\"true\">#</a> Support Low-version System</h5>\n<p>We can set <code>wdk.env.winver</code> to generate a driver package that is compatible with a low version system.</p>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">set_values</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.env.winver\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"win10\"</span><span class=\"token punctuation\">)</span>\n<span class=\"token function\">set_values</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.env.winver\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"win10_rs3\"</span><span class=\"token punctuation\">)</span>\n<span class=\"token function\">set_values</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.env.winver\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"win81\"</span><span class=\"token punctuation\">)</span>\n<span class=\"token function\">set_values</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.env.winver\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"win8\"</span><span class=\"token punctuation\">)</span>\n<span class=\"token function\">set_values</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.env.winver\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"win7\"</span><span class=\"token punctuation\">)</span>\n<span class=\"token function\">set_values</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.env.winver\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"win7_sp1\"</span><span class=\"token punctuation\">)</span>\n<span class=\"token function\">set_values</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.env.winver\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"win7_sp2\"</span><span class=\"token punctuation\">)</span>\n<span class=\"token function\">set_values</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"wdk.env.winver\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"win7_sp3\"</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>We can also set windows version for WDK driver program:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f --wdk_winver<span class=\"token operator\">=</span><span class=\"token punctuation\">[</span>win10_rs3<span class=\"token operator\">|</span>win8<span class=\"token operator\">|</span>win7<span class=\"token operator\">|</span>win7_sp1<span class=\"token punctuation\">]</span>\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h4 id=\"winsdk-application-program\"><a class=\"header-anchor\" href=\"#winsdk-application-program\" aria-hidden=\"true\">#</a> WinSDK Application Program</h4>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"usbview\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_rules</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"win.sdk.application\"</span><span class=\"token punctuation\">)</span>\n\n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"*.c\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"*.rc\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"xmlhelper.cpp\"</span><span class=\"token punctuation\">,</span> <span class=\"token punctuation\">{</span>rule <span class=\"token operator\">=</span> <span class=\"token string\">\"win.sdk.dotnet\"</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>If you want to known more information, you can see <a href=\"https://github.com/tboox/xmake/issues/173\" target=\"_blank\" rel=\"noopener noreferrer\">#173<OutboundLink/></a>.</p>\n<h2 id=\"configuration\"><a class=\"header-anchor\" href=\"#configuration\" aria-hidden=\"true\">#</a> Configuration</h2>\n<p>Set compilation configuration before building project with command <code>xmake f|config</code>.</p>\n<p>And if you want to known more options, please run: <code>xmake f --help</code>。</p>\n<p class=\"tip\">\n You can use short or long command option, for exmaple: <br>\n `xmake f` or `xmake config`.<br>\n `xmake f -p linux` or `xmake config --plat=linux`.\n</p>\n<h4 id=\"target-platforms\"><a class=\"header-anchor\" href=\"#target-platforms\" aria-hidden=\"true\">#</a> Target Platforms</h4>\n<h5 id=\"current-host\"><a class=\"header-anchor\" href=\"#current-host\" aria-hidden=\"true\">#</a> Current Host</h5>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><p class=\"tip\">\n XMake will detect the current host platform automatically and build project.\n</p>\n<h5 id=\"linux-2\"><a class=\"header-anchor\" href=\"#linux-2\" aria-hidden=\"true\">#</a> Linux</h5>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f -p linux <span class=\"token punctuation\">[</span>-a i386<span class=\"token operator\">|</span>x86_64<span class=\"token punctuation\">]</span>\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h5 id=\"android\"><a class=\"header-anchor\" href=\"#android\" aria-hidden=\"true\">#</a> Android</h5>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f -p android --ndk<span class=\"token operator\">=</span>~/files/android-ndk-r10e/ <span class=\"token punctuation\">[</span>-a armv5te<span class=\"token operator\">|</span>armv6<span class=\"token operator\">|</span>armv7-a<span class=\"token operator\">|</span>armv8-a<span class=\"token operator\">|</span>arm64-v8a<span class=\"token punctuation\">]</span>\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>If you want to set the other android toolchains, you can use <a href=\"#-bin\">--bin</a> option.</p>\n<p>For example:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f -p android --ndk<span class=\"token operator\">=</span>~/files/android-ndk-r10e/ -a arm64-v8a --bin<span class=\"token operator\">=</span>~/files/android-ndk-r10e/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64/bin\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>The <a href=\"#-bin\">--bin</a> option is used to set <code>bin</code> directory of toolchains.</p>\n<p class=\"tip\">\nPlease attempt to set `--arch=` option if it had failed to check compiler.\n</p>\n<h5 id=\"iphoneos\"><a class=\"header-anchor\" href=\"#iphoneos\" aria-hidden=\"true\">#</a> iPhoneOS</h5>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f -p iphoneos <span class=\"token punctuation\">[</span>-a armv7<span class=\"token operator\">|</span>armv7s<span class=\"token operator\">|</span>arm64<span class=\"token operator\">|</span>i386<span class=\"token operator\">|</span>x86_64<span class=\"token punctuation\">]</span>\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h5 id=\"windows-2\"><a class=\"header-anchor\" href=\"#windows-2\" aria-hidden=\"true\">#</a> Windows</h5>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f -p windows <span class=\"token punctuation\">[</span>-a x86<span class=\"token operator\">|</span>x64<span class=\"token punctuation\">]</span>\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h5 id=\"mingw\"><a class=\"header-anchor\" href=\"#mingw\" aria-hidden=\"true\">#</a> Mingw</h5>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f -p mingw --sdk<span class=\"token operator\">=</span>/usr/local/i386-mingw32-4.3.0/ <span class=\"token punctuation\">[</span>-a i386<span class=\"token operator\">|</span>x86_64<span class=\"token punctuation\">]</span>\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h5 id=\"apple-watchos\"><a class=\"header-anchor\" href=\"#apple-watchos\" aria-hidden=\"true\">#</a> Apple WatchOS</h5>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f -p watchos <span class=\"token punctuation\">[</span>-a i386<span class=\"token operator\">|</span>armv7k<span class=\"token punctuation\">]</span>\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h5 id=\"cross-compilation\"><a class=\"header-anchor\" href=\"#cross-compilation\" aria-hidden=\"true\">#</a> Cross Compilation</h5>\n<p>For linux platform:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f -p linux --sdk<span class=\"token operator\">=</span>/usr/local/arm-linux-gcc/ <span class=\"token punctuation\">[</span>--bin<span class=\"token operator\">=</span>/sdk/bin<span class=\"token punctuation\">]</span> <span class=\"token punctuation\">[</span>--cross<span class=\"token operator\">=</span>arm-linux-<span class=\"token punctuation\">]</span>\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>Fro other cross platform:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f -p cross --sdk<span class=\"token operator\">=</span>/usr/local/arm-xxx-gcc/ <span class=\"token punctuation\">[</span>--bin<span class=\"token operator\">=</span>/sdk/bin<span class=\"token punctuation\">]</span> <span class=\"token punctuation\">[</span>--cross<span class=\"token operator\">=</span>arm-linux-<span class=\"token punctuation\">]</span>\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>For custem cross platform (<code>is_plat("myplat")</code>):</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f -p myplat --sdk<span class=\"token operator\">=</span>/usr/local/arm-xxx-gcc/ <span class=\"token punctuation\">[</span>--bin<span class=\"token operator\">=</span>/sdk/bin<span class=\"token punctuation\">]</span> <span class=\"token punctuation\">[</span>--cross<span class=\"token operator\">=</span>arm-linux-<span class=\"token punctuation\">]</span>\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><table>\n<thead>\n<tr>\n<th>Configuration Option</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><a href=\"#-sdk\">--sdk</a></td>\n<td>Set the sdk root directory of toolchains</td>\n</tr>\n<tr>\n<td><a href=\"#-bin\">--bin</a></td>\n<td>Set the <code>bin</code> directory of toolchains</td>\n</tr>\n<tr>\n<td><a href=\"#-cross\">--cross</a></td>\n<td>Set the prefix of compilation tools</td>\n</tr>\n<tr>\n<td><a href=\"#-as\">--as</a></td>\n<td>Set <code>asm</code> assembler</td>\n</tr>\n<tr>\n<td><a href=\"#-cc\">--cc</a></td>\n<td>Set <code>c</code> compiler</td>\n</tr>\n<tr>\n<td><a href=\"#-cxx\">--cxx</a></td>\n<td>Set <code>c++</code> compiler</td>\n</tr>\n<tr>\n<td><a href=\"#-mm\">--mm</a></td>\n<td>Set <code>objc</code> compiler</td>\n</tr>\n<tr>\n<td><a href=\"#-mxx\">--mxx</a></td>\n<td>Set <code>objc++</code> compiler</td>\n</tr>\n<tr>\n<td><a href=\"#-sc\">--sc</a></td>\n<td>Set <code>swift</code> compiler</td>\n</tr>\n<tr>\n<td><a href=\"#-gc\">--gc</a></td>\n<td>Set <code>golang</code> compiler</td>\n</tr>\n<tr>\n<td><a href=\"#-dc\">--dc</a></td>\n<td>Set <code>dlang</code> compiler</td>\n</tr>\n<tr>\n<td><a href=\"#-rc\">--rc</a></td>\n<td>Set <code>rust</code> compiler</td>\n</tr>\n<tr>\n<td><a href=\"#-cu\">--cu</a></td>\n<td>Set <code>cuda</code> compiler</td>\n</tr>\n<tr>\n<td><a href=\"#-ld\">--ld</a></td>\n<td>Set <code>c/c++/objc/asm</code> linker</td>\n</tr>\n<tr>\n<td><a href=\"#-sh\">--sh</a></td>\n<td>Set <code>c/c++/objc/asm</code> shared library linker</td>\n</tr>\n<tr>\n<td><a href=\"#-ar\">--ar</a></td>\n<td>Set <code>c/c++/objc/asm</code> static library archiver</td>\n</tr>\n<tr>\n<td><a href=\"#-sc-ld\">--sc-ld</a></td>\n<td>Set <code>swift</code> linker</td>\n</tr>\n<tr>\n<td><a href=\"#-sc-sh\">--sc-sh</a></td>\n<td>Set <code>swift</code> shared library linker</td>\n</tr>\n<tr>\n<td><a href=\"#-gc-ld\">--gc-ld</a></td>\n<td>Set <code>golang</code> linker</td>\n</tr>\n<tr>\n<td><a href=\"#-gc-ar\">--gc-ar</a></td>\n<td>Set <code>golang</code> static library archiver</td>\n</tr>\n<tr>\n<td><a href=\"#-dc-ld\">--dc-ld</a></td>\n<td>Set <code>dlang</code> linker</td>\n</tr>\n<tr>\n<td><a href=\"#-dc-sh\">--dc-sh</a></td>\n<td>Set <code>dlang</code> shared library linker</td>\n</tr>\n<tr>\n<td><a href=\"#-dc-ar\">--dc-ar</a></td>\n<td>Set <code>dlang</code> static library archiver</td>\n</tr>\n<tr>\n<td><a href=\"#-rc-ld\">--rc-ld</a></td>\n<td>Set <code>rust</code> linker</td>\n</tr>\n<tr>\n<td><a href=\"#-rc-sh\">--rc-sh</a></td>\n<td>Set <code>rust</code> shared library linker</td>\n</tr>\n<tr>\n<td><a href=\"#-rc-ar\">--rc-ar</a></td>\n<td>Set <code>rust</code> static library archiver</td>\n</tr>\n<tr>\n<td><a href=\"#-cu-ld\">--cu-ld</a></td>\n<td>Set <code>cuda</code> linker</td>\n</tr>\n<tr>\n<td><a href=\"#-cu-sh\">--cu-sh</a></td>\n<td>Set <code>cuda</code> shared library linker</td>\n</tr>\n<tr>\n<td><a href=\"#-cu-ar\">--cu-ar</a></td>\n<td>Set <code>cuda</code> static library archiver</td>\n</tr>\n<tr>\n<td><a href=\"#-asflags\">--asflags</a></td>\n<td>Set <code>asm</code> assembler option</td>\n</tr>\n<tr>\n<td><a href=\"#-cflags\">--cflags</a></td>\n<td>Set <code>c</code> compiler option</td>\n</tr>\n<tr>\n<td><a href=\"#-cxflags\">--cxflags</a></td>\n<td>Set <code>c/c++</code> compiler option</td>\n</tr>\n<tr>\n<td><a href=\"#-cxxflags\">--cxxflags</a></td>\n<td>Set <code>c++</code> compiler option</td>\n</tr>\n<tr>\n<td><a href=\"#-mflags\">--mflags</a></td>\n<td>Set <code>objc</code> compiler option</td>\n</tr>\n<tr>\n<td><a href=\"#-mxflags\">--mxflags</a></td>\n<td>Set <code>objc/c++</code> compiler option</td>\n</tr>\n<tr>\n<td><a href=\"#-mxxflags\">--mxxflags</a></td>\n<td>Set <code>objc++</code> compiler option</td>\n</tr>\n<tr>\n<td><a href=\"#-scflags\">--scflags</a></td>\n<td>Set <code>swift</code> compiler option</td>\n</tr>\n<tr>\n<td><a href=\"#-gcflags\">--gcflags</a></td>\n<td>Set <code>golang</code> compiler option</td>\n</tr>\n<tr>\n<td><a href=\"#-dcflags\">--dcflags</a></td>\n<td>Set <code>dlang</code> compiler option</td>\n</tr>\n<tr>\n<td><a href=\"#-rcflags\">--rcflags</a></td>\n<td>Set <code>rust</code> compiler option</td>\n</tr>\n<tr>\n<td><a href=\"#-cuflags\">--cuflags</a></td>\n<td>Set <code>cuda</code> compiler option</td>\n</tr>\n<tr>\n<td><a href=\"#-ldflags\">--ldflags</a></td>\n<td>Set linker option</td>\n</tr>\n<tr>\n<td><a href=\"#-shflags\">--shflags</a></td>\n<td>Set shared library linker option</td>\n</tr>\n<tr>\n<td><a href=\"#-arflags\">--arflags</a></td>\n<td>Set static library archiver option</td>\n</tr>\n</tbody>\n</table>\n<p class=\"tip\">\nif you want to known more options, please run: `xmake f --help`。\n</p>\n<h6 id=\"sdk\"><a class=\"header-anchor\" href=\"#sdk\" aria-hidden=\"true\">#</a> --sdk</h6>\n<ul>\n<li>Set the sdk root directory of toolchains</li>\n</ul>\n<p>xmake provides a convenient and flexible cross-compiling support.\nIn most cases, we need not to configure complex toolchains prefix, for example: <code>arm-linux-</code></p>\n<p>As long as this toolchains meet the following directory structure:</p>\n<!--beforebegin--><div class=\"language- extra-class\"><!--afterbegin--><pre v-pre class=\"language-text\"><code>/home/toolchains_sdkdir\n - bin\n - arm-linux-gcc\n - arm-linux-ld\n - ...\n - lib\n - libxxx.a\n - include\n - xxx.h\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>Then,we can only configure the sdk directory and build it.</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f -p linux --sdk<span class=\"token operator\">=</span>/home/toolchains_sdkdir\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>xmake will detect the prefix: arm-linux- and add the include and library search directory automatically.</p>\n<!--beforebegin--><div class=\"language- extra-class\"><!--afterbegin--><pre v-pre class=\"language-text\"><code>-I/home/toolchains_sdkdir/include -L/home/toolchains_sdkdir/lib\n</code></pre>\n<!--beforeend--></div><!--afterend--><h6 id=\"bin\"><a class=\"header-anchor\" href=\"#bin\" aria-hidden=\"true\">#</a> --bin</h6>\n<ul>\n<li>Set the <code>bin</code> directory of toolchains</li>\n</ul>\n<p>We need set it manually if the toolchains /bin directory is in other places, for example:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f -p linux --sdk<span class=\"token operator\">=</span>/home/toolchains_sdkdir --bin<span class=\"token operator\">=</span>/usr/opt/bin\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><p class=\"tips\">\nBefore v2.2.1 version, this parameter name is `--toolchains`, exists more ambiguous, so we changed to `--bin=` to set the bin directory.\n</p>\n<h6 id=\"cross\"><a class=\"header-anchor\" href=\"#cross\" aria-hidden=\"true\">#</a> --cross</h6>\n<ul>\n<li>Set the prefix of compilation tools</li>\n</ul>\n<p>For example, under the same toolchains directory at the same time, there are two different compilers:</p>\n<!--beforebegin--><div class=\"language- extra-class\"><!--afterbegin--><pre v-pre class=\"language-text\"><code>/opt/bin\n - armv7-linux-gcc\n - aarch64-linux-gcc\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>If we want to use the <code>armv7-linux-gcc</code> compiler, we can run the following command:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f -p linux --sdk<span class=\"token operator\">=</span>/usr/toolsdk --bin<span class=\"token operator\">=</span>/opt/bin --cross<span class=\"token operator\">=</span>armv7-linux-\n</code></pre>\n<!--beforeend--></div><!--afterend--><h6 id=\"as\"><a class=\"header-anchor\" href=\"#as\" aria-hidden=\"true\">#</a> --as</h6>\n<ul>\n<li>Set <code>asm</code> assembler</li>\n</ul>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f -p linux --sdk<span class=\"token operator\">=</span>/user/toolsdk --as<span class=\"token operator\">=</span>armv7-linux-as\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>If the 'AS' environment variable exists, it will use the values specified in the current environment variables.</p>\n<p class=\"tips\">\nWe can set a unknown compiler as like-gcc/clang compiler, .e.g `xmake f --as=gcc@/home/xxx/asmips.exe` \n</p>\n<h6 id=\"cc\"><a class=\"header-anchor\" href=\"#cc\" aria-hidden=\"true\">#</a> --cc</h6>\n<ul>\n<li>Set c compiler</li>\n</ul>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f -p linux --sdk<span class=\"token operator\">=</span>/user/toolsdk --cc<span class=\"token operator\">=</span>armv7-linux-clang\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>If the 'CC' environment variable exists, it will use the values specified in the current environment variables.</p>\n<p class=\"tips\">\nWe can set a unknown compiler as like-gcc/clang compiler, .e.g `xmake f --cc=gcc@/home/xxx/ccmips.exe` \n</p>\n<h6 id=\"cxx\"><a class=\"header-anchor\" href=\"#cxx\" aria-hidden=\"true\">#</a> --cxx</h6>\n<ul>\n<li>Set <code>c++</code> compiler</li>\n</ul>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f -p linux --sdk<span class=\"token operator\">=</span>/user/toolsdk --cxx<span class=\"token operator\">=</span>armv7-linux-clang++\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>If the 'CXX' environment variable exists, it will use the values specified in the current environment variables.</p>\n<p class=\"tips\">\nWe can set a unknown compiler as like-gcc/clang compiler, .e.g `xmake f --cxx=g++@/home/xxx/c++mips.exe` \n</p>\n<h6 id=\"ld\"><a class=\"header-anchor\" href=\"#ld\" aria-hidden=\"true\">#</a> --ld</h6>\n<ul>\n<li>Set <code>c/c++/objc/asm</code> linker</li>\n</ul>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f -p linux --sdk<span class=\"token operator\">=</span>/user/toolsdk --ld<span class=\"token operator\">=</span>armv7-linux-clang++\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>If the 'LD' environment variable exists, it will use the values specified in the current environment variables.</p>\n<p class=\"tips\">\nWe can set a unknown compiler as like-gcc/clang linker, .e.g `xmake f --ld=g++@/home/xxx/c++mips.exe` \n</p>\n<h6 id=\"sh\"><a class=\"header-anchor\" href=\"#sh\" aria-hidden=\"true\">#</a> --sh</h6>\n<ul>\n<li>Set <code>c/c++/objc/asm</code> shared library linker</li>\n</ul>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f -p linux --sdk<span class=\"token operator\">=</span>/user/toolsdk --sh<span class=\"token operator\">=</span>armv7-linux-clang++\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>If the 'SH' environment variable exists, it will use the values specified in the current environment variables.</p>\n<p class=\"tips\">\nWe can set a unknown compiler as like-gcc/clang linker, .e.g `xmake f --sh=g++@/home/xxx/c++mips.exe` \n</p>\n<h6 id=\"ar\"><a class=\"header-anchor\" href=\"#ar\" aria-hidden=\"true\">#</a> --ar</h6>\n<ul>\n<li>Set <code>c/c++/objc/asm</code> static library archiver</li>\n</ul>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f -p linux --sdk<span class=\"token operator\">=</span>/user/toolsdk --ar<span class=\"token operator\">=</span>armv7-linux-ar\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>If the 'AR' environment variable exists, it will use the values specified in the current environment variables.</p>\n<p class=\"tips\">\nWe can set a unknown compiler as like-ar archiver, .e.g `xmake f --ar=ar@/home/xxx/armips.exe` \n</p>\n<h4 id=\"global-configuration\"><a class=\"header-anchor\" href=\"#global-configuration\" aria-hidden=\"true\">#</a> Global Configuration</h4>\n<p>You can save to the global configuration for simplfying operation.</p>\n<p>For example:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake g --ndk<span class=\"token operator\">=</span>~/files/android-ndk-r10e/\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>Now, we config and build project for android again.</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f -p android\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><p class=\"tip\">\n You can use short or long command option, for exmaple: `xmake g` or `xmake global`.<br>\n</p>\n<h4 id=\"clean-configuration\"><a class=\"header-anchor\" href=\"#clean-configuration\" aria-hidden=\"true\">#</a> Clean Configuration</h4>\n<p>We can clean all cached configuration and re-configure projecct.</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f -c\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>or</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f -p iphoneos -c\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"dependency-package-management\"><a class=\"header-anchor\" href=\"#dependency-package-management\" aria-hidden=\"true\">#</a> Dependency Package Management</h2>\n<h4 id=\"local-package-mode\"><a class=\"header-anchor\" href=\"#local-package-mode\" aria-hidden=\"true\">#</a> Local Package Mode</h4>\n<p>By including a dependency package directory and a binary package file in the project, it is convenient to integrate some third-party dependency libraries. This method is relatively simple and straightforward, but the disadvantages are also obvious and inconvenient to manage.</p>\n<p>Take the tbox project as an example. The dependency package is as follows:</p>\n<!--beforebegin--><div class=\"language- extra-class\"><!--afterbegin--><pre v-pre class=\"language-text\"><code>- base.pkg\n- zlib.pkg\n- polarssl.pkg\n- openssl.pkg\n- mysql.pkg\n- pcre.pkg\n- ...\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>If you want the current project to recognize loading these packages, you first need to specify the package directory path, for example:</p>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">add_packagedirs</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"packages\"</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>Once specified, you can add integration package dependencies in the target scope via the <a href=\"https://xmake.io/#/zh/manual?id=targetadd_packages\" target=\"_blank\" rel=\"noopener noreferrer\">add_packages<OutboundLink/></a> interface, for example:</p>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_packages</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"zlib\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"polarssl\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"pcre\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"mysql\"</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>So how to generate a *.pkg package, if it is based on xmake project, the generation method is very simple, only need:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ <span class=\"token function\">cd</span> tbox\n$ xmake package\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>You can generate a tbox.pkg cross-platform package in the build directory for use by third-party projects. I can also directly set the output directory and compile and generate it into the other project, for example:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ <span class=\"token function\">cd</span> tbox\n$ xmake package -o <span class=\"token punctuation\">..</span>/test/packages\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>In this way, the test project can pass <a href=\"https://xmake.io/#/zh/manual?id=targetadd_packages\" target=\"_blank\" rel=\"noopener noreferrer\">add_packages<OutboundLink/></a> and [add_packagedirs](https://xmake.io/#/zh/manual?id= add_packagedirs) to configure and use the tbox.pkg package.</p>\n<p>For a detailed description of the built-in package, you can also refer to the following related article, which is described in detail: [Dependency package addition and automatic detection mechanism] (http://tboox.org/cn/2016/08/06/add-package -and-autocheck/)</p>\n<h4 id=\"system-search-mode\"><a class=\"header-anchor\" href=\"#system-search-mode\" aria-hidden=\"true\">#</a> System Search Mode</h4>\n<p>If you feel that the above built-in package management method is very inconvenient, you can use the extension interface [lib.detect.find_package] provided by xmake (https://xmake.io/#/zh/manual?id=detect-find_package) to find the system. Existing dependencies.</p>\n<p>Currently this interface supports the following package management support:</p>\n<ul>\n<li>vcpkg</li>\n<li>homebrew</li>\n<li>pkg-config</li>\n</ul>\n<p>And through the system and third-party package management tools for the installation of the dependency package, and then integrated with xmake, for example, we look for an openssl package:</p>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">import</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"lib.detect.find_package\"</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token keyword\">local</span> package <span class=\"token operator\">=</span> <span class=\"token function\">find_package</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"openssl\"</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>The returned results are as follows:</p>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token punctuation\">{</span>links <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span><span class=\"token string\">\"ssl\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"crypto\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"z\"</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span> linkdirs <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span><span class=\"token string\">\"/usr/local/lib\"</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span> includedirs <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span><span class=\"token string\">\"/usr/local/include\"</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>If the search is successful, return a table containing all the package information, if it fails, return nil</p>\n<p>The return result here can be directly passed as the parameter of <code>target:add</code>, <code>option:add</code>, which is used to dynamically increase the configuration of <code>target/option</code>:</p>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">option</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"zlib\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">set_showmenu</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">true</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">before_check</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">function</span> <span class=\"token punctuation\">(</span>option<span class=\"token punctuation\">)</span>\n <span class=\"token function\">import</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"lib.detect.find_package\"</span><span class=\"token punctuation\">)</span>\n option<span class=\"token punctuation\">:</span><span class=\"token function\">add</span><span class=\"token punctuation\">(</span><span class=\"token function\">find_package</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"zlib\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n <span class=\"token keyword\">end</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"test\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">on_load</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">function</span> <span class=\"token punctuation\">(</span>target<span class=\"token punctuation\">)</span>\n <span class=\"token function\">import</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"lib.detect.find_package\"</span><span class=\"token punctuation\">)</span>\n target<span class=\"token punctuation\">:</span><span class=\"token function\">add</span><span class=\"token punctuation\">(</span><span class=\"token function\">find_package</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"zlib\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n <span class=\"token keyword\">end</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>If third-party tools such as <code>homebrew</code>, <code>pkg-config</code> are installed on the system, then this interface will try to use them to improve the search results.</p>\n<p>For a more complete description of the usage, please refer to the <a href=\"https://xmake.io/#/en/manual?id=detect-find_package\" target=\"_blank\" rel=\"noopener noreferrer\">lib.detect.find_package<OutboundLink/></a> interface documentation.</p>\n<h5 id=\"homebrew-integration-support\"><a class=\"header-anchor\" href=\"#homebrew-integration-support\" aria-hidden=\"true\">#</a> Homebrew Integration Support</h5>\n<p>Since homebrew is generally installed directly into the system, users do not need to do any integration work, <code>lib.detect.find_package</code> has been natively seamlessly supported.</p>\n<h5 id=\"vcpkg-integration-support\"><a class=\"header-anchor\" href=\"#vcpkg-integration-support\" aria-hidden=\"true\">#</a> Vcpkg Integration Support</h5>\n<p>Currently xmake v2.2.2 version already supports vcpkg, users only need to install vcpkg, execute <code>$ vcpkg integrate install</code>, xmake will automatically detect the root path of vcpkg from the system, and then automatically adapt the bread.</p>\n<p>Of course, we can also manually specify the root path of vcpkg to support:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f --vcpkg<span class=\"token operator\">=</span>f:\\vcpkg\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>Or we can set it to the global configuration to avoid repeating the settings each time we switch configurations:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake g --vcpkg<span class=\"token operator\">=</span>f:\\vcpkg\n</code></pre>\n<!--beforeend--></div><!--afterend--><h4 id=\"remote-dependency-mode\"><a class=\"header-anchor\" href=\"#remote-dependency-mode\" aria-hidden=\"true\">#</a> Remote dependency mode</h4>\n<p>This has been initially supported after the 2.2.2 version, the usage is much simpler, just set the corresponding dependency package, for example:</p>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">add_requires</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"tbox 1.6.*\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"libpng ~1.16\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"zlib\"</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"test\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">set_kind</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"binary\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"src/*.c\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_packages</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"libpng\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"zlib\"</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>The above <code>add_requires</code> is used to describe the dependencies required by the current project, and <code>add_packages</code> is used to apply dependencies to the test target. Only settings will automatically add links, linkdirs, includedirs, etc.</p>\n<p>Then directly compile:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>xmake will remotely pull the relevant source package, then automatically compile and install, finally compile the project, and link the dependency package. The specific effect is shown in the following figure:</p>\n<img src=\"/assets/img/index/package_manage.png\" width=\"80%\" />\n<p>For more information and progress on package dependency management see the related issues: [Remote package management] (https://github.com/tboox/xmake/issues/69)</p>\n<h5 id=\"currently-supported-features\"><a class=\"header-anchor\" href=\"#currently-supported-features\" aria-hidden=\"true\">#</a> Currently Supported Features</h5>\n<ul>\n<li>Semantic version support, for example: ">= 1.1.0 < 1.2", "~1.6", "1.2.x", "1.*"</li>\n<li>Provide multi-warehouse management support such as official package warehouse, self-built private warehouse, project built-in warehouse, etc.</li>\n<li>Cross-platform package compilation integration support (packages of different platforms and different architectures can be installed at the same time, fast switching use)</li>\n<li>Debug dependency package support, source code debugging</li>\n</ul>\n<h5 id=\"dependency-package-processing-mechanism\"><a class=\"header-anchor\" href=\"#dependency-package-processing-mechanism\" aria-hidden=\"true\">#</a> Dependency Package Processing Mechanism</h5>\n<p>Here we briefly introduce the processing mechanism of the entire dependency package:</p>\n<div align=\"center\">\n<img src=\"/assets/img/index/package_arch.png\" width=\"80%\" />\n</div>\n<ol>\n<li>Priority check for the current system directory, whether there is a specified package under the third-party package management, if there is a matching package, then you do not need to download and install (of course you can also set the system package)</li>\n<li>Retrieve the package matching the corresponding version, then download, compile, and install (Note: installed in a specific xmake directory, will not interfere with the system library environment)</li>\n<li>Compile the project, and finally automatically link the enabled dependencies</li>\n</ol>\n<h5 id=\"semantic-version-settings\"><a class=\"header-anchor\" href=\"#semantic-version-settings\" aria-hidden=\"true\">#</a> Semantic Version Settings</h5>\n<p>Xmake's dependency package management fully supports semantic version selection, for example: "~1.6.1". For a detailed description of the semantic version, see: [http://semver.org/] (http://semver.org/)</p>\n<p>Some semantic versions are written:</p>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">add_requires</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"tbox 1.6.*\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"pcre 1.3.x\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"libpng ^1.18\"</span><span class=\"token punctuation\">)</span>\n<span class=\"token function\">add_requires</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"libpng ~1.16\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"zlib 1.1.2 || >=1.2.11 <1.3.0\"</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>The semantic version parser currently used by xmake is the <a href=\"https://github.com/uael/sv\" target=\"_blank\" rel=\"noopener noreferrer\">sv<OutboundLink/></a> library contributed by <a href=\"https://github.com/uael\" target=\"_blank\" rel=\"noopener noreferrer\">uael<OutboundLink/></a>, which also has a description of the version. For detailed instructions, please refer to the following: [Version Description] (https://github.com/uael/sv#versions)</p>\n<p>Of course, if we have no special requirements for the current version of the dependency package, then we can write directly:</p>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">add_requires</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"libpng\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"zlib\"</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>This will use the latest version of the package known, or the source code compiled by the master branch. If the current package has a git repo address, we can also specify a specific branch version:</p>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">add_requires</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"tbox master\"</span><span class=\"token punctuation\">)</span>\n<span class=\"token function\">add_requires</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"tbox dev\"</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><h5 id=\"extra-package-information-settings\"><a class=\"header-anchor\" href=\"#extra-package-information-settings\" aria-hidden=\"true\">#</a> Extra Package Information Settings</h5>\n<h6 id=\"optional-package-settings\"><a class=\"header-anchor\" href=\"#optional-package-settings\" aria-hidden=\"true\">#</a> Optional Package Settings</h6>\n<p>If the specified dependency package is not supported by the current platform, or if the compilation and installation fails, then xmake will compile the error, which is reasonable for some projects that must rely on certain packages to work.\nHowever, if some packages are optional dependencies, they can be set to optional packages even if they are not compiled properly.</p>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">add_requires</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">,</span> <span class=\"token punctuation\">{</span>optional <span class=\"token operator\">=</span> <span class=\"token keyword\">true</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><h6 id=\"disable-system-library\"><a class=\"header-anchor\" href=\"#disable-system-library\" aria-hidden=\"true\">#</a> Disable System Library</h6>\n<p>With the default settings, xmake will first check to see if the system library exists (if no version is required). If the user does not want to use the system library and the library provided by the third-party package management, then you can set:</p>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">add_requires</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">,</span> <span class=\"token punctuation\">{</span>system <span class=\"token operator\">=</span> <span class=\"token keyword\">false</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><h6 id=\"using-the-debug-version-of-the-package\"><a class=\"header-anchor\" href=\"#using-the-debug-version-of-the-package\" aria-hidden=\"true\">#</a> Using the debug version of the package</h6>\n<p>If we want to debug the dependencies at the same time, we can set them to use the debug version of the package (provided that this package supports debug compilation):</p>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">add_requires</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">,</span> <span class=\"token punctuation\">{</span>debug <span class=\"token operator\">=</span> <span class=\"token keyword\">true</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>If the current package does not support debug compilation, you can submit the modified compilation rules in the repository to support the debug, for example:</p>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">package</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"openssl\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">on_install</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"linux\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"macosx\"</span><span class=\"token punctuation\">,</span> <span class=\"token keyword\">function</span> <span class=\"token punctuation\">(</span>package<span class=\"token punctuation\">)</span>\n os<span class=\"token punctuation\">.</span><span class=\"token function\">vrun</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"./config %s --prefix=\\\"%s\\\"\"</span><span class=\"token punctuation\">,</span> package<span class=\"token punctuation\">:</span><span class=\"token function\">debug</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">and</span> <span class=\"token string\">\"--debug\"</span> <span class=\"token keyword\">or</span> <span class=\"token string\">\"\"</span><span class=\"token punctuation\">,</span> package<span class=\"token punctuation\">:</span><span class=\"token function\">installdir</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n os<span class=\"token punctuation\">.</span><span class=\"token function\">vrun</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"make -j4\"</span><span class=\"token punctuation\">)</span>\n os<span class=\"token punctuation\">.</span><span class=\"token function\">vrun</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"make install\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token keyword\">end</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><h6 id=\"passing-additional-compilation-information-to-the-package\"><a class=\"header-anchor\" href=\"#passing-additional-compilation-information-to-the-package\" aria-hidden=\"true\">#</a> Passing additional compilation information to the package</h6>\n<p>Some packages have various compile options at compile time, and we can pass them in. Of course, the package itself supports:</p>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">add_requires</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">,</span> <span class=\"token punctuation\">{</span>config <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span>small<span class=\"token operator\">=</span><span class=\"token keyword\">true</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>Pass <code>--small=true</code> to the tbox package so that compiling the installed tbox package is enabled.</p>\n<h5 id=\"using-self-built-private-package-warehouse\"><a class=\"header-anchor\" href=\"#using-self-built-private-package-warehouse\" aria-hidden=\"true\">#</a> Using self-built private package warehouse</h5>\n<p>If the required package is not in the official repository <a href=\"https://github.com/tboox/xmake-repo\" target=\"_blank\" rel=\"noopener noreferrer\">xmake-repo<OutboundLink/></a>, we can submit the contribution code to the repository for support.\nBut if some packages are only for personal or private projects, we can create a private repository repo. The repository organization structure can be found at: <a href=\"https://github.com/tboox/xmake-repo\" target=\"_blank\" rel=\"noopener noreferrer\">xmake-repo<OutboundLink/></a></p>\n<p>For example, now we have a private repository repo:<code>git@github.com:myrepo/xmake-repo.git</code></p>\n<p>We can add the repository with the following command:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake repo --add myrepo git@github.com:myrepo/xmake-repo.git\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>Or we write directly in xmake.lua:</p>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">add_repositories</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"my-repo git@github.com:myrepo/xmake-repo.git\"</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>If we just want to add one or two private packages, this time to build a git repo is too big, we can directly put the package repository into the project, for example:</p>\n<!--beforebegin--><div class=\"language- extra-class\"><!--afterbegin--><pre v-pre class=\"language-text\"><code>projectdir\n - myrepo\n - packages\n - t/tbox/xmake.lua\n - z/zlib/xmake.lua\n - src\n - main.c\n - xmake.lua\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>The above myrepo directory is your own private package repository, built into your own project, and then add this repository location in xmake.lua:</p>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">add_repositories</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"my-repo myrepo\"</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>This can be referred to [benchbox] (https://github.com/tboox/benchbox) project, which has a built-in private repository.</p>\n<p>We can even build a package without directly building a package description into the project xmake.lua, which is useful for relying on one or two packages, for example:</p>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">package</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"libjpeg\"</span><span class=\"token punctuation\">)</span>\n\n <span class=\"token function\">set_urls</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"http://www.ijg.org/files/jpegsrc.$(version).tar.gz\"</span><span class=\"token punctuation\">)</span>\n\n <span class=\"token function\">add_versions</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"v9c\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"650250979303a649e21f87b5ccd02672af1ea6954b911342ea491f351ceb7122\"</span><span class=\"token punctuation\">)</span>\n\n <span class=\"token function\">on_install</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"windows\"</span><span class=\"token punctuation\">,</span> <span class=\"token keyword\">function</span> <span class=\"token punctuation\">(</span>package<span class=\"token punctuation\">)</span>\n os<span class=\"token punctuation\">.</span><span class=\"token function\">mv</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"jconfig.vc\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"jconfig.h\"</span><span class=\"token punctuation\">)</span>\n os<span class=\"token punctuation\">.</span><span class=\"token function\">vrun</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"nmake -f makefile.vc\"</span><span class=\"token punctuation\">)</span>\n os<span class=\"token punctuation\">.</span><span class=\"token function\">cp</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"*.h\"</span><span class=\"token punctuation\">,</span> package<span class=\"token punctuation\">:</span><span class=\"token function\">installdir</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"include\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n os<span class=\"token punctuation\">.</span><span class=\"token function\">cp</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"libjpeg.lib\"</span><span class=\"token punctuation\">,</span> package<span class=\"token punctuation\">:</span><span class=\"token function\">installdir</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"lib\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n <span class=\"token keyword\">end</span><span class=\"token punctuation\">)</span>\n\n <span class=\"token function\">on_install</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"macosx\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"linux\"</span><span class=\"token punctuation\">,</span> <span class=\"token keyword\">function</span> <span class=\"token punctuation\">(</span>package<span class=\"token punctuation\">)</span>\n <span class=\"token function\">import</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"package.tools.autoconf\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">install</span><span class=\"token punctuation\">(</span>package<span class=\"token punctuation\">)</span>\n <span class=\"token keyword\">end</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token function\">package_end</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token function\">add_requires</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"libjpeg\"</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"test\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">set_kind</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"binary\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"src/*.c\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_packages</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"libjpeg\"</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><h5 id=\"package-management-command-use\"><a class=\"header-anchor\" href=\"#package-management-command-use\" aria-hidden=\"true\">#</a> Package Management Command Use</h5>\n<p>The package management command <code>$ xmake require</code> can be used to manually display the download, install, uninstall, retrieve, and view package information.</p>\n<h6 id=\"install-the-specified-package\"><a class=\"header-anchor\" href=\"#install-the-specified-package\" aria-hidden=\"true\">#</a> Install the specified package</h6>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake require tbox\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>Install the specified version package:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake require tbox <span class=\"token string\">\"~1.6\"</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>Force a re-download of the installation and display detailed installation information:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake require -f -v tbox <span class=\"token string\">\"1.5.x\"</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>Pass additional setup information:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake require --extra<span class=\"token operator\">=</span><span class=\"token string\">\"debug=true,config={small=true}\"</span> tbox\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>Install the debug package and pass the compilation configuration information of <code>small=true</code> to the package.</p>\n<h6 id=\"uninstalling-the-specified-package\"><a class=\"header-anchor\" href=\"#uninstalling-the-specified-package\" aria-hidden=\"true\">#</a> Uninstalling the specified package</h6>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake require --uninstall tbox\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>This will completely uninstall the removal package file.</p>\n<h6 id=\"remove-the-specified-package\"><a class=\"header-anchor\" href=\"#remove-the-specified-package\" aria-hidden=\"true\">#</a> Remove the specified package</h6>\n<p>Only unlink specifies the package, it is not detected by the current project, but the package still exists locally. If it is reinstalled, it will be completed very quickly.</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake require --unlink tbox\n</code></pre>\n<!--beforeend--></div><!--afterend--><h6 id=\"view-package-details\"><a class=\"header-anchor\" href=\"#view-package-details\" aria-hidden=\"true\">#</a> View package details</h6>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake require --info tbox\n</code></pre>\n<!--beforeend--></div><!--afterend--><h6 id=\"search-for-packages-in-the-current-warehouse\"><a class=\"header-anchor\" href=\"#search-for-packages-in-the-current-warehouse\" aria-hidden=\"true\">#</a> Search for packages in the current warehouse</h6>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake require --search tbox\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>This is to support fuzzy search and lua pattern matching search:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake require --search pcr\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>Will also search for pcre, pcre2 and other packages.</p>\n<h6 id=\"list-the-currently-installed-packages\"><a class=\"header-anchor\" href=\"#list-the-currently-installed-packages\" aria-hidden=\"true\">#</a> List the currently installed packages</h6>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake require --list\n</code></pre>\n<!--beforeend--></div><!--afterend--><h5 id=\"warehouse-management-command-use\"><a class=\"header-anchor\" href=\"#warehouse-management-command-use\" aria-hidden=\"true\">#</a> Warehouse Management Command Use</h5>\n<p>As mentioned above, adding a private repository is available (supporting local path addition):</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake repo --add myrepo git@github.com:myrepo/xmake-repo.git\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>We can also remove a repository that has already been installed:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake repo --remove myrepo\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>Or view all the added warehouses:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake repo --list\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>If the remote repository has updates, you can manually perform a warehouse update to get more and the latest packages:</p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake repo -u\n</code></pre>\n<!--beforeend--></div><!--afterend--><h5 id=\"submit-the-package-to-the-official-warehouse\"><a class=\"header-anchor\" href=\"#submit-the-package-to-the-official-warehouse\" aria-hidden=\"true\">#</a> Submit the package to the official warehouse</h5>\n<p>If you need a package that is not supported by the current official repository, you can commit it to the official repository after local tuning: <a href=\"https://github.com/tboox/xmake-repo\" target=\"_blank\" rel=\"noopener noreferrer\">xmake-repo<OutboundLink/></a></p>\n<p>For detailed contribution descriptions, see: <a href=\"https://github.com/tboox/xmake-repo/blob/master/CONTRIBUTING.md\" target=\"_blank\" rel=\"noopener noreferrer\">CONTRIBUTING.md<OutboundLink/></a></p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b627e59aafa1571bb7ca442bacf4c4db.json b/node_modules/vuepress/node_modules/.cache/vuepress/b627e59aafa1571bb7ca442bacf4c4db.json new file mode 100644 index 00000000..170bf2f0 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b627e59aafa1571bb7ca442bacf4c4db.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/zh/api/introduction.md?vue&type=template&id=2d9e32d4&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/zh/api/introduction.md","mtime":1541569045944},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"title1\"><a class=\"header-anchor\" href=\"#title1\" aria-hidden=\"true\">#</a> Title1</h1>\n<p><div class=\"table-of-contents\"><ul><li><a href=\"#title2\">Title2</a><ul><li><a href=\"#title3\">Title3</a></li><li><a href=\"#title3\">Title3</a></li></ul></li><li><a href=\"#title2\">Title2</a><ul><li><a href=\"#title3\">Title3</a></li></ul></li></ul></div></p>\n<h2 id=\"title2\"><a class=\"header-anchor\" href=\"#title2\" aria-hidden=\"true\">#</a> Title2</h2>\n<h3 id=\"title3\"><a class=\"header-anchor\" href=\"#title3\" aria-hidden=\"true\">#</a> Title3</h3>\n<h4 id=\"title4\"><a class=\"header-anchor\" href=\"#title4\" aria-hidden=\"true\">#</a> Title4</h4>\n<h5 id=\"title5\"><a class=\"header-anchor\" href=\"#title5\" aria-hidden=\"true\">#</a> Title5</h5>\n<p>...</p>\n<h5 id=\"title5-2\"><a class=\"header-anchor\" href=\"#title5-2\" aria-hidden=\"true\">#</a> Title5</h5>\n<p>...</p>\n<h4 id=\"title4-2\"><a class=\"header-anchor\" href=\"#title4-2\" aria-hidden=\"true\">#</a> Title4</h4>\n<p>...</p>\n<h3 id=\"title3-2\"><a class=\"header-anchor\" href=\"#title3-2\" aria-hidden=\"true\">#</a> Title3</h3>\n<p>...</p>\n<h2 id=\"title2-2\"><a class=\"header-anchor\" href=\"#title2-2\" aria-hidden=\"true\">#</a> Title2</h2>\n<p>...</p>\n<h3 id=\"title3-3\"><a class=\"header-anchor\" href=\"#title3-3\" aria-hidden=\"true\">#</a> Title3</h3>\n<p>...</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b6614280ff215e3ac09c1e5744aff53f.json b/node_modules/vuepress/node_modules/.cache/vuepress/b6614280ff215e3ac09c1e5744aff53f.json new file mode 100644 index 00000000..e5eff908 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b6614280ff215e3ac09c1e5744aff53f.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue?vue&type=template&id=649143b0&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.userLinks.length || _vm.repoLink)?_c('nav',{staticClass:\"nav-links\"},[_vm._l((_vm.userLinks),function(item){return _c('div',{key:item.link,staticClass:\"nav-item\"},[(item.type === 'links')?_c('DropdownLink',{attrs:{\"item\":item}}):_c('NavLink',{attrs:{\"item\":item}})],1)}),_vm._v(\" \"),(_vm.repoLink)?_c('a',{staticClass:\"repo-link\",attrs:{\"href\":_vm.repoLink,\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"\\n \"+_vm._s(_vm.repoLabel)+\"\\n \"),_c('OutboundLink')],1):_vm._e()],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b7058d9e937c10eb93e94717f47bc025.json b/node_modules/vuepress/node_modules/.cache/vuepress/b7058d9e937c10eb93e94717f47bc025.json new file mode 100644 index 00000000..8cfdc7a1 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b7058d9e937c10eb93e94717f47bc025.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./Page.vue?vue&type=template&id=17e966b4&\"\nimport script from \"./Page.vue?vue&type=script&lang=js&\"\nexport * from \"./Page.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Page.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('17e966b4', component.options)\n } else {\n api.reload('17e966b4', component.options)\n }\n module.hot.accept(\"./Page.vue?vue&type=template&id=17e966b4&\", function () {\n api.rerender('17e966b4', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/default-theme/Page.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b723d7e69b2f1c55b95003a342a87a46.json b/node_modules/vuepress/node_modules/.cache/vuepress/b723d7e69b2f1c55b95003a342a87a46.json new file mode 100644 index 00000000..f8c81bb6 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b723d7e69b2f1c55b95003a342a87a46.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/README.md?vue&type=template&id=266af043&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/README.md","mtime":1541491987988},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><!--beforebegin--><div class=\"language-c extra-class\"><!--afterbegin--><pre v-pre class=\"language-c\"><code><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">\"tbox/tbox.h\"</span></span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> argc<span class=\"token punctuation\">,</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span> argv<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// init tbox</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">tb_init</span><span class=\"token punctuation\">(</span>tb_null<span class=\"token punctuation\">,</span> tb_null<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// init vector</span>\n tb_vector_ref_t vector <span class=\"token operator\">=</span> <span class=\"token function\">tb_vector_init</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">tb_element_cstr</span><span class=\"token punctuation\">(</span>tb_true<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// insert item</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// dump all items</span>\n tb_for_all <span class=\"token punctuation\">(</span>tb_char_t <span class=\"token keyword\">const</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">,</span> vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%s\"</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit vector</span>\n <span class=\"token function\">tb_vector_exit</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b7f1ae663edf0599edadda3968d9f8ba.json b/node_modules/vuepress/node_modules/.cache/vuepress/b7f1ae663edf0599edadda3968d9f8ba.json new file mode 100644 index 00000000..dcbe382d --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b7f1ae663edf0599edadda3968d9f8ba.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/zh/manual.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/zh/manual.md","mtime":1489213929000},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./manual.md?vue&type=template&id=0a36aeef&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('0a36aeef', component.options)\n } else {\n api.reload('0a36aeef', component.options)\n }\n module.hot.accept(\"./manual.md?vue&type=template&id=0a36aeef&\", function () {\n api.rerender('0a36aeef', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"docs/guide/zh/manual.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b7fc0957ec7442473ef914781446fffa.json b/node_modules/vuepress/node_modules/.cache/vuepress/b7fc0957ec7442473ef914781446fffa.json new file mode 100644 index 00000000..db187596 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b7fc0957ec7442473ef914781446fffa.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/Content.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/Content.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["export default {\n functional: true,\n props: {\n custom: {\n type: Boolean,\n default: true\n }\n },\n render: function render(h, _ref) {\n var parent = _ref.parent,\n props = _ref.props,\n data = _ref.data;\n return h(parent.$page.key, {\n class: [props.custom ? 'custom' : '', data.class, data.staticClass],\n style: data.style\n });\n }\n};",{"version":3,"sources":["node_modules/vuepress/lib/app/components/Content.js"],"names":["functional","props","custom","type","Boolean","default","render","h","parent","data","$page","key","class","staticClass","style"],"mappings":"AAAA,eAAe;AACbA,cAAY,IADC;AAGbC,SAAO;AACLC,YAAQ;AACNC,YAAMC,OADA;AAENC,eAAS;AAFH;AADH,GAHM;AAUbC,QAVa,kBAULC,CAVK,QAUuB;AAAA,QAAvBC,MAAuB,QAAvBA,MAAuB;AAAA,QAAfP,KAAe,QAAfA,KAAe;AAAA,QAARQ,IAAQ,QAARA,IAAQ;AAClC,WAAOF,EAAEC,OAAOE,KAAP,CAAaC,GAAf,EAAoB;AACzBC,aAAO,CAACX,MAAMC,MAAN,GAAe,QAAf,GAA0B,EAA3B,EAA+BO,KAAKG,KAApC,EAA2CH,KAAKI,WAAhD,CADkB;AAEzBC,aAAOL,KAAKK;AAFa,KAApB,CAAP;AAID;AAfY,CAAf","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["export default {\n functional: true,\n\n props: {\n custom: {\n type: Boolean,\n default: true\n }\n },\n\n render (h, { parent, props, data }) {\n return h(parent.$page.key, {\n class: [props.custom ? 'custom' : '', data.class, data.staticClass],\n style: data.style\n })\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b859089630e444cfac9424ae07b1cb26.json b/node_modules/vuepress/node_modules/.cache/vuepress/b859089630e444cfac9424ae07b1cb26.json new file mode 100644 index 00000000..59414a20 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b859089630e444cfac9424ae07b1cb26.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/README.md?vue&type=template&id=8a4bbf68&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/README.md","mtime":1541488927605},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b8945e19bb4e19cf40d79cc94904a3cd.json b/node_modules/vuepress/node_modules/.cache/vuepress/b8945e19bb4e19cf40d79cc94904a3cd.json new file mode 100644 index 00000000..ac7d6b90 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b8945e19bb4e19cf40d79cc94904a3cd.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.dropdown-enter, .dropdown-leave-to\n height 0 !important\n\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b8aea06221ff69ea9236a324d457563b.json b/node_modules/vuepress/node_modules/.cache/vuepress/b8aea06221ff69ea9236a324d457563b.json new file mode 100644 index 00000000..848119cc --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b8aea06221ff69ea9236a324d457563b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLink.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport { isExternal, isMailto, isTel, ensureExt } from './util'\n\nexport default {\n props: {\n item: {\n required: true\n }\n },\n\n computed: {\n link () {\n return ensureExt(this.item.link)\n },\n\n exact () {\n if (this.$site.locales) {\n return Object.keys(this.$site.locales).some(rootLink => rootLink === this.link)\n }\n return this.link === '/'\n }\n },\n\n methods: {\n isExternal,\n isMailto,\n isTel\n }\n}\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b8b95113e28f44931e45f507f270ad33.json b/node_modules/vuepress/node_modules/.cache/vuepress/b8b95113e28f44931e45f507f270ad33.json new file mode 100644 index 00000000..19e04200 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b8b95113e28f44931e45f507f270ad33.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/manual/index.md?vue&type=template&id=c064eaca&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/manual/index.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._ssrNode(\"<h1 id=\\\"manual\\\"><a href=\\\"#manual\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Manual</h1> <p>[TODO]</p>\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b8d57c1fd903aa48910172eb6e4d59ff.json b/node_modules/vuepress/node_modules/.cache/vuepress/b8d57c1fd903aa48910172eb6e4d59ff.json new file mode 100644 index 00000000..0505ec2b --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b8d57c1fd903aa48910172eb6e4d59ff.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue?vue&type=template&id=67f2a5b2&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"sidebar-button\",\n on: {\n click: function($event) {\n _vm.$emit(\"toggle-sidebar\")\n }\n }\n },\n [\n _c(\n \"svg\",\n {\n staticClass: \"icon\",\n attrs: {\n xmlns: \"http://www.w3.org/2000/svg\",\n \"aria-hidden\": \"true\",\n role: \"img\",\n viewBox: \"0 0 448 512\"\n }\n },\n [\n _c(\"path\", {\n attrs: {\n fill: \"currentColor\",\n d:\n \"M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z\"\n }\n })\n ]\n )\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b8f5ae09869bcfd93639853b8b0f2123.json b/node_modules/vuepress/node_modules/.cache/vuepress/b8f5ae09869bcfd93639853b8b0f2123.json new file mode 100644 index 00000000..96f59f15 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b8f5ae09869bcfd93639853b8b0f2123.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/guide/getting-started.md","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/guide/getting-started.md","mtime":1541598674687},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./getting-started.md?vue&type=template&id=d7bc09fe&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('d7bc09fe', component.options)\n } else {\n api.reload('d7bc09fe', component.options)\n }\n module.hot.accept(\"./getting-started.md?vue&type=template&id=d7bc09fe&\", function () {\n api.rerender('d7bc09fe', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/guide/getting-started.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b8fb0476b545efd02b8312e6755e4345.json b/node_modules/vuepress/node_modules/.cache/vuepress/b8fb0476b545efd02b8312e6755e4345.json new file mode 100644 index 00000000..0c59aea5 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b8fb0476b545efd02b8312e6755e4345.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/introduction.md?vue&type=template&id=2b93628e&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/introduction.md","mtime":1541488030814},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._m(0),_vm._v(\" \"),_c('p',[_vm._v(\"TBOX is a glib-like cross-platform C library that is simple to use yet powerful in nature.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The project focuses on making C development easier and provides many modules (.e.g stream, coroutine, regex, container, algorithm ...),\\nso that any developer can quickly pick it up and enjoy the productivity boost when developing in C language.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"It supports the following platforms:\")]),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('p',[_vm._v(\"And it provides many compiling options using \"),_c('a',{attrs:{\"href\":\"http://www.xmake.io\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"xmake\"),_c('OutboundLink')],1),_vm._v(\":\")]),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_c('p',[_vm._v(\"If you want to know more, please refer to:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"http://tboox.org\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"HomePage\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/tboox/tbox/wiki/documents\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"Documents\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/tboox/tbox\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"Github\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://gitee.com/tboox/tbox\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"Gitee\"),_c('OutboundLink')],1)])]),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_vm._m(5),_vm._v(\" \"),_vm._m(6),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Provides high-performance coroutine switch(refer to \"),_c('a',{attrs:{\"href\":\"http://tboox.org/2016/10/28/benchbox-coroutine/\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"reports\"),_c('OutboundLink')],1),_vm._v(\")\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Supports arm, arm64, x86, x86_64 ..\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Provides channel interfaces\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Provides semaphore and lock interfaces\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Supports io socket and stream operation in coroutine\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Provides some io servers (http ..) using coroutine\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Provides stackfull and stackless coroutines\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Support epoll, kqueue, poll, select and IOCP\")])]),_vm._v(\" \"),_vm._m(7),_vm._v(\" \"),_vm._m(8),_vm._v(\" \"),_vm._m(9),_vm._v(\" \"),_vm._m(10),_vm._v(\" \"),_vm._m(11),_vm._v(\" \"),_vm._m(12),_vm._v(\" \"),_vm._m(13),_vm._v(\" \"),_vm._m(14),_vm._v(\" \"),_vm._m(15),_vm._v(\" \"),_vm._m(16),_vm._v(\" \"),_vm._m(17),_vm._v(\" \"),_vm._m(18),_vm._v(\" \"),_vm._m(19),_vm._v(\" \"),_vm._m(20),_vm._v(\" \"),_vm._m(21),_vm._v(\" \"),_vm._m(22),_vm._v(\" \"),_vm._m(23),_vm._v(\" \"),_vm._m(24),_vm._v(\" \"),_vm._m(25),_vm._v(\" \"),_vm._m(26),_vm._v(\" \"),_vm._m(27),_vm._v(\" \"),_vm._m(28),_vm._v(\" \"),_vm._m(29),_vm._v(\" \"),_vm._m(30),_vm._v(\" \"),_vm._m(31),_vm._v(\" \"),_vm._m(32),_vm._v(\" \"),_vm._m(33),_vm._v(\" \"),_vm._m(34),_vm._v(\" \"),_vm._m(35),_vm._v(\" \"),_vm._m(36),_vm._v(\" \"),_vm._m(37),_vm._v(\" \"),_vm._m(38),_vm._v(\" \"),_vm._m(39),_vm._v(\" \"),_c('p',[_vm._v(\"Some projects using tbox:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/tboox/gbox\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"gbox\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/tboox/vm86\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"vm86\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"http://www.xmake.io\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"xmake\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/tboox/itrace\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"itrace\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/tboox/tbox/wiki/tbox-projects\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"more\"),_c('OutboundLink')],1)])]),_vm._v(\" \"),_vm._m(40),_vm._v(\" \"),_c('ul',[_vm._m(41),_vm._v(\" \"),_c('li',[_vm._v(\"Homepage:\"),_c('a',{attrs:{\"href\":\"http://www.tboox.org\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"tboox.org\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_vm._v(\"Community:\"),_c('a',{attrs:{\"href\":\"https://www.reddit.com/r/tboox/\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"/r/tboox on reddit\"),_c('OutboundLink')],1)])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h1',{attrs:{\"id\":\"introduction\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#introduction\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Introduction\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Windows\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Macosx\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Linux\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Android\")]),_vm._v(\" \"),_c('li',[_vm._v(\"iOS\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Release: Disable debug information, assertion, memory checking and enable optimization.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Debug: Enable debug information, assertion, memory checking and disable optimization.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Small: Disable all extensional modules and enable space optimization.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Micro: compiling micro library (~64K) for the embed system.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',{attrs:{\"id\":\"features\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#features\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Features\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-stream-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-stream-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The stream library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Supports file, data, http and socket source\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Supports the stream filter for gzip, charset and...\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements stream transfer\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements the static buffer stream for parsing data\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Supports coroutine and implements asynchronous operation\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-coroutine-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-coroutine-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The coroutine library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-database-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-database-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The database library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Supports mysql and sqlite3 database and enumerates data using the iterator mode\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-xml-parser-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-xml-parser-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The xml parser library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Supports DOM and SAX mode and Supports xpath\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-serialization-and-deserialization-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-serialization-and-deserialization-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The serialization and deserialization library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Supports xml, json, bplist, xplist, binary formats\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-memory-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-memory-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The memory library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Implements some memory pools for optimizing memory\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Supports fast memory error detecting. it can detect the following types of bugs for the debug mode:\\n\"),_c('ul',[_c('li',[_vm._v(\"out-of-bounds accesses to heap and globals\")]),_vm._v(\" \"),_c('li',[_vm._v(\"use-after-free\")]),_vm._v(\" \"),_c('li',[_vm._v(\"double-free, invalid free\")]),_vm._v(\" \"),_c('li',[_vm._v(\"memory leaks\")])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-container-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-container-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The container library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Implements hash table, single list, double list, vector, stack, queue\\nand min/max heap. Supports iterator mode for algorithm\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-algorithm-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-algorithm-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The algorithm library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Uses the iterator mode\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements find, binary find and reverse find algorithm\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements sort, bubble sort, quick sort, heap sort and insert sort algorithm\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements count, walk items, reverse walk items, for_all and rfor_all\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-network-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-network-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The network library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Implements dns(cached)\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements ssl(openssl, polarssl, mbedtls)\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements http\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements cookies\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Supports ipv4, ipv6\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Supports coroutine\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-platform-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-platform-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The platform library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Implements timer, fast and low precision timer\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements atomic and atomic64 operation\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements spinlock, mutex, event, semaphore, thread and thread pool\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements file, socket operation\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements poller using epoll, poll, select, kqueue ...\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements switch context interfaces for coroutine\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-charset-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-charset-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The charset library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Supports utf8, utf16, gbk, gb2312, uc2 and uc4\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Supports big endian and little endian mode\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-zip-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-zip-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The zip library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Supports gzip, zlibraw, zlib formats using the zlib library if exists\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements lzsw, lz77 and rlc algorithm\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-utils-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-utils-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The utils library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Implements base32, base64 encoder and decoder\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements assert and trace output for the debug mode\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements bits operation for parsing u8, u16, u32, u64 data\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-math-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-math-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The math library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Implements random generator\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements fast fixed-point calculation, Supports 6-bits, 16-bits, 30-bits fixed-point number\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-libc-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-libc-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The libc library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Implements lightweight libc library interfaces, the interface name contains \"),_c('code',[_vm._v(\"tb_xxx\")]),_vm._v(\" prefix for avoiding conflict\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements strixxx strrxxx wcsixxx wcsrxxx interface extension\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Optimizes some frequently-used interface, .e.g. memset, memcpy, strcpy ...\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements \"),_c('code',[_vm._v(\"memset_u16\")]),_vm._v(\", \"),_c('code',[_vm._v(\"memset_u32\")]),_vm._v(\", \"),_c('code',[_vm._v(\"memset_u64\")]),_vm._v(\" extension interfaces\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-libm-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-libm-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The libm library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Implements lightweight libm library interfaces, the interface name contains \"),_c('code',[_vm._v(\"tb_xxx\")]),_vm._v(\" prefix for avoiding conflict\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Supports float and double type\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-regex-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-regex-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The regex library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Supports match and replace\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Supports global/multiline/caseless mode\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Uses pcre, pcre2 and posix regex modules\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-hash-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-hash-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The hash library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Implements crc32, adler32, md5 and sha1 hash algorithm\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements some string hash algorithms (.e.g bkdr, fnv32, fnv64, sdbm, djb2, rshash, aphash ...)\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements uuid generator\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',{attrs:{\"id\":\"projects\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#projects\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Projects\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',{attrs:{\"id\":\"contacts\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#contacts\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Contacts\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_vm._v(\"Email:\"),_c('a',{attrs:{\"href\":\"mailto:waruqi@gmail.com\"}},[_vm._v(\"waruqi@gmail.com\")])])}]\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/b9d4946a5ed8b0055718430255b4635e.json b/node_modules/vuepress/node_modules/.cache/vuepress/b9d4946a5ed8b0055718430255b4635e.json new file mode 100644 index 00000000..3849292e --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/b9d4946a5ed8b0055718430255b4635e.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/getting-started.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/getting-started.md","mtime":1541489096650},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./getting-started.md?vue&type=template&id=813ee7ba&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('813ee7ba', component.options)\n } else {\n api.reload('813ee7ba', component.options)\n }\n module.hot.accept(\"./getting-started.md?vue&type=template&id=813ee7ba&\", function () {\n api.rerender('813ee7ba', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"docs/zh/guide/getting-started.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/ba19bc0a007e6d0d7656c55d676d26d7.json b/node_modules/vuepress/node_modules/.cache/vuepress/ba19bc0a007e6d0d7656c55d676d26d7.json new file mode 100644 index 00000000..3d9ec3d0 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/ba19bc0a007e6d0d7656c55d676d26d7.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/README.md?vue&type=template&id=83e02194&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/README.md","mtime":1541598631436},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h2 id=\"simple-description\"><a class=\"header-anchor\" href=\"#simple-description\" aria-hidden=\"true\">#</a> Simple description</h2>\n<img src=\"https://xmake.io/assets/img/index/showcode1.png\" width=\"40%\" />\n<h2 id=\"package-dependences\"><a class=\"header-anchor\" href=\"#package-dependences\" aria-hidden=\"true\">#</a> Package dependences</h2>\n<img src=\"https://xmake.io/assets/img/index/add_require.png\" width=\"70%\" />\n<p>An official xmake package repository: <a href=\"https://github.com/tboox/xmake-repo\" target=\"_blank\" rel=\"noopener noreferrer\">xmake-repo<OutboundLink/></a></p>\n<h2 id=\"build-project\"><a class=\"header-anchor\" href=\"#build-project\" aria-hidden=\"true\">#</a> Build project</h2>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"run-target\"><a class=\"header-anchor\" href=\"#run-target\" aria-hidden=\"true\">#</a> Run target</h2>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake run console\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"debug-target\"><a class=\"header-anchor\" href=\"#debug-target\" aria-hidden=\"true\">#</a> Debug target</h2>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake run -d console\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"configure-platform\"><a class=\"header-anchor\" href=\"#configure-platform\" aria-hidden=\"true\">#</a> Configure platform</h2>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f -p <span class=\"token punctuation\">[</span>windows<span class=\"token operator\">|</span>linux<span class=\"token operator\">|</span>macosx<span class=\"token operator\">|</span>android<span class=\"token operator\">|</span>iphoneos <span class=\"token punctuation\">..</span><span class=\"token punctuation\">]</span> -a <span class=\"token punctuation\">[</span>x86<span class=\"token operator\">|</span>arm64 <span class=\"token punctuation\">..</span><span class=\"token punctuation\">]</span> -m <span class=\"token punctuation\">[</span>debug<span class=\"token operator\">|</span>release<span class=\"token punctuation\">]</span>\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"menu-configuration\"><a class=\"header-anchor\" href=\"#menu-configuration\" aria-hidden=\"true\">#</a> Menu configuration</h2>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake f --menu\n</code></pre>\n<!--beforeend--></div><!--afterend--><img src=\"https://xmake.io/assets/img/index/menuconf.png\" width=\"80%\" />\n<h2 id=\"package-management\"><a class=\"header-anchor\" href=\"#package-management\" aria-hidden=\"true\">#</a> Package management</h2>\n<img src=\"https://xmake.io/assets/img/index/package_manage.png\" width=\"80%\" />\n<h2 id=\"supported-platforms\"><a class=\"header-anchor\" href=\"#supported-platforms\" aria-hidden=\"true\">#</a> Supported platforms</h2>\n<ul>\n<li>Windows (x86, x64)</li>\n<li>macOS (i386, x86_64)</li>\n<li>Linux (i386, x86_64, cross-toolchains ...)</li>\n<li>Android (armv5te, armv6, armv7-a, armv8-a, arm64-v8a)</li>\n<li>iOS (armv7, armv7s, arm64, i386, x86_64)</li>\n<li>WatchOS (armv7k, i386)</li>\n<li>MinGW (i386, x86_64)</li>\n</ul>\n<h2 id=\"supported-languages\"><a class=\"header-anchor\" href=\"#supported-languages\" aria-hidden=\"true\">#</a> Supported Languages</h2>\n<ul>\n<li>C</li>\n<li>C++</li>\n<li>Objective-C and Objective-C++</li>\n<li>Swift</li>\n<li>Assembly</li>\n<li>Golang</li>\n<li>Rust</li>\n<li>Dlang</li>\n<li>Cuda</li>\n</ul>\n<h2 id=\"supported-projects\"><a class=\"header-anchor\" href=\"#supported-projects\" aria-hidden=\"true\">#</a> Supported Projects</h2>\n<ul>\n<li>Static Library</li>\n<li>Shared Library</li>\n<li>Console</li>\n<li>Cuda Program</li>\n<li>Qt Application</li>\n<li>WDK Driver (umdf/kmdf/wdm)</li>\n<li>WinSDK Application</li>\n</ul>\n<h2 id=\"builtin-plugins\"><a class=\"header-anchor\" href=\"#builtin-plugins\" aria-hidden=\"true\">#</a> Builtin Plugins</h2>\n<h4 id=\"macros-script-plugin\"><a class=\"header-anchor\" href=\"#macros-script-plugin\" aria-hidden=\"true\">#</a> Macros script plugin</h4>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake m -b <span class=\"token comment\"># start to record</span>\n$ xmake f -p iphoneos -m debug\n$ xmake\n$ xmake f -p android --ndk<span class=\"token operator\">=</span>~/files/android-ndk-r16b\n$ xmake\n$ xmake m -e <span class=\"token comment\"># stop to record</span>\n$ xmake m <span class=\"token keyword\">.</span> <span class=\"token comment\"># playback commands</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><h4 id=\"run-the-custom-lua-script-plugin\"><a class=\"header-anchor\" href=\"#run-the-custom-lua-script-plugin\" aria-hidden=\"true\">#</a> Run the custom lua script plugin</h4>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake l ./test.lua\n$ xmake l -c <span class=\"token string\">\"print('hello xmake!')\"</span>\n$ xmake l lib.detect.find_tool gcc\n</code></pre>\n<!--beforeend--></div><!--afterend--><h4 id=\"generate-ide-project-file-plugin(makefile-vs2002-vs2017-)\"><a class=\"header-anchor\" href=\"#generate-ide-project-file-plugin(makefile-vs2002-vs2017-)\" aria-hidden=\"true\">#</a> Generate IDE project file plugin(makefile, vs2002 - vs2017 .. )</h4>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake project -k vs2017 -m <span class=\"token string\">\"debug,release\"</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><h4 id=\"generate-doxygen-document-plugin\"><a class=\"header-anchor\" href=\"#generate-doxygen-document-plugin\" aria-hidden=\"true\">#</a> Generate doxygen document plugin</h4>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code>$ xmake doxygen <span class=\"token punctuation\">[</span>srcdir<span class=\"token punctuation\">]</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"more-plugins\"><a class=\"header-anchor\" href=\"#more-plugins\" aria-hidden=\"true\">#</a> More Plugins</h2>\n<p>Please download and install from the plugins repository <a href=\"https://github.com/tboox/xmake-plugins\" target=\"_blank\" rel=\"noopener noreferrer\">xmake-plugins<OutboundLink/></a>.</p>\n<h2 id=\"ide-editor-integration\"><a class=\"header-anchor\" href=\"#ide-editor-integration\" aria-hidden=\"true\">#</a> IDE/Editor Integration</h2>\n<ul>\n<li><a href=\"https://github.com/tboox/xmake-vscode\" target=\"_blank\" rel=\"noopener noreferrer\">xmake-vscode<OutboundLink/></a></li>\n</ul>\n<img src=\"https://raw.githubusercontent.com/tboox/xmake-vscode/master/res/problem.gif\" width=\"60%\" />\n<ul>\n<li><a href=\"https://github.com/tboox/xmake-sublime\" target=\"_blank\" rel=\"noopener noreferrer\">xmake-sublime<OutboundLink/></a></li>\n</ul>\n<img src=\"https://raw.githubusercontent.com/tboox/xmake-sublime/master/res/problem.gif\" width=\"60%\" />\n<ul>\n<li><a href=\"https://github.com/tboox/xmake-idea\" target=\"_blank\" rel=\"noopener noreferrer\">xmake-idea<OutboundLink/></a></li>\n</ul>\n<img src=\"https://raw.githubusercontent.com/tboox/xmake-idea/master/res/problem.gif\" width=\"60%\" />\n<ul>\n<li><a href=\"https://github.com/luzhlon/xmake.vim\" target=\"_blank\" rel=\"noopener noreferrer\">xmake.vim<OutboundLink/></a> (third-party, thanks <a href=\"https://github.com/luzhlon\" target=\"_blank\" rel=\"noopener noreferrer\">@luzhlon<OutboundLink/></a>)</li>\n</ul>\n<h2 id=\"more-examples\"><a class=\"header-anchor\" href=\"#more-examples\" aria-hidden=\"true\">#</a> More Examples</h2>\n<p>Debug and release modes:</p>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">add_rules</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"mode.debug\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"mode.release\"</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"console\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">set_kind</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"binary\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"src/*.c\"</span><span class=\"token punctuation\">)</span> \n <span class=\"token keyword\">if</span> <span class=\"token function\">is_plat</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"windows\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"mingw\"</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">then</span>\n <span class=\"token function\">add_defines</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"XXX\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token keyword\">end</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>Custom script:</p>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"test\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">set_kind</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"static\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"src/*.cpp\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">after_build</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">function</span> <span class=\"token punctuation\">(</span>target<span class=\"token punctuation\">)</span>\n <span class=\"token function\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"build %s ok!\"</span><span class=\"token punctuation\">,</span> target<span class=\"token punctuation\">:</span><span class=\"token function\">targetfile</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n <span class=\"token keyword\">end</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><p>Extension Modules:</p>\n<!--beforebegin--><div class=\"language-lua extra-class\"><!--afterbegin--><pre v-pre class=\"language-lua\"><code><span class=\"token function\">target</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"test\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">set_kind</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"shared\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">add_files</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"src/*.c\"</span><span class=\"token punctuation\">)</span>\n <span class=\"token function\">on_load</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">function</span> <span class=\"token punctuation\">(</span>target<span class=\"token punctuation\">)</span>\n <span class=\"token function\">import</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"lib.detect.find_package\"</span><span class=\"token punctuation\">)</span>\n target<span class=\"token punctuation\">:</span><span class=\"token function\">add</span><span class=\"token punctuation\">(</span><span class=\"token function\">find_package</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"zlib\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n <span class=\"token keyword\">end</span><span class=\"token punctuation\">)</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"project-examples\"><a class=\"header-anchor\" href=\"#project-examples\" aria-hidden=\"true\">#</a> Project Examples</h2>\n<p>Some projects using xmake:</p>\n<ul>\n<li><a href=\"https://github.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">tbox<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/gbox\" target=\"_blank\" rel=\"noopener noreferrer\">gbox<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/vm86\" target=\"_blank\" rel=\"noopener noreferrer\">vm86<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/awesome-xmake\" target=\"_blank\" rel=\"noopener noreferrer\">more<OutboundLink/></a></li>\n</ul>\n<h2 id=\"example-video\"><a class=\"header-anchor\" href=\"#example-video\" aria-hidden=\"true\">#</a> Example Video</h2>\n<a href=\"https://asciinema.org/a/133693\">\n<img src=\"https://asciinema.org/a/133693.png\" width=\"60%\" />\n</a>\n<h2 id=\"contacts\"><a class=\"header-anchor\" href=\"#contacts\" aria-hidden=\"true\">#</a> Contacts</h2>\n<ul>\n<li>Email:<a href=\"mailto:waruqi@gmail.com\">waruqi@gmail.com</a></li>\n<li>Homepage:<a href=\"http://www.tboox.org\" target=\"_blank\" rel=\"noopener noreferrer\">tboox.org<OutboundLink/></a></li>\n<li>Community:<a href=\"https://www.reddit.com/r/tboox/\" target=\"_blank\" rel=\"noopener noreferrer\">/r/tboox on reddit<OutboundLink/></a></li>\n<li>ChatRoom:<a href=\"https://t.me/tbooxorg\" target=\"_blank\" rel=\"noopener noreferrer\">Char on telegram<OutboundLink/></a>, <a href=\"https://gitter.im/tboox/tboox?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\" target=\"_blank\" rel=\"noopener noreferrer\">Chat on gitter<OutboundLink/></a></li>\n<li>Source Code:<a href=\"https://github.com/tboox/xmake\" target=\"_blank\" rel=\"noopener noreferrer\">Github<OutboundLink/></a>, <a href=\"https://gitee.com/tboox/xmake\" target=\"_blank\" rel=\"noopener noreferrer\">Gitee<OutboundLink/></a></li>\n</ul>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/ba376896755375b445a53e96ce4791ff.json b/node_modules/vuepress/node_modules/.cache/vuepress/ba376896755375b445a53e96ce4791ff.json new file mode 100644 index 00000000..e7fa1dc1 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/ba376896755375b445a53e96ce4791ff.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLink.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./NavLink.vue?vue&type=template&id=32ed2476&\"\nimport script from \"./NavLink.vue?vue&type=script&lang=js&\"\nexport * from \"./NavLink.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('32ed2476', component.options)\n } else {\n api.reload('32ed2476', component.options)\n }\n module.hot.accept(\"./NavLink.vue?vue&type=template&id=32ed2476&\", function () {\n api.rerender('32ed2476', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/default-theme/NavLink.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/ba54b43f27beff92a3c8b8852ffb6edb.json b/node_modules/vuepress/node_modules/.cache/vuepress/ba54b43f27beff92a3c8b8852ffb6edb.json new file mode 100644 index 00000000..4039be11 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/ba54b43f27beff92a3c8b8852ffb6edb.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/manual/index.md?vue&type=template&id=3b83be08&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/manual/index.md","mtime":1541492172602},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"手册\"><a class=\"header-anchor\" href=\"#手册\" aria-hidden=\"true\">#</a> 手册</h1>\n<p>[TODO]</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/ba88bbdc89ba9fd23677ebe2a36196bc.json b/node_modules/vuepress/node_modules/.cache/vuepress/ba88bbdc89ba9fd23677ebe2a36196bc.json new file mode 100644 index 00000000..cfb02234 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/ba88bbdc89ba9fd23677ebe2a36196bc.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport { resolvePage, normalize, outboundRE, endingSlashRE } from './util'\n\nexport default {\n props: ['sidebarItems'],\n\n computed: {\n lastUpdated () {\n if (this.$page.lastUpdated) {\n return new Date(this.$page.lastUpdated).toLocaleString(this.$lang)\n }\n },\n\n lastUpdatedText () {\n if (typeof this.$themeLocaleConfig.lastUpdated === 'string') {\n return this.$themeLocaleConfig.lastUpdated\n }\n if (typeof this.$site.themeConfig.lastUpdated === 'string') {\n return this.$site.themeConfig.lastUpdated\n }\n return 'Last Updated'\n },\n\n prev () {\n const prev = this.$page.frontmatter.prev\n if (prev === false) {\n return\n } else if (prev) {\n return resolvePage(this.$site.pages, prev, this.$route.path)\n } else {\n return resolvePrev(this.$page, this.sidebarItems)\n }\n },\n\n next () {\n const next = this.$page.frontmatter.next\n if (next === false) {\n return\n } else if (next) {\n return resolvePage(this.$site.pages, next, this.$route.path)\n } else {\n return resolveNext(this.$page, this.sidebarItems)\n }\n },\n\n editLink () {\n if (this.$page.frontmatter.editLink === false) {\n return\n }\n const {\n repo,\n editLinks,\n docsDir = '',\n docsBranch = 'master',\n docsRepo = repo\n } = this.$site.themeConfig\n\n let path = normalize(this.$page.path)\n if (endingSlashRE.test(path)) {\n path += 'README.md'\n } else {\n path += '.md'\n }\n if (docsRepo && editLinks) {\n return this.createEditLink(repo, docsRepo, docsDir, docsBranch, path)\n }\n },\n\n editLinkText () {\n return (\n this.$themeLocaleConfig.editLinkText ||\n this.$site.themeConfig.editLinkText ||\n `Edit this page`\n )\n }\n },\n\n methods: {\n createEditLink (repo, docsRepo, docsDir, docsBranch, path) {\n const bitbucket = /bitbucket.org/\n if (bitbucket.test(repo)) {\n const base = outboundRE.test(docsRepo)\n ? docsRepo\n : repo\n return (\n base.replace(endingSlashRE, '') +\n `/${docsBranch}` +\n (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') +\n path +\n `?mode=edit&spa=0&at=${docsBranch}&fileviewer=file-view-default`\n )\n }\n\n const base = outboundRE.test(docsRepo)\n ? docsRepo\n : `https://github.com/${docsRepo}`\n\n return (\n base.replace(endingSlashRE, '') +\n `/edit/${docsBranch}` +\n (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') +\n path\n )\n }\n }\n}\n\nfunction resolvePrev (page, items) {\n return find(page, items, -1)\n}\n\nfunction resolveNext (page, items) {\n return find(page, items, 1)\n}\n\nfunction find (page, items, offset) {\n const res = []\n items.forEach(item => {\n if (item.type === 'group') {\n res.push(...item.children || [])\n } else {\n res.push(item)\n }\n })\n for (let i = 0; i < res.length; i++) {\n const cur = res[i]\n if (cur.type === 'page' && cur.path === page.path) {\n return res[i + offset]\n }\n }\n}\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/bab7586c00e8c8126c54927306fdbbe1.json b/node_modules/vuepress/node_modules/.cache/vuepress/bab7586c00e8c8126c54927306fdbbe1.json new file mode 100644 index 00000000..b840ed1e --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/bab7586c00e8c8126c54927306fdbbe1.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue?vue&type=template&id=61431e6a&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<transition\n name=\"dropdown\"\n @enter=\"setHeight\"\n @after-enter=\"unsetHeight\"\n @before-leave=\"setHeight\"\n>\n <slot/>\n</transition>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/bad85a6bc9d1b0482cc76e5bc037f319.json b/node_modules/vuepress/node_modules/.cache/vuepress/bad85a6bc9d1b0482cc76e5bc037f319.json new file mode 100644 index 00000000..af8e2060 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/bad85a6bc9d1b0482cc76e5bc037f319.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/root-mixins/updateMeta.js","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/root-mixins/updateMeta.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import \"core-js/modules/es6.object.keys\";\nimport \"core-js/modules/es6.array.map\";\nimport _toConsumableArray from \"/Users/ruki/projects/personal/xmake-docs/node_modules/@babel/runtime/helpers/builtin/es6/toConsumableArray\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.function.name\";\nimport \"core-js/modules/es6.array.filter\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.iterator\";\nimport \"core-js/modules/es6.string.iterator\";\nimport \"core-js/modules/es6.set\";\nexport default {\n created: function created() {\n if (this.$ssrContext) {\n this.$ssrContext.title = this.$title;\n this.$ssrContext.lang = this.$lang;\n this.$ssrContext.description = this.$page.description || this.$description;\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n // update title / meta tags\n this.currentMetaTags = new Set();\n\n var updateMeta = function updateMeta() {\n document.title = _this.$title;\n document.documentElement.lang = _this.$lang;\n var userMeta = _this.$page.frontmatter.meta || [];\n var meta = userMeta.slice(0);\n var useGlobalDescription = userMeta.filter(function (m) {\n return m.name === 'description';\n }).length === 0; // #665 Avoid duplicate description meta at runtime.\n\n if (useGlobalDescription) {\n meta.push({\n name: 'description',\n content: _this.$description\n });\n } // Including description meta coming from SSR.\n\n\n var descriptionMetas = document.querySelectorAll('meta[name=\"description\"]');\n\n if (descriptionMetas.length) {\n descriptionMetas.forEach(function (m) {\n return _this.currentMetaTags.add(m);\n });\n }\n\n _this.currentMetaTags = new Set(updateMetaTags(meta, _this.currentMetaTags));\n };\n\n this.$watch('$page', updateMeta);\n updateMeta();\n },\n beforeDestroy: function beforeDestroy() {\n updateMetaTags(null, this.currentMetaTags);\n }\n};\n\nfunction updateMetaTags(meta, current) {\n if (current) {\n _toConsumableArray(current).forEach(function (c) {\n document.head.removeChild(c);\n });\n }\n\n if (meta) {\n return meta.map(function (m) {\n var tag = document.createElement('meta');\n Object.keys(m).forEach(function (key) {\n tag.setAttribute(key, m[key]);\n });\n document.head.appendChild(tag);\n return tag;\n });\n }\n}",{"version":3,"sources":["node_modules/vuepress/lib/app/root-mixins/updateMeta.js"],"names":["created","$ssrContext","title","$title","lang","$lang","description","$page","$description","mounted","currentMetaTags","Set","updateMeta","document","documentElement","userMeta","frontmatter","meta","slice","useGlobalDescription","filter","m","name","length","push","content","descriptionMetas","querySelectorAll","forEach","add","updateMetaTags","$watch","beforeDestroy","current","head","removeChild","c","map","tag","createElement","Object","keys","setAttribute","key","appendChild"],"mappings":";;;;;;;;;;AAAA,eAAe;AACbA,SADa,qBACF;AACT,QAAI,KAAKC,WAAT,EAAsB;AACpB,WAAKA,WAAL,CAAiBC,KAAjB,GAAyB,KAAKC,MAA9B;AACA,WAAKF,WAAL,CAAiBG,IAAjB,GAAwB,KAAKC,KAA7B;AACA,WAAKJ,WAAL,CAAiBK,WAAjB,GAA+B,KAAKC,KAAL,CAAWD,WAAX,IAA0B,KAAKE,YAA9D;AACD;AACF,GAPY;AASbC,SATa,qBASF;AAAA;;AACT;AACA,SAAKC,eAAL,GAAuB,IAAIC,GAAJ,EAAvB;;AAEA,QAAMC,aAAa,SAAbA,UAAa,GAAM;AACvBC,eAASX,KAAT,GAAiB,MAAKC,MAAtB;AACAU,eAASC,eAAT,CAAyBV,IAAzB,GAAgC,MAAKC,KAArC;AACA,UAAMU,WAAW,MAAKR,KAAL,CAAWS,WAAX,CAAuBC,IAAvB,IAA+B,EAAhD;AACA,UAAMA,OAAOF,SAASG,KAAT,CAAe,CAAf,CAAb;AACA,UAAMC,uBAAuBJ,SAASK,MAAT,CAAgB;AAAA,eAAKC,EAAEC,IAAF,KAAW,aAAhB;AAAA,OAAhB,EAA+CC,MAA/C,KAA0D,CAAvF,CALuB,CAOvB;;AACA,UAAIJ,oBAAJ,EAA0B;AACxBF,aAAKO,IAAL,CAAU;AAAEF,gBAAM,aAAR;AAAuBG,mBAAS,MAAKjB;AAArC,SAAV;AACD,OAVsB,CAYvB;;;AACA,UAAMkB,mBAAmBb,SAASc,gBAAT,CAA0B,0BAA1B,CAAzB;;AACA,UAAID,iBAAiBH,MAArB,EAA6B;AAC3BG,yBAAiBE,OAAjB,CAAyB;AAAA,iBAAK,MAAKlB,eAAL,CAAqBmB,GAArB,CAAyBR,CAAzB,CAAL;AAAA,SAAzB;AACD;;AAED,YAAKX,eAAL,GAAuB,IAAIC,GAAJ,CAAQmB,eAAeb,IAAf,EAAqB,MAAKP,eAA1B,CAAR,CAAvB;AACD,KAnBD;;AAoBA,SAAKqB,MAAL,CAAY,OAAZ,EAAqBnB,UAArB;AACAA;AACD,GAnCY;AAqCboB,eArCa,2BAqCI;AACfF,mBAAe,IAAf,EAAqB,KAAKpB,eAA1B;AACD;AAvCY,CAAf;;AA0CA,SAASoB,cAAT,CAAyBb,IAAzB,EAA+BgB,OAA/B,EAAwC;AACtC,MAAIA,OAAJ,EAAa;AACX,uBAAIA,OAAJ,EAAaL,OAAb,CAAqB,aAAK;AACxBf,eAASqB,IAAT,CAAcC,WAAd,CAA0BC,CAA1B;AACD,KAFD;AAGD;;AACD,MAAInB,IAAJ,EAAU;AACR,WAAOA,KAAKoB,GAAL,CAAS,aAAK;AACnB,UAAMC,MAAMzB,SAAS0B,aAAT,CAAuB,MAAvB,CAAZ;AACAC,aAAOC,IAAP,CAAYpB,CAAZ,EAAeO,OAAf,CAAuB,eAAO;AAC5BU,YAAII,YAAJ,CAAiBC,GAAjB,EAAsBtB,EAAEsB,GAAF,CAAtB;AACD,OAFD;AAGA9B,eAASqB,IAAT,CAAcU,WAAd,CAA0BN,GAA1B;AACA,aAAOA,GAAP;AACD,KAPM,CAAP;AAQD;AACF","sourceRoot":"/Users/ruki/projects/personal/xmake-docs","sourcesContent":["export default {\n created () {\n if (this.$ssrContext) {\n this.$ssrContext.title = this.$title\n this.$ssrContext.lang = this.$lang\n this.$ssrContext.description = this.$page.description || this.$description\n }\n },\n\n mounted () {\n // update title / meta tags\n this.currentMetaTags = new Set()\n\n const updateMeta = () => {\n document.title = this.$title\n document.documentElement.lang = this.$lang\n const userMeta = this.$page.frontmatter.meta || []\n const meta = userMeta.slice(0)\n const useGlobalDescription = userMeta.filter(m => m.name === 'description').length === 0\n\n // #665 Avoid duplicate description meta at runtime.\n if (useGlobalDescription) {\n meta.push({ name: 'description', content: this.$description })\n }\n\n // Including description meta coming from SSR.\n const descriptionMetas = document.querySelectorAll('meta[name=\"description\"]')\n if (descriptionMetas.length) {\n descriptionMetas.forEach(m => this.currentMetaTags.add(m))\n }\n\n this.currentMetaTags = new Set(updateMetaTags(meta, this.currentMetaTags))\n }\n this.$watch('$page', updateMeta)\n updateMeta()\n },\n\n beforeDestroy () {\n updateMetaTags(null, this.currentMetaTags)\n }\n}\n\nfunction updateMetaTags (meta, current) {\n if (current) {\n [...current].forEach(c => {\n document.head.removeChild(c)\n })\n }\n if (meta) {\n return meta.map(m => {\n const tag = document.createElement('meta')\n Object.keys(m).forEach(key => {\n tag.setAttribute(key, m[key])\n })\n document.head.appendChild(tag)\n return tag\n })\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/bb4949e3df2811d40430f023f9ee2a35.json b/node_modules/vuepress/node_modules/.cache/vuepress/bb4949e3df2811d40430f023f9ee2a35.json new file mode 100644 index 00000000..8543c14c --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/bb4949e3df2811d40430f023f9ee2a35.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./OutboundLink.vue?vue&type=template&id=1bddee00&functional=true&\"\nvar script = {}\nimport style0 from \"./OutboundLink.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('1bddee00', component.options)\n } else {\n api.rerender('1bddee00', component.options)\n }\n module.hot.accept(\"./OutboundLink.vue?vue&type=template&id=1bddee00&functional=true&\", function () {\n api.rerender('1bddee00', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/app/components/OutboundLink.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/bbdcae80e8bc0d404f6e10187145c29a.json b/node_modules/vuepress/node_modules/.cache/vuepress/bbdcae80e8bc0d404f6e10187145c29a.json new file mode 100644 index 00000000..9a8304a2 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/bbdcae80e8bc0d404f6e10187145c29a.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport SidebarGroup from './SidebarGroup.vue'\nimport SidebarLink from './SidebarLink.vue'\nimport NavLinks from './NavLinks.vue'\nimport { isActive } from './util'\n\nexport default {\n components: { SidebarGroup, SidebarLink, NavLinks },\n\n props: ['items'],\n\n data () {\n return {\n openGroupIndex: 0\n }\n },\n\n created () {\n this.refreshIndex()\n },\n\n watch: {\n '$route' () {\n this.refreshIndex()\n }\n },\n\n methods: {\n refreshIndex () {\n const index = resolveOpenGroupIndex(\n this.$route,\n this.items\n )\n if (index > -1) {\n this.openGroupIndex = index\n }\n },\n\n toggleGroup (index) {\n this.openGroupIndex = index === this.openGroupIndex ? -1 : index\n },\n\n isActive (page) {\n return isActive(this.$route, page.path)\n }\n }\n}\n\nfunction resolveOpenGroupIndex (route, items) {\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n if (item.type === 'group' && item.children.some(c => isActive(route, c.path))) {\n return i\n }\n }\n return -1\n}\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/bc7e051fb5d0f74a1a2ea82fe9764b76.json b/node_modules/vuepress/node_modules/.cache/vuepress/bc7e051fb5d0f74a1a2ea82fe9764b76.json new file mode 100644 index 00000000..2d82b6c1 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/bc7e051fb5d0f74a1a2ea82fe9764b76.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue?vue&type=template&id=486052fb&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<transition name=\"sw-update-popup\">\n <div\n v-if=\"enabled\"\n class=\"sw-update-popup\"\n >\n {{message}}<br>\n <button @click=\"reload\">{{buttonText}}</button>\n </div>\n</transition>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/bc7e85205a01a9a7b5661ba6df1dd4f7.json b/node_modules/vuepress/node_modules/.cache/vuepress/bc7e85205a01a9a7b5661ba6df1dd4f7.json new file mode 100644 index 00000000..5d120379 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/bc7e85205a01a9a7b5661ba6df1dd4f7.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/manual/index.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/manual/index.md","mtime":1541492172602},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./index.md?vue&type=template&id=6d0b4415&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"index.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/bcc00f13beafe89452e70360f877e999.json b/node_modules/vuepress/node_modules/.cache/vuepress/bcc00f13beafe89452e70360f877e999.json new file mode 100644 index 00000000..29193606 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/bcc00f13beafe89452e70360f877e999.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/index的副本.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/index的副本.md","mtime":1534123204890},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./index的副本.md?vue&type=template&id=08252036&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('08252036', component.options)\n } else {\n api.reload('08252036', component.options)\n }\n module.hot.accept(\"./index的副本.md?vue&type=template&id=08252036&\", function () {\n api.rerender('08252036', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"docs/guide/index的副本.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/bd07e707c4e52e97305a27ac81e973e0.json b/node_modules/vuepress/node_modules/.cache/vuepress/bd07e707c4e52e97305a27ac81e973e0.json new file mode 100644 index 00000000..e72f30e2 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/bd07e707c4e52e97305a27ac81e973e0.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/SWUpdateEvent.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/SWUpdateEvent.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import \"core-js/modules/es6.object.define-property\";\nimport _classCallCheck from \"/Users/ruki/projects/personal/tbox-docs/node_modules/@babel/runtime/helpers/builtin/es6/classCallCheck\";\nimport _createClass from \"/Users/ruki/projects/personal/tbox-docs/node_modules/@babel/runtime/helpers/builtin/es6/createClass\";\n\nvar SWUpdateEvent =\n/*#__PURE__*/\nfunction () {\n function SWUpdateEvent(registration) {\n _classCallCheck(this, SWUpdateEvent);\n\n Object.defineProperty(this, 'registration', {\n value: registration,\n configurable: true,\n writable: true\n });\n }\n /**\n * Check if the new service worker exists or not.\n */\n\n\n _createClass(SWUpdateEvent, [{\n key: \"update\",\n value: function update() {\n return this.registration.update();\n }\n /**\n * Activate new service worker to work 'location.reload()' with new data.\n */\n\n }, {\n key: \"skipWaiting\",\n value: function skipWaiting() {\n var worker = this.registration.waiting;\n\n if (!worker) {\n return Promise.resolve();\n }\n\n console.log('[vuepress:sw] Doing worker.skipWaiting().');\n return new Promise(function (resolve, reject) {\n var channel = new MessageChannel();\n\n channel.port1.onmessage = function (event) {\n console.log('[vuepress:sw] Done worker.skipWaiting().');\n\n if (event.data.error) {\n reject(event.data.error);\n } else {\n resolve(event.data);\n }\n };\n\n worker.postMessage({\n type: 'skip-waiting'\n }, [channel.port2]);\n });\n }\n }]);\n\n return SWUpdateEvent;\n}();\n\nexport { SWUpdateEvent as default };",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/bd10873fe1f2b83ca02357f6412e5c82.json b/node_modules/vuepress/node_modules/.cache/vuepress/bd10873fe1f2b83ca02357f6412e5c82.json new file mode 100644 index 00000000..db187596 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/bd10873fe1f2b83ca02357f6412e5c82.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/Content.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/Content.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["export default {\n functional: true,\n props: {\n custom: {\n type: Boolean,\n default: true\n }\n },\n render: function render(h, _ref) {\n var parent = _ref.parent,\n props = _ref.props,\n data = _ref.data;\n return h(parent.$page.key, {\n class: [props.custom ? 'custom' : '', data.class, data.staticClass],\n style: data.style\n });\n }\n};",{"version":3,"sources":["node_modules/vuepress/lib/app/components/Content.js"],"names":["functional","props","custom","type","Boolean","default","render","h","parent","data","$page","key","class","staticClass","style"],"mappings":"AAAA,eAAe;AACbA,cAAY,IADC;AAGbC,SAAO;AACLC,YAAQ;AACNC,YAAMC,OADA;AAENC,eAAS;AAFH;AADH,GAHM;AAUbC,QAVa,kBAULC,CAVK,QAUuB;AAAA,QAAvBC,MAAuB,QAAvBA,MAAuB;AAAA,QAAfP,KAAe,QAAfA,KAAe;AAAA,QAARQ,IAAQ,QAARA,IAAQ;AAClC,WAAOF,EAAEC,OAAOE,KAAP,CAAaC,GAAf,EAAoB;AACzBC,aAAO,CAACX,MAAMC,MAAN,GAAe,QAAf,GAA0B,EAA3B,EAA+BO,KAAKG,KAApC,EAA2CH,KAAKI,WAAhD,CADkB;AAEzBC,aAAOL,KAAKK;AAFa,KAApB,CAAP;AAID;AAfY,CAAf","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["export default {\n functional: true,\n\n props: {\n custom: {\n type: Boolean,\n default: true\n }\n },\n\n render (h, { parent, props, data }) {\n return h(parent.$page.key, {\n class: [props.custom ? 'custom' : '', data.class, data.staticClass],\n style: data.style\n })\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/bd112df6d99a0e0f01e39203120b7320.json b/node_modules/vuepress/node_modules/.cache/vuepress/bd112df6d99a0e0f01e39203120b7320.json new file mode 100644 index 00000000..ee5b00ce --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/bd112df6d99a0e0f01e39203120b7320.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/clientEntry.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/clientEntry.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import \"core-js/modules/es6.promise\";\n\n/* global BASE_URL, GA_ID, ga, SW_ENABLED, VUEPRESS_VERSION, LAST_COMMIT_HASH*/\nimport { createApp } from './app';\nimport SWUpdateEvent from './SWUpdateEvent';\nimport { register } from 'register-service-worker';\n\nvar _createApp = createApp(),\n app = _createApp.app,\n router = _createApp.router;\n\nwindow.__VUEPRESS_VERSION__ = {\n version: VUEPRESS_VERSION,\n hash: LAST_COMMIT_HASH // Google analytics integration\n\n};\n\nif (process.env.NODE_ENV === 'production' && GA_ID) {\n (function (i, s, o, g, r, a, m) {\n i['GoogleAnalyticsObject'] = r;\n\n i[r] = i[r] || function () {\n (i[r].q = i[r].q || []).push(arguments);\n };\n\n i[r].l = 1 * new Date();\n a = s.createElement(o);\n m = s.getElementsByTagName(o)[0];\n a.async = 1;\n a.src = g;\n m.parentNode.insertBefore(a, m);\n })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');\n\n ga('create', GA_ID, 'auto');\n ga('send', 'pageview');\n router.afterEach(function (to) {\n ga('set', 'page', app.$withBase(to.fullPath));\n ga('send', 'pageview');\n });\n}\n\nrouter.onReady(function () {\n app.$mount('#app'); // Register service worker\n\n if (process.env.NODE_ENV === 'production' && SW_ENABLED && window.location.protocol === 'https:') {\n register(\"\".concat(BASE_URL, \"service-worker.js\"), {\n ready: function ready() {\n console.log('[vuepress:sw] Service worker is active.');\n app.$refs.layout.$emit('sw-ready');\n },\n cached: function cached(registration) {\n console.log('[vuepress:sw] Content has been cached for offline use.');\n app.$refs.layout.$emit('sw-cached', new SWUpdateEvent(registration));\n },\n updated: function updated(registration) {\n console.log('[vuepress:sw] Content updated.');\n app.$refs.layout.$emit('sw-updated', new SWUpdateEvent(registration));\n },\n offline: function offline() {\n console.log('[vuepress:sw] No internet connection found. App is running in offline mode.');\n app.$refs.layout.$emit('sw-offline');\n },\n error: function error(err) {\n console.error('[vuepress:sw] Error during service worker registration:', err);\n app.$refs.layout.$emit('sw-error', err);\n\n if (GA_ID) {\n ga('send', 'exception', {\n exDescription: err.message,\n exFatal: false\n });\n }\n }\n });\n }\n});",{"version":3,"sources":["node_modules/vuepress/lib/app/clientEntry.js"],"names":["createApp","SWUpdateEvent","register","app","router","window","__VUEPRESS_VERSION__","version","VUEPRESS_VERSION","hash","LAST_COMMIT_HASH","process","env","NODE_ENV","GA_ID","i","s","o","g","r","a","m","q","push","arguments","l","Date","createElement","getElementsByTagName","async","src","parentNode","insertBefore","document","ga","afterEach","to","$withBase","fullPath","onReady","$mount","SW_ENABLED","location","protocol","BASE_URL","ready","console","log","$refs","layout","$emit","cached","registration","updated","offline","error","err","exDescription","message","exFatal"],"mappings":";;AAAA;AAEA,SAASA,SAAT,QAA0B,OAA1B;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,SAASC,QAAT,QAAyB,yBAAzB;;iBAEwBF,W;IAAhBG,G,cAAAA,G;IAAKC,M,cAAAA,M;;AAEbC,OAAOC,oBAAP,GAA8B;AAC5BC,WAASC,gBADmB;AAE5BC,QAAMC,gBAFsB,CAK9B;;AAL8B,CAA9B;;AAMA,IAAIC,QAAQC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,IAAyCC,KAA7C,EAAoD;AAClD,GAAC,UAAUC,CAAV,EAAaC,CAAb,EAAgBC,CAAhB,EAAmBC,CAAnB,EAAsBC,CAAtB,EAAyBC,CAAzB,EAA4BC,CAA5B,EAA+B;AAC9BN,MAAE,uBAAF,IAA6BI,CAA7B;;AACAJ,MAAEI,CAAF,IAAOJ,EAAEI,CAAF,KAAQ,YAAY;AACzB,OAACJ,EAAEI,CAAF,EAAKG,CAAL,GAASP,EAAEI,CAAF,EAAKG,CAAL,IAAU,EAApB,EAAwBC,IAAxB,CAA6BC,SAA7B;AACD,KAFD;;AAGAT,MAAEI,CAAF,EAAKM,CAAL,GAAS,IAAI,IAAIC,IAAJ,EAAb;AACAN,QAAIJ,EAAEW,aAAF,CAAgBV,CAAhB,CAAJ;AACAI,QAAIL,EAAEY,oBAAF,CAAuBX,CAAvB,EAA0B,CAA1B,CAAJ;AACAG,MAAES,KAAF,GAAU,CAAV;AACAT,MAAEU,GAAF,GAAQZ,CAAR;AACAG,MAAEU,UAAF,CAAaC,YAAb,CAA0BZ,CAA1B,EAA6BC,CAA7B;AACD,GAXD,EAWGhB,MAXH,EAWW4B,QAXX,EAWqB,QAXrB,EAW+B,+CAX/B,EAWgF,IAXhF;;AAaAC,KAAG,QAAH,EAAapB,KAAb,EAAoB,MAApB;AACAoB,KAAG,MAAH,EAAW,UAAX;AAEA9B,SAAO+B,SAAP,CAAiB,UAAUC,EAAV,EAAc;AAC7BF,OAAG,KAAH,EAAU,MAAV,EAAkB/B,IAAIkC,SAAJ,CAAcD,GAAGE,QAAjB,CAAlB;AACAJ,OAAG,MAAH,EAAW,UAAX;AACD,GAHD;AAID;;AAED9B,OAAOmC,OAAP,CAAe,YAAM;AACnBpC,MAAIqC,MAAJ,CAAW,MAAX,EADmB,CAGnB;;AACA,MAAI7B,QAAQC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,IACF4B,UADE,IAEFpC,OAAOqC,QAAP,CAAgBC,QAAhB,KAA6B,QAF/B,EAEyC;AACvCzC,uBAAY0C,QAAZ,wBAAyC;AACvCC,WADuC,mBAC9B;AACPC,gBAAQC,GAAR,CAAY,yCAAZ;AACA5C,YAAI6C,KAAJ,CAAUC,MAAV,CAAiBC,KAAjB,CAAuB,UAAvB;AACD,OAJsC;AAKvCC,YALuC,kBAK/BC,YAL+B,EAKjB;AACpBN,gBAAQC,GAAR,CAAY,wDAAZ;AACA5C,YAAI6C,KAAJ,CAAUC,MAAV,CAAiBC,KAAjB,CAAuB,WAAvB,EAAoC,IAAIjD,aAAJ,CAAkBmD,YAAlB,CAApC;AACD,OARsC;AASvCC,aATuC,mBAS9BD,YAT8B,EAShB;AACrBN,gBAAQC,GAAR,CAAY,gCAAZ;AACA5C,YAAI6C,KAAJ,CAAUC,MAAV,CAAiBC,KAAjB,CAAuB,YAAvB,EAAqC,IAAIjD,aAAJ,CAAkBmD,YAAlB,CAArC;AACD,OAZsC;AAavCE,aAbuC,qBAa5B;AACTR,gBAAQC,GAAR,CAAY,6EAAZ;AACA5C,YAAI6C,KAAJ,CAAUC,MAAV,CAAiBC,KAAjB,CAAuB,YAAvB;AACD,OAhBsC;AAiBvCK,WAjBuC,iBAiBhCC,GAjBgC,EAiB3B;AACVV,gBAAQS,KAAR,CAAc,yDAAd,EAAyEC,GAAzE;AACArD,YAAI6C,KAAJ,CAAUC,MAAV,CAAiBC,KAAjB,CAAuB,UAAvB,EAAmCM,GAAnC;;AACA,YAAI1C,KAAJ,EAAW;AACToB,aAAG,MAAH,EAAW,WAAX,EAAwB;AACtBuB,2BAAeD,IAAIE,OADG;AAEtBC,qBAAS;AAFa,WAAxB;AAID;AACF;AA1BsC,KAAzC;AA4BD;AACF,CApCD","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["/* global BASE_URL, GA_ID, ga, SW_ENABLED, VUEPRESS_VERSION, LAST_COMMIT_HASH*/\n\nimport { createApp } from './app'\nimport SWUpdateEvent from './SWUpdateEvent'\nimport { register } from 'register-service-worker'\n\nconst { app, router } = createApp()\n\nwindow.__VUEPRESS_VERSION__ = {\n version: VUEPRESS_VERSION,\n hash: LAST_COMMIT_HASH\n}\n\n// Google analytics integration\nif (process.env.NODE_ENV === 'production' && GA_ID) {\n (function (i, s, o, g, r, a, m) {\n i['GoogleAnalyticsObject'] = r\n i[r] = i[r] || function () {\n (i[r].q = i[r].q || []).push(arguments)\n }\n i[r].l = 1 * new Date()\n a = s.createElement(o)\n m = s.getElementsByTagName(o)[0]\n a.async = 1\n a.src = g\n m.parentNode.insertBefore(a, m)\n })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga')\n\n ga('create', GA_ID, 'auto')\n ga('send', 'pageview')\n\n router.afterEach(function (to) {\n ga('set', 'page', app.$withBase(to.fullPath))\n ga('send', 'pageview')\n })\n}\n\nrouter.onReady(() => {\n app.$mount('#app')\n\n // Register service worker\n if (process.env.NODE_ENV === 'production' &&\n SW_ENABLED &&\n window.location.protocol === 'https:') {\n register(`${BASE_URL}service-worker.js`, {\n ready () {\n console.log('[vuepress:sw] Service worker is active.')\n app.$refs.layout.$emit('sw-ready')\n },\n cached (registration) {\n console.log('[vuepress:sw] Content has been cached for offline use.')\n app.$refs.layout.$emit('sw-cached', new SWUpdateEvent(registration))\n },\n updated (registration) {\n console.log('[vuepress:sw] Content updated.')\n app.$refs.layout.$emit('sw-updated', new SWUpdateEvent(registration))\n },\n offline () {\n console.log('[vuepress:sw] No internet connection found. App is running in offline mode.')\n app.$refs.layout.$emit('sw-offline')\n },\n error (err) {\n console.error('[vuepress:sw] Error during service worker registration:', err)\n app.$refs.layout.$emit('sw-error', err)\n if (GA_ID) {\n ga('send', 'exception', {\n exDescription: err.message,\n exFatal: false\n })\n }\n }\n })\n }\n})\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/bd1c382be94130398c756f0bcb2feaa7.json b/node_modules/vuepress/node_modules/.cache/vuepress/bd1c382be94130398c756f0bcb2feaa7.json new file mode 100644 index 00000000..a6c617d1 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/bd1c382be94130398c756f0bcb2feaa7.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/README.md?vue&type=template&id=7be40604&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/README.md","mtime":1541492016048},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"language-c extra-class\"},[_c('pre',{pre:true,attrs:{\"class\":\"language-c\"}},[_c('code',[_c('span',{attrs:{\"class\":\"token macro property\"}},[_vm._v(\"#\"),_c('span',{attrs:{\"class\":\"token directive keyword\"}},[_vm._v(\"include\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"tbox/tbox.h\\\"\")])]),_vm._v(\"\\n\\n\"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"int\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"main\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"int\")]),_vm._v(\" argc\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"char\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"*\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"*\")]),_vm._v(\" argv\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// init tbox\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"!\")]),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_init\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"tb_null\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" tb_null\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"return\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// init vector\")]),_vm._v(\"\\n tb_vector_ref_t vector \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_init\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_element_cstr\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"tb_true\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// insert item\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_insert_tail\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"hello\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_insert_tail\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"tbox\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// dump all items\")]),_vm._v(\"\\n tb_for_all \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"tb_char_t \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"const\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"*\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" cstr\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// trace\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_trace_i\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"%s\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" cstr\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// exit vector\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_exit\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\")])])])])}]\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/bd45852d84a7bfb7073075ca8d298eac.json b/node_modules/vuepress/node_modules/.cache/vuepress/bd45852d84a7bfb7073075ca8d298eac.json new file mode 100644 index 00000000..d90f8d6a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/bd45852d84a7bfb7073075ca8d298eac.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/Badge.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/Badge.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["export default {\n functional: true,\n props: {\n type: {\n type: String,\n default: 'tip'\n },\n text: String,\n vertical: {\n type: String,\n default: 'top'\n }\n },\n render: function render(h, _ref) {\n var props = _ref.props,\n slots = _ref.slots;\n return h('span', {\n class: ['badge', props.type, props.vertical]\n }, props.text || slots().default);\n }\n};",{"version":3,"sources":["Badge.vue"],"names":[],"mappings":"AACA,eAAA;AACA,cAAA,IADA;AAEA,SAAA;AACA,UAAA;AACA,YAAA,MADA;AAEA,eAAA;AAFA,KADA;AAKA,UAAA,MALA;AAMA,cAAA;AACA,YAAA,MADA;AAEA,eAAA;AAFA;AANA,GAFA;AAaA,QAbA,kBAaA,CAbA,QAaA;AAAA,QAAA,KAAA,QAAA,KAAA;AAAA,QAAA,KAAA,QAAA,KAAA;AACA,WAAA,EAAA,MAAA,EAAA;AACA,aAAA,CAAA,OAAA,EAAA,MAAA,IAAA,EAAA,MAAA,QAAA;AADA,KAAA,EAEA,MAAA,IAAA,IAAA,QAAA,OAFA,CAAA;AAGA;AAjBA,CAAA","sourcesContent":["<script>\nexport default {\n functional: true,\n props: {\n type: {\n type: String,\n default: 'tip'\n },\n text: String,\n vertical: {\n type: String,\n default: 'top'\n }\n },\n render (h, { props, slots }) {\n return h('span', {\n class: ['badge', props.type, props.vertical]\n }, props.text || slots().default)\n }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n@import '../../default-theme/styles/config.styl'\n\n.badge\n display inline-block\n font-size 14px\n height 18px\n line-height 18px\n border-radius 3px\n padding 0 6px\n color white\n margin-right 5px\n background-color #42b983\n &.middle\n vertical-align middle\n &.top\n vertical-align top\n &.tip, &.green\n background-color #42b983\n &.error\n background-color #DA5961 //#f66\n &.warning, &.warn, &.yellow\n background-color darken(#ffe564, 35%)\n</style>\n"],"sourceRoot":"node_modules/vuepress/lib/app/components"}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/bf34bfff91c3f4de5ddc3ffc0ecb8f00.json b/node_modules/vuepress/node_modules/.cache/vuepress/bf34bfff91c3f4de5ddc3ffc0ecb8f00.json new file mode 100644 index 00000000..8d2ee3bf --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/bf34bfff91c3f4de5ddc3ffc0ecb8f00.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/util.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/util.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import \"core-js/modules/es6.array.index-of\";\nimport \"core-js/modules/es6.array.is-array\";\nimport \"core-js/modules/es6.array.filter\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/es6.regexp.split\";\nimport \"core-js/modules/es6.object.assign\";\nimport \"core-js/modules/es6.regexp.match\";\nimport \"core-js/modules/es6.regexp.replace\";\nexport var hashRE = /#.*$/;\nexport var extRE = /\\.(md|html)$/;\nexport var endingSlashRE = /\\/$/;\nexport var outboundRE = /^(https?:|mailto:|tel:)/;\nexport function normalize(path) {\n return decodeURI(path).replace(hashRE, '').replace(extRE, '');\n}\nexport function getHash(path) {\n var match = path.match(hashRE);\n\n if (match) {\n return match[0];\n }\n}\nexport function isExternal(path) {\n return outboundRE.test(path);\n}\nexport function isMailto(path) {\n return /^mailto:/.test(path);\n}\nexport function isTel(path) {\n return /^tel:/.test(path);\n}\nexport function ensureExt(path) {\n if (isExternal(path)) {\n return path;\n }\n\n var hashMatch = path.match(hashRE);\n var hash = hashMatch ? hashMatch[0] : '';\n var normalized = normalize(path);\n\n if (endingSlashRE.test(normalized)) {\n return path;\n }\n\n return normalized + '.html' + hash;\n}\nexport function isActive(route, path) {\n var routeHash = route.hash;\n var linkHash = getHash(path);\n\n if (linkHash && routeHash !== linkHash) {\n return false;\n }\n\n var routePath = normalize(route.path);\n var pagePath = normalize(path);\n return routePath === pagePath;\n}\nexport function resolvePage(pages, rawPath, base) {\n if (base) {\n rawPath = resolvePath(rawPath, base);\n }\n\n var path = normalize(rawPath);\n\n for (var i = 0; i < pages.length; i++) {\n if (normalize(pages[i].path) === path) {\n return Object.assign({}, pages[i], {\n type: 'page',\n path: ensureExt(rawPath)\n });\n }\n }\n\n console.error(\"[vuepress] No matching page found for sidebar item \\\"\".concat(rawPath, \"\\\"\"));\n return {};\n}\n\nfunction resolvePath(relative, base, append) {\n var firstChar = relative.charAt(0);\n\n if (firstChar === '/') {\n return relative;\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative;\n }\n\n var stack = base.split('/'); // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n } // resolve relative path\n\n\n var segments = relative.replace(/^\\//, '').split('/');\n\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n } // ensure leading slash\n\n\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/');\n}\n\nexport function resolveSidebarItems(page, route, site, localePath) {\n var pages = site.pages,\n themeConfig = site.themeConfig;\n var localeConfig = localePath && themeConfig.locales ? themeConfig.locales[localePath] || themeConfig : themeConfig;\n var pageSidebarConfig = page.frontmatter.sidebar || localeConfig.sidebar || themeConfig.sidebar;\n\n if (pageSidebarConfig === 'auto') {\n return resolveHeaders(page);\n }\n\n var sidebarConfig = localeConfig.sidebar || themeConfig.sidebar;\n\n if (!sidebarConfig) {\n return [];\n } else {\n var _resolveMatchingConfi = resolveMatchingConfig(route, sidebarConfig),\n base = _resolveMatchingConfi.base,\n config = _resolveMatchingConfi.config;\n\n return config ? config.map(function (item) {\n return resolveItem(item, pages, base);\n }) : [];\n }\n}\n\nfunction resolveHeaders(page) {\n var headers = groupHeaders(page.headers || []);\n return [{\n type: 'group',\n collapsable: false,\n title: page.title,\n children: headers.map(function (h) {\n return {\n type: 'auto',\n title: h.title,\n basePath: page.path,\n path: page.path + '#' + h.slug,\n children: h.children || []\n };\n })\n }];\n}\n\nexport function groupHeaders(headers) {\n // group h3s under h2\n headers = headers.map(function (h) {\n return Object.assign({}, h);\n });\n var lastH2;\n headers.forEach(function (h) {\n if (h.level === 2) {\n lastH2 = h;\n } else if (lastH2) {\n (lastH2.children || (lastH2.children = [])).push(h);\n }\n });\n return headers.filter(function (h) {\n return h.level === 2;\n });\n}\nexport function resolveNavLinkItem(linkItem) {\n return Object.assign(linkItem, {\n type: linkItem.items && linkItem.items.length ? 'links' : 'link'\n });\n}\nexport function resolveMatchingConfig(route, config) {\n if (Array.isArray(config)) {\n return {\n base: '/',\n config: config\n };\n }\n\n for (var base in config) {\n if (ensureEndingSlash(route.path).indexOf(base) === 0) {\n return {\n base: base,\n config: config[base]\n };\n }\n }\n\n return {};\n}\n\nfunction ensureEndingSlash(path) {\n return /(\\.html|\\/)$/.test(path) ? path : path + '/';\n}\n\nfunction resolveItem(item, pages, base, isNested) {\n if (typeof item === 'string') {\n return resolvePage(pages, item, base);\n } else if (Array.isArray(item)) {\n return Object.assign(resolvePage(pages, item[0], base), {\n title: item[1]\n });\n } else {\n if (isNested) {\n console.error('[vuepress] Nested sidebar groups are not supported. ' + 'Consider using navbar + categories instead.');\n }\n\n var children = item.children || [];\n return {\n type: 'group',\n title: item.title,\n children: children.map(function (child) {\n return resolveItem(child, pages, base, true);\n }),\n collapsable: item.collapsable !== false\n };\n }\n}",{"version":3,"sources":["node_modules/vuepress/lib/default-theme/util.js"],"names":["hashRE","extRE","endingSlashRE","outboundRE","normalize","path","decodeURI","replace","getHash","match","isExternal","test","isMailto","isTel","ensureExt","hashMatch","hash","normalized","isActive","route","routeHash","linkHash","routePath","pagePath","resolvePage","pages","rawPath","base","resolvePath","i","length","Object","assign","type","console","error","relative","append","firstChar","charAt","stack","split","pop","segments","segment","push","unshift","join","resolveSidebarItems","page","site","localePath","themeConfig","localeConfig","locales","pageSidebarConfig","frontmatter","sidebar","resolveHeaders","sidebarConfig","resolveMatchingConfig","config","map","resolveItem","item","headers","groupHeaders","collapsable","title","children","h","basePath","slug","lastH2","forEach","level","filter","resolveNavLinkItem","linkItem","items","Array","isArray","ensureEndingSlash","indexOf","isNested","child"],"mappings":";;;;;;;;;;AAAA,OAAO,IAAMA,SAAS,MAAf;AACP,OAAO,IAAMC,QAAQ,cAAd;AACP,OAAO,IAAMC,gBAAgB,KAAtB;AACP,OAAO,IAAMC,aAAa,yBAAnB;AAEP,OAAO,SAASC,SAAT,CAAoBC,IAApB,EAA0B;AAC/B,SAAOC,UAAUD,IAAV,EACJE,OADI,CACIP,MADJ,EACY,EADZ,EAEJO,OAFI,CAEIN,KAFJ,EAEW,EAFX,CAAP;AAGD;AAED,OAAO,SAASO,OAAT,CAAkBH,IAAlB,EAAwB;AAC7B,MAAMI,QAAQJ,KAAKI,KAAL,CAAWT,MAAX,CAAd;;AACA,MAAIS,KAAJ,EAAW;AACT,WAAOA,MAAM,CAAN,CAAP;AACD;AACF;AAED,OAAO,SAASC,UAAT,CAAqBL,IAArB,EAA2B;AAChC,SAAOF,WAAWQ,IAAX,CAAgBN,IAAhB,CAAP;AACD;AAED,OAAO,SAASO,QAAT,CAAmBP,IAAnB,EAAyB;AAC9B,SAAO,WAAWM,IAAX,CAAgBN,IAAhB,CAAP;AACD;AAED,OAAO,SAASQ,KAAT,CAAgBR,IAAhB,EAAsB;AAC3B,SAAO,QAAQM,IAAR,CAAaN,IAAb,CAAP;AACD;AAED,OAAO,SAASS,SAAT,CAAoBT,IAApB,EAA0B;AAC/B,MAAIK,WAAWL,IAAX,CAAJ,EAAsB;AACpB,WAAOA,IAAP;AACD;;AACD,MAAMU,YAAYV,KAAKI,KAAL,CAAWT,MAAX,CAAlB;AACA,MAAMgB,OAAOD,YAAYA,UAAU,CAAV,CAAZ,GAA2B,EAAxC;AACA,MAAME,aAAab,UAAUC,IAAV,CAAnB;;AAEA,MAAIH,cAAcS,IAAd,CAAmBM,UAAnB,CAAJ,EAAoC;AAClC,WAAOZ,IAAP;AACD;;AACD,SAAOY,aAAa,OAAb,GAAuBD,IAA9B;AACD;AAED,OAAO,SAASE,QAAT,CAAmBC,KAAnB,EAA0Bd,IAA1B,EAAgC;AACrC,MAAMe,YAAYD,MAAMH,IAAxB;AACA,MAAMK,WAAWb,QAAQH,IAAR,CAAjB;;AACA,MAAIgB,YAAYD,cAAcC,QAA9B,EAAwC;AACtC,WAAO,KAAP;AACD;;AACD,MAAMC,YAAYlB,UAAUe,MAAMd,IAAhB,CAAlB;AACA,MAAMkB,WAAWnB,UAAUC,IAAV,CAAjB;AACA,SAAOiB,cAAcC,QAArB;AACD;AAED,OAAO,SAASC,WAAT,CAAsBC,KAAtB,EAA6BC,OAA7B,EAAsCC,IAAtC,EAA4C;AACjD,MAAIA,IAAJ,EAAU;AACRD,cAAUE,YAAYF,OAAZ,EAAqBC,IAArB,CAAV;AACD;;AACD,MAAMtB,OAAOD,UAAUsB,OAAV,CAAb;;AACA,OAAK,IAAIG,IAAI,CAAb,EAAgBA,IAAIJ,MAAMK,MAA1B,EAAkCD,GAAlC,EAAuC;AACrC,QAAIzB,UAAUqB,MAAMI,CAAN,EAASxB,IAAnB,MAA6BA,IAAjC,EAAuC;AACrC,aAAO0B,OAAOC,MAAP,CAAc,EAAd,EAAkBP,MAAMI,CAAN,CAAlB,EAA4B;AACjCI,cAAM,MAD2B;AAEjC5B,cAAMS,UAAUY,OAAV;AAF2B,OAA5B,CAAP;AAID;AACF;;AACDQ,UAAQC,KAAR,gEAAqET,OAArE;AACA,SAAO,EAAP;AACD;;AAED,SAASE,WAAT,CAAsBQ,QAAtB,EAAgCT,IAAhC,EAAsCU,MAAtC,EAA8C;AAC5C,MAAMC,YAAYF,SAASG,MAAT,CAAgB,CAAhB,CAAlB;;AACA,MAAID,cAAc,GAAlB,EAAuB;AACrB,WAAOF,QAAP;AACD;;AAED,MAAIE,cAAc,GAAd,IAAqBA,cAAc,GAAvC,EAA4C;AAC1C,WAAOX,OAAOS,QAAd;AACD;;AAED,MAAMI,QAAQb,KAAKc,KAAL,CAAW,GAAX,CAAd,CAV4C,CAY5C;AACA;AACA;;AACA,MAAI,CAACJ,MAAD,IAAW,CAACG,MAAMA,MAAMV,MAAN,GAAe,CAArB,CAAhB,EAAyC;AACvCU,UAAME,GAAN;AACD,GAjB2C,CAmB5C;;;AACA,MAAMC,WAAWP,SAAS7B,OAAT,CAAiB,KAAjB,EAAwB,EAAxB,EAA4BkC,KAA5B,CAAkC,GAAlC,CAAjB;;AACA,OAAK,IAAIZ,IAAI,CAAb,EAAgBA,IAAIc,SAASb,MAA7B,EAAqCD,GAArC,EAA0C;AACxC,QAAMe,UAAUD,SAASd,CAAT,CAAhB;;AACA,QAAIe,YAAY,IAAhB,EAAsB;AACpBJ,YAAME,GAAN;AACD,KAFD,MAEO,IAAIE,YAAY,GAAhB,EAAqB;AAC1BJ,YAAMK,IAAN,CAAWD,OAAX;AACD;AACF,GA5B2C,CA8B5C;;;AACA,MAAIJ,MAAM,CAAN,MAAa,EAAjB,EAAqB;AACnBA,UAAMM,OAAN,CAAc,EAAd;AACD;;AAED,SAAON,MAAMO,IAAN,CAAW,GAAX,CAAP;AACD;;AAED,OAAO,SAASC,mBAAT,CAA8BC,IAA9B,EAAoC9B,KAApC,EAA2C+B,IAA3C,EAAiDC,UAAjD,EAA6D;AAAA,MAC1D1B,KAD0D,GACnCyB,IADmC,CAC1DzB,KAD0D;AAAA,MACnD2B,WADmD,GACnCF,IADmC,CACnDE,WADmD;AAGlE,MAAMC,eAAeF,cAAcC,YAAYE,OAA1B,GACjBF,YAAYE,OAAZ,CAAoBH,UAApB,KAAmCC,WADlB,GAEjBA,WAFJ;AAIA,MAAMG,oBAAoBN,KAAKO,WAAL,CAAiBC,OAAjB,IAA4BJ,aAAaI,OAAzC,IAAoDL,YAAYK,OAA1F;;AACA,MAAIF,sBAAsB,MAA1B,EAAkC;AAChC,WAAOG,eAAeT,IAAf,CAAP;AACD;;AAED,MAAMU,gBAAgBN,aAAaI,OAAb,IAAwBL,YAAYK,OAA1D;;AACA,MAAI,CAACE,aAAL,EAAoB;AAClB,WAAO,EAAP;AACD,GAFD,MAEO;AAAA,gCACoBC,sBAAsBzC,KAAtB,EAA6BwC,aAA7B,CADpB;AAAA,QACGhC,IADH,yBACGA,IADH;AAAA,QACSkC,MADT,yBACSA,MADT;;AAEL,WAAOA,SACHA,OAAOC,GAAP,CAAW;AAAA,aAAQC,YAAYC,IAAZ,EAAkBvC,KAAlB,EAAyBE,IAAzB,CAAR;AAAA,KAAX,CADG,GAEH,EAFJ;AAGD;AACF;;AAED,SAAS+B,cAAT,CAAyBT,IAAzB,EAA+B;AAC7B,MAAMgB,UAAUC,aAAajB,KAAKgB,OAAL,IAAgB,EAA7B,CAAhB;AACA,SAAO,CAAC;AACNhC,UAAM,OADA;AAENkC,iBAAa,KAFP;AAGNC,WAAOnB,KAAKmB,KAHN;AAINC,cAAUJ,QAAQH,GAAR,CAAY;AAAA,aAAM;AAC1B7B,cAAM,MADoB;AAE1BmC,eAAOE,EAAEF,KAFiB;AAG1BG,kBAAUtB,KAAK5C,IAHW;AAI1BA,cAAM4C,KAAK5C,IAAL,GAAY,GAAZ,GAAkBiE,EAAEE,IAJA;AAK1BH,kBAAUC,EAAED,QAAF,IAAc;AALE,OAAN;AAAA,KAAZ;AAJJ,GAAD,CAAP;AAYD;;AAED,OAAO,SAASH,YAAT,CAAuBD,OAAvB,EAAgC;AACrC;AACAA,YAAUA,QAAQH,GAAR,CAAY;AAAA,WAAK/B,OAAOC,MAAP,CAAc,EAAd,EAAkBsC,CAAlB,CAAL;AAAA,GAAZ,CAAV;AACA,MAAIG,MAAJ;AACAR,UAAQS,OAAR,CAAgB,aAAK;AACnB,QAAIJ,EAAEK,KAAF,KAAY,CAAhB,EAAmB;AACjBF,eAASH,CAAT;AACD,KAFD,MAEO,IAAIG,MAAJ,EAAY;AACjB,OAACA,OAAOJ,QAAP,KAAoBI,OAAOJ,QAAP,GAAkB,EAAtC,CAAD,EAA4CxB,IAA5C,CAAiDyB,CAAjD;AACD;AACF,GAND;AAOA,SAAOL,QAAQW,MAAR,CAAe;AAAA,WAAKN,EAAEK,KAAF,KAAY,CAAjB;AAAA,GAAf,CAAP;AACD;AAED,OAAO,SAASE,kBAAT,CAA6BC,QAA7B,EAAuC;AAC5C,SAAO/C,OAAOC,MAAP,CAAc8C,QAAd,EAAwB;AAC7B7C,UAAM6C,SAASC,KAAT,IAAkBD,SAASC,KAAT,CAAejD,MAAjC,GAA0C,OAA1C,GAAoD;AAD7B,GAAxB,CAAP;AAGD;AAED,OAAO,SAAS8B,qBAAT,CAAgCzC,KAAhC,EAAuC0C,MAAvC,EAA+C;AACpD,MAAImB,MAAMC,OAAN,CAAcpB,MAAd,CAAJ,EAA2B;AACzB,WAAO;AACLlC,YAAM,GADD;AAELkC,cAAQA;AAFH,KAAP;AAID;;AACD,OAAK,IAAMlC,IAAX,IAAmBkC,MAAnB,EAA2B;AACzB,QAAIqB,kBAAkB/D,MAAMd,IAAxB,EAA8B8E,OAA9B,CAAsCxD,IAAtC,MAAgD,CAApD,EAAuD;AACrD,aAAO;AACLA,kBADK;AAELkC,gBAAQA,OAAOlC,IAAP;AAFH,OAAP;AAID;AACF;;AACD,SAAO,EAAP;AACD;;AAED,SAASuD,iBAAT,CAA4B7E,IAA5B,EAAkC;AAChC,SAAO,eAAeM,IAAf,CAAoBN,IAApB,IACHA,IADG,GAEHA,OAAO,GAFX;AAGD;;AAED,SAAS0D,WAAT,CAAsBC,IAAtB,EAA4BvC,KAA5B,EAAmCE,IAAnC,EAAyCyD,QAAzC,EAAmD;AACjD,MAAI,OAAOpB,IAAP,KAAgB,QAApB,EAA8B;AAC5B,WAAOxC,YAAYC,KAAZ,EAAmBuC,IAAnB,EAAyBrC,IAAzB,CAAP;AACD,GAFD,MAEO,IAAIqD,MAAMC,OAAN,CAAcjB,IAAd,CAAJ,EAAyB;AAC9B,WAAOjC,OAAOC,MAAP,CAAcR,YAAYC,KAAZ,EAAmBuC,KAAK,CAAL,CAAnB,EAA4BrC,IAA5B,CAAd,EAAiD;AACtDyC,aAAOJ,KAAK,CAAL;AAD+C,KAAjD,CAAP;AAGD,GAJM,MAIA;AACL,QAAIoB,QAAJ,EAAc;AACZlD,cAAQC,KAAR,CACE,yDACA,6CAFF;AAID;;AACD,QAAMkC,WAAWL,KAAKK,QAAL,IAAiB,EAAlC;AACA,WAAO;AACLpC,YAAM,OADD;AAELmC,aAAOJ,KAAKI,KAFP;AAGLC,gBAAUA,SAASP,GAAT,CAAa;AAAA,eAASC,YAAYsB,KAAZ,EAAmB5D,KAAnB,EAA0BE,IAA1B,EAAgC,IAAhC,CAAT;AAAA,OAAb,CAHL;AAILwC,mBAAaH,KAAKG,WAAL,KAAqB;AAJ7B,KAAP;AAMD;AACF","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["export const hashRE = /#.*$/\nexport const extRE = /\\.(md|html)$/\nexport const endingSlashRE = /\\/$/\nexport const outboundRE = /^(https?:|mailto:|tel:)/\n\nexport function normalize (path) {\n return decodeURI(path)\n .replace(hashRE, '')\n .replace(extRE, '')\n}\n\nexport function getHash (path) {\n const match = path.match(hashRE)\n if (match) {\n return match[0]\n }\n}\n\nexport function isExternal (path) {\n return outboundRE.test(path)\n}\n\nexport function isMailto (path) {\n return /^mailto:/.test(path)\n}\n\nexport function isTel (path) {\n return /^tel:/.test(path)\n}\n\nexport function ensureExt (path) {\n if (isExternal(path)) {\n return path\n }\n const hashMatch = path.match(hashRE)\n const hash = hashMatch ? hashMatch[0] : ''\n const normalized = normalize(path)\n\n if (endingSlashRE.test(normalized)) {\n return path\n }\n return normalized + '.html' + hash\n}\n\nexport function isActive (route, path) {\n const routeHash = route.hash\n const linkHash = getHash(path)\n if (linkHash && routeHash !== linkHash) {\n return false\n }\n const routePath = normalize(route.path)\n const pagePath = normalize(path)\n return routePath === pagePath\n}\n\nexport function resolvePage (pages, rawPath, base) {\n if (base) {\n rawPath = resolvePath(rawPath, base)\n }\n const path = normalize(rawPath)\n for (let i = 0; i < pages.length; i++) {\n if (normalize(pages[i].path) === path) {\n return Object.assign({}, pages[i], {\n type: 'page',\n path: ensureExt(rawPath)\n })\n }\n }\n console.error(`[vuepress] No matching page found for sidebar item \"${rawPath}\"`)\n return {}\n}\n\nfunction resolvePath (relative, base, append) {\n const firstChar = relative.charAt(0)\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n const stack = base.split('/')\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop()\n }\n\n // resolve relative path\n const segments = relative.replace(/^\\//, '').split('/')\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i]\n if (segment === '..') {\n stack.pop()\n } else if (segment !== '.') {\n stack.push(segment)\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('')\n }\n\n return stack.join('/')\n}\n\nexport function resolveSidebarItems (page, route, site, localePath) {\n const { pages, themeConfig } = site\n\n const localeConfig = localePath && themeConfig.locales\n ? themeConfig.locales[localePath] || themeConfig\n : themeConfig\n\n const pageSidebarConfig = page.frontmatter.sidebar || localeConfig.sidebar || themeConfig.sidebar\n if (pageSidebarConfig === 'auto') {\n return resolveHeaders(page)\n }\n\n const sidebarConfig = localeConfig.sidebar || themeConfig.sidebar\n if (!sidebarConfig) {\n return []\n } else {\n const { base, config } = resolveMatchingConfig(route, sidebarConfig)\n return config\n ? config.map(item => resolveItem(item, pages, base))\n : []\n }\n}\n\nfunction resolveHeaders (page) {\n const headers = groupHeaders(page.headers || [])\n return [{\n type: 'group',\n collapsable: false,\n title: page.title,\n children: headers.map(h => ({\n type: 'auto',\n title: h.title,\n basePath: page.path,\n path: page.path + '#' + h.slug,\n children: h.children || []\n }))\n }]\n}\n\nexport function groupHeaders (headers) {\n // group h3s under h2\n headers = headers.map(h => Object.assign({}, h))\n let lastH2\n headers.forEach(h => {\n if (h.level === 2) {\n lastH2 = h\n } else if (lastH2) {\n (lastH2.children || (lastH2.children = [])).push(h)\n }\n })\n return headers.filter(h => h.level === 2)\n}\n\nexport function resolveNavLinkItem (linkItem) {\n return Object.assign(linkItem, {\n type: linkItem.items && linkItem.items.length ? 'links' : 'link'\n })\n}\n\nexport function resolveMatchingConfig (route, config) {\n if (Array.isArray(config)) {\n return {\n base: '/',\n config: config\n }\n }\n for (const base in config) {\n if (ensureEndingSlash(route.path).indexOf(base) === 0) {\n return {\n base,\n config: config[base]\n }\n }\n }\n return {}\n}\n\nfunction ensureEndingSlash (path) {\n return /(\\.html|\\/)$/.test(path)\n ? path\n : path + '/'\n}\n\nfunction resolveItem (item, pages, base, isNested) {\n if (typeof item === 'string') {\n return resolvePage(pages, item, base)\n } else if (Array.isArray(item)) {\n return Object.assign(resolvePage(pages, item[0], base), {\n title: item[1]\n })\n } else {\n if (isNested) {\n console.error(\n '[vuepress] Nested sidebar groups are not supported. ' +\n 'Consider using navbar + categories instead.'\n )\n }\n const children = item.children || []\n return {\n type: 'group',\n title: item.title,\n children: children.map(child => resolveItem(child, pages, base, true)),\n collapsable: item.collapsable !== false\n }\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/bf61dba3738ae413d799df650045d6e8.json b/node_modules/vuepress/node_modules/.cache/vuepress/bf61dba3738ae413d799df650045d6e8.json new file mode 100644 index 00000000..4de16197 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/bf61dba3738ae413d799df650045d6e8.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue?vue&type=template&id=bd900d28&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div class=\"sidebar-button\" @click=\"$emit('toggle-sidebar')\">\n <svg class=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" role=\"img\" viewBox=\"0 0 448 512\">\n <path fill=\"currentColor\" d=\"M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z\" class=\"\"></path>\n </svg>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/bfa0ce8ae3fa8d130b7fdc7a64031e72.json b/node_modules/vuepress/node_modules/.cache/vuepress/bfa0ce8ae3fa8d130b7fdc7a64031e72.json new file mode 100644 index 00000000..9763a2e2 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/bfa0ce8ae3fa8d130b7fdc7a64031e72.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/guide/getting-started.md?vue&type=template&id=01e6c1a0&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/getting-started.md","mtime":1541554744255},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _vm._m(1),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"请先安装: \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _vm._m(2),\n _vm._m(3),\n _vm._v(\" \"),\n _vm._m(4)\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h1\", { attrs: { id: \"快速开始\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#快速开始\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 快速开始\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"编译\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#编译\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 编译\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"# 默认直接编译当前主机平台\")\n ]),\n _vm._v(\"\\n$ \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"cd\")]),\n _vm._v(\" ./tbox\\n$ xmake\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"# 编译mingw平台\")\n ]),\n _vm._v(\"\\n$ \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"cd\")]),\n _vm._v(\" ./tbox\\n$ xmake f -p mingw --sdk\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"/home/mingwsdk \\n$ xmake\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"# 编译iphoneos平台\")\n ]),\n _vm._v(\"\\n$ \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"cd\")]),\n _vm._v(\" ./tbox\\n$ xmake f -p iphoneos \\n$ xmake\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"# 编译android平台\")\n ]),\n _vm._v(\"\\n$ \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"cd\")]),\n _vm._v(\" ./tbox\\n$ xmake f -p android --ndk\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"xxxxx\\n$ xmake\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"# 交叉编译\")\n ]),\n _vm._v(\"\\n$ \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"cd\")]),\n _vm._v(\" ./tbox\\n$ xmake f -p linux --sdk\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"/home/sdk \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"#--bin=/home/sdk/bin\")\n ]),\n _vm._v(\"\\n$ xmake\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"例子\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#例子\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 例子\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-c extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-c\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token macro property\" } }, [\n _vm._v(\"#\"),\n _c(\"span\", { attrs: { class: \"token directive keyword\" } }, [\n _vm._v(\"include\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"tbox/tbox.h\"')\n ])\n ]),\n _vm._v(\"\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"int\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"main\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"int\")]),\n _vm._v(\" argc\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"char\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _vm._v(\" argv\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// init tbox\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"!\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_init\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"tb_null\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" tb_null\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"return\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// trace\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_trace_i\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"hello tbox\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// init vector\")\n ]),\n _vm._v(\"\\n tb_vector_ref_t vector \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_init\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_element_cstr\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"tb_true\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// insert item\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_insert_tail\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"hello\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_insert_tail\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"tbox\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// dump all items\")\n ]),\n _vm._v(\"\\n tb_for_all \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"tb_char_t \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"const\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" cstr\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// trace\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_trace_i\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"%s\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" cstr\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// exit vector\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_exit\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// init stream\")\n ]),\n _vm._v(\"\\n tb_stream_ref_t stream \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_init_from_url\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"http://www.xxx.com/file.txt\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// open stream\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_open\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// read line\")\n ]),\n _vm._v(\"\\n tb_long_t size \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n tb_char_t line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"TB_STREAM_BLOCK_MAXN\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"while\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"size \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_bread_line\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"sizeof\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\">=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// trace\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_trace_i\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"line: %s\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// exit stream\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_exit\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// wait \")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"getchar\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// exit tbox\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_exit\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"return\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/c0c9821edccebc99ec17e7aac5ad65d6.json b/node_modules/vuepress/node_modules/.cache/vuepress/c0c9821edccebc99ec17e7aac5ad65d6.json new file mode 100644 index 00000000..e5dfe5f3 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/c0c9821edccebc99ec17e7aac5ad65d6.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/dataMixin.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/dataMixin.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import \"core-js/modules/es6.object.freeze\";\nimport \"core-js/modules/es6.array.iterator\";\nimport \"core-js/modules/es6.object.keys\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.function.name\";\nimport \"core-js/modules/es6.array.filter\";\nimport \"core-js/modules/es6.array.index-of\";\nimport Vue from 'vue';\nimport { findPageForPath } from './util';\nexport default function dataMixin(siteData) {\n prepare(siteData);\n var store = new Vue({\n data: {\n siteData: siteData\n }\n });\n\n if (module.hot) {\n module.hot.accept('./.temp/siteData', function () {\n prepare(siteData);\n store.siteData = siteData;\n });\n }\n\n return {\n computed: {\n $site: function $site() {\n return store.siteData;\n },\n $localeConfig: function $localeConfig() {\n var _this$$site$locales = this.$site.locales,\n locales = _this$$site$locales === void 0 ? {} : _this$$site$locales;\n var targetLang;\n var defaultLang;\n\n for (var path in locales) {\n if (path === '/') {\n defaultLang = locales[path];\n } else if (this.$page.path.indexOf(path) === 0) {\n targetLang = locales[path];\n }\n }\n\n return targetLang || defaultLang || {};\n },\n $siteTitle: function $siteTitle() {\n return this.$localeConfig.title || this.$site.title || '';\n },\n $title: function $title() {\n var page = this.$page;\n var siteTitle = this.$siteTitle;\n var selfTitle = page.frontmatter.home ? null : page.frontmatter.title || // explicit title\n page.title // inferred title\n ;\n return siteTitle ? selfTitle ? selfTitle + ' | ' + siteTitle : siteTitle : selfTitle || 'VuePress';\n },\n $description: function $description() {\n // #565 hoist description from meta\n if (this.$page.frontmatter.meta) {\n var descriptionMeta = this.$page.frontmatter.meta.filter(function (item) {\n return item.name === 'description';\n })[0];\n if (descriptionMeta) return descriptionMeta.content;\n }\n\n return this.$page.frontmatter.description || this.$localeConfig.description || this.$site.description || '';\n },\n $lang: function $lang() {\n return this.$page.frontmatter.lang || this.$localeConfig.lang || 'en-US';\n },\n $localePath: function $localePath() {\n return this.$localeConfig.path || '/';\n },\n $themeLocaleConfig: function $themeLocaleConfig() {\n return (this.$site.themeConfig.locales || {})[this.$localePath] || {};\n },\n $page: function $page() {\n return findPageForPath(this.$site.pages, this.$route.path);\n }\n }\n };\n}\n\nfunction prepare(siteData) {\n siteData.pages.forEach(function (page) {\n if (!page.frontmatter) {\n page.frontmatter = {};\n }\n });\n\n if (siteData.locales) {\n Object.keys(siteData.locales).forEach(function (path) {\n siteData.locales[path].path = path;\n });\n }\n\n Object.freeze(siteData);\n}",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/c1267a18eadfbb58c9cd872e0335b341.json b/node_modules/vuepress/node_modules/.cache/vuepress/c1267a18eadfbb58c9cd872e0335b341.json new file mode 100644 index 00000000..3f5e2966 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/c1267a18eadfbb58c9cd872e0335b341.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue?vue&type=template&id=bd900d28&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sidebar-button\",on:{\"click\":function($event){_vm.$emit('toggle-sidebar')}}},[_vm._ssrNode(\"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" aria-hidden=\\\"true\\\" role=\\\"img\\\" viewBox=\\\"0 0 448 512\\\" class=\\\"icon\\\"><path fill=\\\"currentColor\\\" d=\\\"M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z\\\"></path></svg>\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/c17934893c1146d04a15ec7d9006760c.json b/node_modules/vuepress/node_modules/.cache/vuepress/c17934893c1146d04a15ec7d9006760c.json new file mode 100644 index 00000000..4276f8e7 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/c17934893c1146d04a15ec7d9006760c.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/api/introduction.md?vue&type=template&id=687bc258&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/api/introduction.md","mtime":1541569045944},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"title1\"><a class=\"header-anchor\" href=\"#title1\" aria-hidden=\"true\">#</a> Title1</h1>\n<p><div class=\"table-of-contents\"><ul><li><a href=\"#title2\">Title2</a><ul><li><a href=\"#title3\">Title3</a></li><li><a href=\"#title3\">Title3</a></li></ul></li><li><a href=\"#title2\">Title2</a><ul><li><a href=\"#title3\">Title3</a></li></ul></li></ul></div></p>\n<h2 id=\"title2\"><a class=\"header-anchor\" href=\"#title2\" aria-hidden=\"true\">#</a> Title2</h2>\n<h3 id=\"title3\"><a class=\"header-anchor\" href=\"#title3\" aria-hidden=\"true\">#</a> Title3</h3>\n<h4 id=\"title4\"><a class=\"header-anchor\" href=\"#title4\" aria-hidden=\"true\">#</a> Title4</h4>\n<h5 id=\"title5\"><a class=\"header-anchor\" href=\"#title5\" aria-hidden=\"true\">#</a> Title5</h5>\n<p>...</p>\n<h5 id=\"title5-2\"><a class=\"header-anchor\" href=\"#title5-2\" aria-hidden=\"true\">#</a> Title5</h5>\n<p>...</p>\n<h4 id=\"title4-2\"><a class=\"header-anchor\" href=\"#title4-2\" aria-hidden=\"true\">#</a> Title4</h4>\n<p>...</p>\n<h3 id=\"title3-2\"><a class=\"header-anchor\" href=\"#title3-2\" aria-hidden=\"true\">#</a> Title3</h3>\n<p>...</p>\n<h2 id=\"title2-2\"><a class=\"header-anchor\" href=\"#title2-2\" aria-hidden=\"true\">#</a> Title2</h2>\n<p>...</p>\n<h3 id=\"title3-3\"><a class=\"header-anchor\" href=\"#title3-3\" aria-hidden=\"true\">#</a> Title3</h3>\n<p>...</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/c1b38eaf1f7149439a79af85a63bbd9e.json b/node_modules/vuepress/node_modules/.cache/vuepress/c1b38eaf1f7149439a79af85a63bbd9e.json new file mode 100644 index 00000000..8052e1f1 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/c1b38eaf1f7149439a79af85a63bbd9e.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/guide/introduction.md?vue&type=template&id=7aabeaf7&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/introduction.md","mtime":1541489249205},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._ssrNode(\"<h1 id=\\\"简介\\\"><a href=\\\"#简介\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 简介</h1> <p>TBOX是一个用c语言实现的跨平台开发库。</p> <p>针对各个平台,封装了统一的接口,简化了各类开发过程中常用操作,使你在开发过程中,更加关注实际应用的开发,而不是把时间浪费在琐碎的接口兼容性上面,并且充分利用了各个平台独有的一些特性进行优化。</p> <p>这个项目的目的,是为了使C开发更加的简单高效。</p> <p>目前支持的平台有:</p> <ul><li>Windows</li> <li>Macosx</li> <li>Linux</li> <li>Android</li> <li>iOS</li></ul> \"),_vm._ssrNode(\"<p>\",\"</p>\",[_vm._ssrNode(\"通过\"),_vm._ssrNode(\"<a href=\\\"http://www.xmake.io/cn\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"xmake\"),_c('OutboundLink')],2),_vm._ssrNode(\"支持各种编译模式:\")],2),_vm._ssrNode(\" <ul><li>Release: 正式版编译,禁用调试信息、断言,各种检测机制,启用编译器优化</li> <li>Debug: 调试模式,默认启用详细调试信息、断言、内存越界检测、内存泄漏、锁竞争分析等检测机制</li> <li>Small: 最小化编译,默认禁用所有扩展模块,启用编译器最小化优化</li> <li>Micro: 针对嵌入式平台,仅仅编译tbox微内核,仅提供最基础的跨平台接口,生成库仅64K左右(内置轻量libc接口实现)</li></ul> <p>如果你想了解更多,请参考:</p> \"),_vm._ssrNode(\"<ul>\",\"</ul>\",[_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"http://www.tboox.org/cn\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"项目主页\"),_c('OutboundLink')],2)]),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"https://github.com/tboox/tbox/wiki/%E7%9B%AE%E5%BD%95\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"在线文档\"),_c('OutboundLink')],2)]),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"https://github.com/tboox/tbox\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"Github\"),_c('OutboundLink')],2)]),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"https://gitee.com/tboox/tbox\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"Gitee\"),_c('OutboundLink')],2)])],2),_vm._ssrNode(\" <h2 id=\\\"特性\\\"><a href=\\\"#特性\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 特性</h2> <h4 id=\\\"流库\\\"><a href=\\\"#流库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 流库</h4> <p>针对http、file、socket、data等流数据,实现统一接口进行读写,并且支持: 阻塞、非阻塞、异步 三种读写模式。\\n支持中间增加多层filter流进行流过滤,实现边读取,内部边进行解压、编码转换、加密等操作,极大的减少了内存使用。</p> <p>主要提供以下模块:</p> <ul><li><code>stream</code>:通用非阻塞流,用于一般的单独io处理,同时支持协程以实现异步传输。</li> <li><code>transfer</code>:流传输器,维护两路流的传输。</li> <li><code>static_stream</code>:针对静态数据buffer优化的静态流,用于轻量快速的数据解析。</li></ul> <h4 id=\\\"协程库\\\"><a href=\\\"#协程库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 协程库</h4> \"),_vm._ssrNode(\"<ul>\",\"</ul>\",[_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"快速高效的协程切换支持(具体性能参考:\"),_vm._ssrNode(\"<a href=\\\"http://tboox.org/cn/2016/10/28/benchbox-coroutine/\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"基准测试报告\"),_c('OutboundLink')],2),_vm._ssrNode(\")\")],2),_vm._ssrNode(\" <li>提供跨平台支持,核心切换算法参考boost,并且对其进行重写和优化,目前支持架构:x86, x86_64, arm, arm64, mips32</li> <li>提供channel协程间数据通信支持,基于生产、消费者模型</li> <li>提供信号量、协程锁支持</li> <li>socket、stream都模块原生支持协程,并且可在线程和协程间进行无缝切换</li> <li>提供http、file等基于协程的简单服务器实例,只需几百行代码,就可以从socket开始写个高性能io服务器,代码逻辑比异步回调模式更加清晰</li> <li>同时提供stackfull, stackless两种协程模式支持,stackless协程更加的轻量(每个协程只占用几十个bytes),切换更快(会牺牲部分易用性)</li> <li>支持epoll, kqueue, poll, select 和 IOCP</li>\")],2),_vm._ssrNode(\" <h4 id=\\\"数据库\\\"><a href=\\\"#数据库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 数据库</h4> <ul><li>统一并简化数据库操作接口,适配各种数据源,通过统一的url来自动连接打开支持的数据库,数据的枚举采用迭代器模型。</li> <li>目前支持sqlite3以及mysql两种关系型数据库,也可自定义扩展使用其他关系型数据库。</li></ul> <h4 id=\\\"xml库\\\"><a href=\\\"#xml库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> xml库</h4> <ul><li>针对xml提供DOM和SAX两种解析模式,SAX方式采用外部迭代模式,灵活性和性能更高,并且可以选择指定路径,进行解析。</li> <li>解析过程完全基于stream,所以是高度流化的,可以实现边下载、边解压、边转码、边解析一条龙服务,使用较低的内存也可以解析大规模数据。</li> <li>提供xml writer以支持对xml生成</li></ul> <h4 id=\\\"内存库\\\"><a href=\\\"#内存库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 内存库</h4> <ul><li>参考linux内核内存管理机制的实现,并对其进行各种改造和优化,所实现的TBOX独有的一整套内存池管理架构。</li> <li>调试模式下,可以轻松检测并定位内存泄露、内存越界溢出、内存重叠覆盖等常见内存问题,并对整体内存的使用进行了统计和简要分析。</li> <li>针对大块数据、小块数据、字符串数据进行了充分的利用,避免了大量外部碎片和内部碎片的产生。分配操作进行了各种优化,96%的情况下,效率都是在O(1)。</li></ul> <h4 id=\\\"容器库\\\"><a href=\\\"#容器库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 容器库</h4> <ul><li>提供哈希、链表、数组、队列、堆栈、最小最大堆等常用容器。</li> <li>支持各种常用成员类型,在原有的容器期初上,其成员类型还可以完全自定义扩展。</li> <li>所有容器都支持迭代器操作。</li> <li>大部分容器都可以支持基于stream的序列化和反序列化操作。</li></ul> <h4 id=\\\"算法库\\\"><a href=\\\"#算法库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 算法库</h4> <ul><li>提供各种排序算法:冒泡排序、堆排序、快速排序、插入排序。</li> <li>提供各种查找算法:线性遍历、二分法搜索。</li> <li>提供各种遍历、删除、统计算法。</li> <li>以迭代器为接口,实现算法和容器的分离,类似stl,但是c实现的,更加轻量。</li></ul> <h4 id=\\\"网络库\\\"><a href=\\\"#网络库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 网络库</h4> <ul><li>实现http客户端模块</li> <li>实现cookies</li> <li>实现dns解析与缓存</li> <li>实现ssl(支持openssl, polarssl, mbedtls)</li> <li>支持ipv4、ipv6</li> <li>支持通过协程实现异步模式</li></ul> <h4 id=\\\"数学运算库\\\"><a href=\\\"#数学运算库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 数学运算库</h4> <ul><li>提供各种精度的定点运算支持</li> <li>提供随机数生成器</li></ul> <h4 id=\\\"libc库\\\"><a href=\\\"#libc库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> libc库</h4> <ul><li>libc的一个轻量级实现,完全跨平台,并且针对不同架构进行了优化。</li> <li>支持大部分字符串、宽字符串操作。</li> <li>扩展字符串、宽字符串的各种大小写不敏感操作接口</li> <li>扩展<code>memset_u16</code>、<code>memset_u32</code>等接口,并对其进行高度优化,尤其适合图形渲染程序</li></ul> <h4 id=\\\"libm库\\\"><a href=\\\"#libm库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> libm库</h4> <ul><li>libm部分接口的一个轻量级实现,以及对常用系统接口的封装。(目前只实现了部分,之后有时间会完全实现掉)</li> <li>扩展部分常用接口,增加对sqrt、log2等常用函数的整数版本计算,进行高度优化,不涉及浮点运算,适合嵌入式环境使用。</li></ul> <h4 id=\\\"object库\\\"><a href=\\\"#object库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> object库</h4> <ul><li>轻量级类apple的CoreFoundation库,支持object、dictionary、array、string、number、date、data等常用对象,并且可以方便扩展自定义对象的序列化。</li> <li>支持对xml、json、binary以及apple的plist(xplist/bplist)格式序列化和反序列化。\\n并且实现自有的binary序列化格式, 针对明文进行了简单的加密,在不影响性能的前提下,序列化后的大小比bplist节省30%。</li></ul> <h4 id=\\\"平台库\\\"><a href=\\\"#平台库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 平台库</h4> <ul><li>提供file、directory、socket、thread、time等常用系统接口</li> <li>提供atomic、atomic64接口</li> <li>提供高精度、低精度定时器</li> <li>提供高性能的线程池操作</li> <li>提供event、mutex、semaphore、spinlock等事件、互斥、信号量、自旋锁操作</li> <li>提供获取函数堆栈信息的接口,方便调试和错误定位</li> <li>提供跨平台动态库加载接口(如果系统支持的话)</li> <li>提供io轮询器,针对epoll, poll, select, kqueue进行跨平台封装</li> <li>提供跨平台上下文切换接口,主要用于协程实现,切换效率非常高</li></ul> <h4 id=\\\"压缩库\\\"><a href=\\\"#压缩库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 压缩库</h4> <ul><li>支持zlib/zlibraw/gzip的压缩与解压(需要第三方zlib库支持)。</li></ul> <h4 id=\\\"字符编码库\\\"><a href=\\\"#字符编码库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 字符编码库</h4> <ul><li>支持utf8、utf16、gbk、gb2312、uc2、uc4 之间的互相转码,并且支持大小端格式。</li></ul> <h4 id=\\\"实用工具库\\\"><a href=\\\"#实用工具库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 实用工具库</h4> <ul><li>实现base64/32编解码</li> <li>实现crc32、adler32、md5、sha1等常用hash算法</li> <li>实现日志输出、断言等辅助调试工具</li> <li>实现url编解码</li> <li>实现位操作相关接口,支持各种数据格式的解析,可以对8bits、16bits、32bits、64bits、float、double以及任意bits的字段进行解析操作,并且同时支持大端、小端和本地端模式,并针对部分操作进行了优化,像static_stream、stream都有相关接口对其进行了封装,方便在流上进行快速数据解析。</li> <li>实现swap16、swap32、swap64等位交换操作,并针对各个平台进行了优化。</li> <li>实现一些高级的位处理接口,例如:位0的快速统计、前导0和前导1的快速位计数、后导01的快速位计数</li> <li>实现单例模块,可以对静态对象、实例对象进行快速的单例封装,实现全局线程安全</li> <li>实现option模块,对命令行参数进行解析,提供快速方便的命令行选项建立和解析操作,对于写终端程序还是很有帮助的</li></ul> <h4 id=\\\"正则表达式库\\\"><a href=\\\"#正则表达式库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 正则表达式库</h4> <ul><li>支持匹配和替换操作</li> <li>支持全局、多行、大小写不敏感等模式</li> <li>使用pcre, pcre2和posix正则库</li></ul> <h2 id=\\\"项目例子\\\"><a href=\\\"#项目例子\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 项目例子</h2> <p>一些使用tbox的项目</p> \"),_vm._ssrNode(\"<ul>\",\"</ul>\",[_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"https://github.com/tboox/gbox\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"gbox\"),_c('OutboundLink')],2)]),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"https://github.com/tboox/vm86\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"vm86\"),_c('OutboundLink')],2)]),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"http://www.xmake.io/cn\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"xmake\"),_c('OutboundLink')],2)]),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"https://github.com/tboox/itrace\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"itrace\"),_c('OutboundLink')],2)]),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"https://github.com/tboox/tbox/wiki/%E4%BD%BF%E7%94%A8tbox%E7%9A%84%E5%BC%80%E6%BA%90%E5%BA%93\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"更多项目\"),_c('OutboundLink')],2)])],2),_vm._ssrNode(\" <h2 id=\\\"联系方式\\\"><a href=\\\"#联系方式\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 联系方式</h2> \"),_vm._ssrNode(\"<ul>\",\"</ul>\",[_vm._ssrNode(\"<li>邮箱:<a href=\\\"mailto:waruqi@gmail.com\\\">waruqi@gmail.com</a></li> \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"主页:\"),_vm._ssrNode(\"<a href=\\\"http://www.tboox.org/cn\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"TBOOX开源工程\"),_c('OutboundLink')],2)],2),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"社区:\"),_vm._ssrNode(\"<a href=\\\"https://www.reddit.com/r/tboox/\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"Reddit论坛\"),_c('OutboundLink')],2)],2),_vm._ssrNode(\" <li>QQ群:343118190</li> <li>微信公众号:tboox-os</li>\")],2)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/c20bf71b15c59c317b2f494a0c299b58.json b/node_modules/vuepress/node_modules/.cache/vuepress/c20bf71b15c59c317b2f494a0c299b58.json new file mode 100644 index 00000000..d46485d4 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/c20bf71b15c59c317b2f494a0c299b58.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/README.md?vue&type=template&id=0a27dc62&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/README.md","mtime":1541513030109},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"language-c extra-class\"},[_c('pre',{pre:true,attrs:{\"class\":\"language-c\"}},[_c('code',[_c('span',{attrs:{\"class\":\"token macro property\"}},[_vm._v(\"#\"),_c('span',{attrs:{\"class\":\"token directive keyword\"}},[_vm._v(\"include\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"tbox/tbox.h\\\"\")])]),_vm._v(\"\\n\\n\"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"int\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"main\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"int\")]),_vm._v(\" argc\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"char\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"*\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"*\")]),_vm._v(\" argv\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// init tbox\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"!\")]),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_init\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"tb_null\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" tb_null\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"return\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// init vector\")]),_vm._v(\"\\n tb_vector_ref_t vector \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_init\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_element_cstr\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"tb_true\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// insert item\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_insert_tail\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"hello\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_insert_tail\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"tbox\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// dump all items\")]),_vm._v(\"\\n tb_for_all \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"tb_char_t \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"const\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"*\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" cstr\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// trace\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_trace_i\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"%s\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" cstr\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// exit vector\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_exit\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// exit tbox\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_exit\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\")])])])])}]\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/c26e561ec6128b08bd1bdb9bd26fb548.json b/node_modules/vuepress/node_modules/.cache/vuepress/c26e561ec6128b08bd1bdb9bd26fb548.json new file mode 100644 index 00000000..6d9e5baf --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/c26e561ec6128b08bd1bdb9bd26fb548.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/README.md?vue&type=template&id=7be40604&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/README.md","mtime":1541492016048},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><!--beforebegin--><div class=\"language-c extra-class\"><!--afterbegin--><pre v-pre class=\"language-c\"><code><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">\"tbox/tbox.h\"</span></span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> argc<span class=\"token punctuation\">,</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span> argv<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// init tbox</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">tb_init</span><span class=\"token punctuation\">(</span>tb_null<span class=\"token punctuation\">,</span> tb_null<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// init vector</span>\n tb_vector_ref_t vector <span class=\"token operator\">=</span> <span class=\"token function\">tb_vector_init</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">tb_element_cstr</span><span class=\"token punctuation\">(</span>tb_true<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// insert item</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// dump all items</span>\n tb_for_all <span class=\"token punctuation\">(</span>tb_char_t <span class=\"token keyword\">const</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">,</span> vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%s\"</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit vector</span>\n <span class=\"token function\">tb_vector_exit</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/c43bb4a82adbd31e9922f5824098b4e0.json b/node_modules/vuepress/node_modules/.cache/vuepress/c43bb4a82adbd31e9922f5824098b4e0.json new file mode 100644 index 00000000..42a4ad01 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/c43bb4a82adbd31e9922f5824098b4e0.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/api/introduction.md?vue&type=template&id=c58bf996&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/api/introduction.md","mtime":1541569456015},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"title1\"><a class=\"header-anchor\" href=\"#title1\" aria-hidden=\"true\">#</a> Title1</h1>\n<p><div class=\"table-of-contents\"><ul><li><a href=\"#title2\">Title2</a><ul><li><a href=\"#title3\">Title3</a></li><li><a href=\"#title3\">Title3</a></li></ul></li><li><a href=\"#title2\">Title2</a><ul><li><a href=\"#title3\">Title3</a></li></ul></li></ul></div></p>\n<h2 id=\"title2\"><a class=\"header-anchor\" href=\"#title2\" aria-hidden=\"true\">#</a> Title2</h2>\n<h3 id=\"title3\"><a class=\"header-anchor\" href=\"#title3\" aria-hidden=\"true\">#</a> Title3</h3>\n<h4 id=\"title4\"><a class=\"header-anchor\" href=\"#title4\" aria-hidden=\"true\">#</a> Title4</h4>\n<h5 id=\"title5\"><a class=\"header-anchor\" href=\"#title5\" aria-hidden=\"true\">#</a> Title5</h5>\n<p>...</p>\n<h5 id=\"title5-2\"><a class=\"header-anchor\" href=\"#title5-2\" aria-hidden=\"true\">#</a> Title5</h5>\n<p>...</p>\n<h4 id=\"title4-2\"><a class=\"header-anchor\" href=\"#title4-2\" aria-hidden=\"true\">#</a> Title4</h4>\n<p>...</p>\n<h3 id=\"title3-2\"><a class=\"header-anchor\" href=\"#title3-2\" aria-hidden=\"true\">#</a> Title3</h3>\n<p>...</p>\n<h2 id=\"title2-2\"><a class=\"header-anchor\" href=\"#title2-2\" aria-hidden=\"true\">#</a> Title2</h2>\n<p>...</p>\n<h3 id=\"title3-3\"><a class=\"header-anchor\" href=\"#title3-3\" aria-hidden=\"true\">#</a> Title3</h3>\n<p>...</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/c49a46bab526b2fa6ae4e9525b2e8a00.json b/node_modules/vuepress/node_modules/.cache/vuepress/c49a46bab526b2fa6ae4e9525b2e8a00.json new file mode 100644 index 00000000..71bd02d6 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/c49a46bab526b2fa6ae4e9525b2e8a00.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/components/Content.js","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/components/Content.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["export default {\n functional: true,\n props: {\n custom: {\n type: Boolean,\n default: true\n }\n },\n render: function render(h, _ref) {\n var parent = _ref.parent,\n props = _ref.props,\n data = _ref.data;\n return h(parent.$page.key, {\n class: [props.custom ? 'custom' : '', data.class, data.staticClass],\n style: data.style\n });\n }\n};",{"version":3,"sources":["node_modules/vuepress/lib/app/components/Content.js"],"names":["functional","props","custom","type","Boolean","default","render","h","parent","data","$page","key","class","staticClass","style"],"mappings":"AAAA,eAAe;AACbA,cAAY,IADC;AAGbC,SAAO;AACLC,YAAQ;AACNC,YAAMC,OADA;AAENC,eAAS;AAFH;AADH,GAHM;AAUbC,QAVa,kBAULC,CAVK,QAUuB;AAAA,QAAvBC,MAAuB,QAAvBA,MAAuB;AAAA,QAAfP,KAAe,QAAfA,KAAe;AAAA,QAARQ,IAAQ,QAARA,IAAQ;AAClC,WAAOF,EAAEC,OAAOE,KAAP,CAAaC,GAAf,EAAoB;AACzBC,aAAO,CAACX,MAAMC,MAAN,GAAe,QAAf,GAA0B,EAA3B,EAA+BO,KAAKG,KAApC,EAA2CH,KAAKI,WAAhD,CADkB;AAEzBC,aAAOL,KAAKK;AAFa,KAApB,CAAP;AAID;AAfY,CAAf","sourceRoot":"/Users/ruki/projects/personal/xmake-docs","sourcesContent":["export default {\n functional: true,\n\n props: {\n custom: {\n type: Boolean,\n default: true\n }\n },\n\n render (h, { parent, props, data }) {\n return h(parent.$page.key, {\n class: [props.custom ? 'custom' : '', data.class, data.staticClass],\n style: data.style\n })\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/c49ea77866d733f686e7aa3a669e7c66.json b/node_modules/vuepress/node_modules/.cache/vuepress/c49ea77866d733f686e7aa3a669e7c66.json new file mode 100644 index 00000000..34c48bae --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/c49ea77866d733f686e7aa3a669e7c66.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/root-mixins/index.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/root-mixins/index.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import updateMeta from './updateMeta';\nimport activeHeaderLinks from '@activeHeaderLinks';\nexport default [updateMeta, // required\nactiveHeaderLinks // optional\n];",{"version":3,"sources":["node_modules/vuepress/lib/app/root-mixins/index.js"],"names":["updateMeta","activeHeaderLinks"],"mappings":"AAAA,OAAOA,UAAP,MAAuB,cAAvB;AACA,OAAOC,iBAAP,MAA8B,oBAA9B;AAEA,eAAe,CACbD,UADa,EACD;AACZC,iBAFa,CAEK;AAFL,CAAf","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["import updateMeta from './updateMeta'\nimport activeHeaderLinks from '@activeHeaderLinks'\n\nexport default [\n updateMeta, // required\n activeHeaderLinks // optional\n]\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/c4a35981f69abad34168754a4bfc173a.json b/node_modules/vuepress/node_modules/.cache/vuepress/c4a35981f69abad34168754a4bfc173a.json new file mode 100644 index 00000000..99a09ae5 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/c4a35981f69abad34168754a4bfc173a.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/README.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/README.md","mtime":1541488927605},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./README.md?vue&type=template&id=15b97e54&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('15b97e54', component.options)\n } else {\n api.reload('15b97e54', component.options)\n }\n module.hot.accept(\"./README.md?vue&type=template&id=15b97e54&\", function () {\n api.rerender('15b97e54', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"docs/zh/README.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/c4b7cd0dda4e0672a848ad5557c93b03.json b/node_modules/vuepress/node_modules/.cache/vuepress/c4b7cd0dda4e0672a848ad5557c93b03.json new file mode 100644 index 00000000..90c14ef2 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/c4b7cd0dda4e0672a848ad5557c93b03.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/api/introduction.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/api/introduction.md","mtime":1541569456015},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./introduction.md?vue&type=template&id=c004d6d6&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('c004d6d6', component.options)\n } else {\n api.reload('c004d6d6', component.options)\n }\n module.hot.accept(\"./introduction.md?vue&type=template&id=c004d6d6&\", function () {\n api.rerender('c004d6d6', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/api/introduction.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/c4c76507132b78d7cff24f6420a18990.json b/node_modules/vuepress/node_modules/.cache/vuepress/c4c76507132b78d7cff24f6420a18990.json new file mode 100644 index 00000000..7fede48a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/c4c76507132b78d7cff24f6420a18990.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport DropdownLink from './DropdownLink.vue'\nimport { resolveNavLinkItem } from './util'\nimport NavLink from './NavLink.vue'\n\nexport default {\n components: { NavLink, DropdownLink },\n\n computed: {\n userNav () {\n return this.$themeLocaleConfig.nav || this.$site.themeConfig.nav || []\n },\n\n nav () {\n const { locales } = this.$site\n if (locales && Object.keys(locales).length > 1) {\n const currentLink = this.$page.path\n const routes = this.$router.options.routes\n const themeLocales = this.$site.themeConfig.locales || {}\n const languageDropdown = {\n text: this.$themeLocaleConfig.selectText || 'Languages',\n items: Object.keys(locales).map(path => {\n const locale = locales[path]\n const text = themeLocales[path] && themeLocales[path].label || locale.lang\n let link\n // Stay on the current page\n if (locale.lang === this.$lang) {\n link = currentLink\n } else {\n // Try to stay on the same page\n link = currentLink.replace(this.$localeConfig.path, path)\n // fallback to homepage\n if (!routes.some(route => route.path === link)) {\n link = path\n }\n }\n return { text, link }\n })\n }\n return [...this.userNav, languageDropdown]\n }\n return this.userNav\n },\n\n userLinks () {\n return (this.nav || []).map(link => {\n return Object.assign(resolveNavLinkItem(link), {\n items: (link.items || []).map(resolveNavLinkItem)\n })\n })\n },\n\n repoLink () {\n const { repo } = this.$site.themeConfig\n if (repo) {\n return /^https?:/.test(repo)\n ? repo\n : `https://github.com/${repo}`\n }\n },\n\n repoLabel () {\n if (!this.repoLink) return\n if (this.$site.themeConfig.repoLabel) {\n return this.$site.themeConfig.repoLabel\n }\n\n const repoHost = this.repoLink.match(/^https?:\\/\\/[^/]+/)[0]\n const platforms = ['GitHub', 'GitLab', 'Bitbucket']\n for (let i = 0; i < platforms.length; i++) {\n const platform = platforms[i]\n if (new RegExp(platform, 'i').test(repoHost)) {\n return platform\n }\n }\n\n return 'Source'\n }\n }\n}\n",{"version":3,"sources":["NavLinks.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA","file":"NavLinks.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <nav\n class=\"nav-links\"\n v-if=\"userLinks.length || repoLink\"\n >\n <!-- user links -->\n <div\n class=\"nav-item\"\n v-for=\"item in userLinks\"\n :key=\"item.link\"\n >\n <DropdownLink\n v-if=\"item.type === 'links'\"\n :item=\"item\"\n />\n <NavLink\n v-else\n :item=\"item\"\n />\n </div>\n\n <!-- repo link -->\n <a\n v-if=\"repoLink\"\n :href=\"repoLink\"\n class=\"repo-link\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {{ repoLabel }}\n <OutboundLink/>\n </a>\n </nav>\n</template>\n\n<script>\nimport DropdownLink from './DropdownLink.vue'\nimport { resolveNavLinkItem } from './util'\nimport NavLink from './NavLink.vue'\n\nexport default {\n components: { NavLink, DropdownLink },\n\n computed: {\n userNav () {\n return this.$themeLocaleConfig.nav || this.$site.themeConfig.nav || []\n },\n\n nav () {\n const { locales } = this.$site\n if (locales && Object.keys(locales).length > 1) {\n const currentLink = this.$page.path\n const routes = this.$router.options.routes\n const themeLocales = this.$site.themeConfig.locales || {}\n const languageDropdown = {\n text: this.$themeLocaleConfig.selectText || 'Languages',\n items: Object.keys(locales).map(path => {\n const locale = locales[path]\n const text = themeLocales[path] && themeLocales[path].label || locale.lang\n let link\n // Stay on the current page\n if (locale.lang === this.$lang) {\n link = currentLink\n } else {\n // Try to stay on the same page\n link = currentLink.replace(this.$localeConfig.path, path)\n // fallback to homepage\n if (!routes.some(route => route.path === link)) {\n link = path\n }\n }\n return { text, link }\n })\n }\n return [...this.userNav, languageDropdown]\n }\n return this.userNav\n },\n\n userLinks () {\n return (this.nav || []).map(link => {\n return Object.assign(resolveNavLinkItem(link), {\n items: (link.items || []).map(resolveNavLinkItem)\n })\n })\n },\n\n repoLink () {\n const { repo } = this.$site.themeConfig\n if (repo) {\n return /^https?:/.test(repo)\n ? repo\n : `https://github.com/${repo}`\n }\n },\n\n repoLabel () {\n if (!this.repoLink) return\n if (this.$site.themeConfig.repoLabel) {\n return this.$site.themeConfig.repoLabel\n }\n\n const repoHost = this.repoLink.match(/^https?:\\/\\/[^/]+/)[0]\n const platforms = ['GitHub', 'GitLab', 'Bitbucket']\n for (let i = 0; i < platforms.length; i++) {\n const platform = platforms[i]\n if (new RegExp(platform, 'i').test(repoHost)) {\n return platform\n }\n }\n\n return 'Source'\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.nav-links\n display inline-block\n a\n line-height 1.4rem\n color inherit\n &:hover, &.router-link-active\n color $accentColor\n .nav-item\n position relative\n display inline-block\n margin-left 1.5rem\n line-height 2rem\n &:first-child\n margin-left 0\n .repo-link\n margin-left 1.5rem\n\n@media (max-width: $MQMobile)\n .nav-links\n .nav-item, .repo-link\n margin-left 0\n\n@media (min-width: $MQMobile)\n .nav-links a\n &:hover, &.router-link-active\n color $textColor\n .nav-item > a:not(.external)\n &:hover, &.router-link-active\n margin-bottom -2px\n border-bottom 2px solid lighten($accentColor, 8%)\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/c57b45a0d29451ff6ac639a1d090f908.json b/node_modules/vuepress/node_modules/.cache/vuepress/c57b45a0d29451ff6ac639a1d090f908.json new file mode 100644 index 00000000..1cd20ed8 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/c57b45a0d29451ff6ac639a1d090f908.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport NavLink from './NavLink.vue';\nexport default {\n components: {\n NavLink: NavLink\n },\n computed: {\n data: function data() {\n return this.$page.frontmatter;\n },\n actionLink: function actionLink() {\n return {\n link: this.data.actionLink,\n text: this.data.actionText\n };\n }\n }\n};",{"version":3,"sources":["Home.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,OAAA,OAAA,MAAA,eAAA;AAEA,eAAA;AACA,cAAA;AAAA;AAAA,GADA;AAGA,YAAA;AACA,QADA,kBACA;AACA,aAAA,KAAA,KAAA,CAAA,WAAA;AACA,KAHA;AAKA,cALA,wBAKA;AACA,aAAA;AACA,cAAA,KAAA,IAAA,CAAA,UADA;AAEA,cAAA,KAAA,IAAA,CAAA;AAFA,OAAA;AAIA;AAVA;AAHA,CAAA","sourcesContent":["<template>\n <div class=\"home\">\n <div class=\"hero\">\n <img\n v-if=\"data.heroImage\"\n :src=\"$withBase(data.heroImage)\"\n alt=\"hero\"\n >\n\n <h1>{{ data.heroText || $title || 'Hello' }}</h1>\n\n <p class=\"description\">\n {{ data.tagline || $description || 'Welcome to your VuePress site' }}\n </p>\n\n <p\n class=\"action\"\n v-if=\"data.actionText && data.actionLink\"\n >\n <NavLink\n class=\"action-button\"\n :item=\"actionLink\"\n />\n </p>\n </div>\n\n <div\n class=\"features\"\n v-if=\"data.features && data.features.length\"\n >\n <div\n class=\"feature\"\n v-for=\"(feature, index) in data.features\"\n :key=\"index\"\n >\n <h2>{{ feature.title }}</h2>\n <p>{{ feature.details }}</p>\n </div>\n </div>\n\n <Content custom/>\n\n <div\n class=\"footer\"\n v-if=\"data.footer\"\n >\n {{ data.footer }}\n </div>\n </div>\n</template>\n\n<script>\nimport NavLink from './NavLink.vue'\n\nexport default {\n components: { NavLink },\n\n computed: {\n data () {\n return this.$page.frontmatter\n },\n\n actionLink () {\n return {\n link: this.data.actionLink,\n text: this.data.actionText\n }\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.home\n padding $navbarHeight 2rem 0\n max-width 960px\n margin 0px auto\n .hero\n text-align center\n img\n max-height 280px\n display block\n margin 3rem auto 1.5rem\n h1\n font-size 3rem\n h1, .description, .action\n margin 1.8rem auto\n .description\n max-width 35rem\n font-size 1.6rem\n line-height 1.3\n color lighten($textColor, 40%)\n .action-button\n display inline-block\n font-size 1.2rem\n color #fff\n background-color $accentColor\n padding 0.8rem 1.6rem\n border-radius 4px\n transition background-color .1s ease\n box-sizing border-box\n border-bottom 1px solid darken($accentColor, 10%)\n &:hover\n background-color lighten($accentColor, 10%)\n .features\n border-top 1px solid $borderColor\n padding 1.2rem 0\n margin-top 2.5rem\n display flex\n flex-wrap wrap\n align-items flex-start\n align-content stretch\n justify-content space-between\n .feature\n flex-grow 1\n flex-basis 30%\n max-width 30%\n h2\n font-size 1.4rem\n font-weight 500\n border-bottom none\n padding-bottom 0\n color lighten($textColor, 10%)\n p\n color lighten($textColor, 25%)\n .footer\n padding 2.5rem\n border-top 1px solid $borderColor\n text-align center\n color lighten($textColor, 25%)\n\n@media (max-width: $MQMobile)\n .home\n .features\n flex-direction column\n .feature\n max-width 100%\n padding 0 2.5rem\n\n@media (max-width: $MQMobileNarrow)\n .home\n padding-left 1.5rem\n padding-right 1.5rem\n .hero\n img\n max-height 210px\n margin 2rem auto 1.2rem\n h1\n font-size 2rem\n h1, .description, .action\n margin 1.2rem auto\n .description\n font-size 1.2rem\n .action-button\n font-size 1rem\n padding 0.6rem 1.2rem\n .feature\n h2\n font-size 1.25rem\n</style>\n"],"sourceRoot":"node_modules/vuepress/lib/default-theme"}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/c634582c1261c6cdb4d6e9c8359f5c29.json b/node_modules/vuepress/node_modules/.cache/vuepress/c634582c1261c6cdb4d6e9c8359f5c29.json new file mode 100644 index 00000000..a91f9137 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/c634582c1261c6cdb4d6e9c8359f5c29.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/zh/plugin/introduction.md","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/zh/plugin/introduction.md","mtime":1541580936763},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./introduction.md?vue&type=template&id=bdbb3722&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('bdbb3722', component.options)\n } else {\n api.reload('bdbb3722', component.options)\n }\n module.hot.accept(\"./introduction.md?vue&type=template&id=bdbb3722&\", function () {\n api.rerender('bdbb3722', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/zh/plugin/introduction.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/c64cc64413e402fa0811ce8de3c5a166.json b/node_modules/vuepress/node_modules/.cache/vuepress/c64cc64413e402fa0811ce8de3c5a166.json new file mode 100644 index 00000000..e4659b6b --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/c64cc64413e402fa0811ce8de3c5a166.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/api/introduction.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/api/introduction.md","mtime":1541569045944},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./introduction.md?vue&type=template&id=687bc258&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n \"1c8c6058\"\n \n)\n\ncomponent.options.__file = \"introduction.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/c64f51de5a6021950c43a8fe9d5abf03.json b/node_modules/vuepress/node_modules/.cache/vuepress/c64f51de5a6021950c43a8fe9d5abf03.json new file mode 100644 index 00000000..8a11e2ee --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/c64f51de5a6021950c43a8fe9d5abf03.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import \"core-js/modules/es6.regexp.constructor\";\nimport \"core-js/modules/es6.regexp.match\";\nimport \"core-js/modules/es6.object.assign\";\nimport _toConsumableArray from \"/Users/ruki/projects/personal/tbox-docs/node_modules/@babel/runtime/helpers/builtin/es6/toConsumableArray\";\nimport \"core-js/modules/es6.array.some\";\nimport \"core-js/modules/es6.regexp.replace\";\nimport \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.iterator\";\nimport \"core-js/modules/es6.object.keys\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport DropdownLink from './DropdownLink.vue';\nimport { resolveNavLinkItem } from './util';\nimport NavLink from './NavLink.vue';\nexport default {\n components: {\n NavLink: NavLink,\n DropdownLink: DropdownLink\n },\n computed: {\n userNav: function userNav() {\n return this.$themeLocaleConfig.nav || this.$site.themeConfig.nav || [];\n },\n nav: function nav() {\n var _this = this;\n\n var locales = this.$site.locales;\n\n if (locales && Object.keys(locales).length > 1) {\n var currentLink = this.$page.path;\n var routes = this.$router.options.routes;\n var themeLocales = this.$site.themeConfig.locales || {};\n var languageDropdown = {\n text: this.$themeLocaleConfig.selectText || 'Languages',\n items: Object.keys(locales).map(function (path) {\n var locale = locales[path];\n var text = themeLocales[path] && themeLocales[path].label || locale.lang;\n var link; // Stay on the current page\n\n if (locale.lang === _this.$lang) {\n link = currentLink;\n } else {\n // Try to stay on the same page\n link = currentLink.replace(_this.$localeConfig.path, path); // fallback to homepage\n\n if (!routes.some(function (route) {\n return route.path === link;\n })) {\n link = path;\n }\n }\n\n return {\n text: text,\n link: link\n };\n })\n };\n return _toConsumableArray(this.userNav).concat([languageDropdown]);\n }\n\n return this.userNav;\n },\n userLinks: function userLinks() {\n return (this.nav || []).map(function (link) {\n return Object.assign(resolveNavLinkItem(link), {\n items: (link.items || []).map(resolveNavLinkItem)\n });\n });\n },\n repoLink: function repoLink() {\n var repo = this.$site.themeConfig.repo;\n\n if (repo) {\n return /^https?:/.test(repo) ? repo : \"https://github.com/\".concat(repo);\n }\n },\n repoLabel: function repoLabel() {\n if (!this.repoLink) return;\n\n if (this.$site.themeConfig.repoLabel) {\n return this.$site.themeConfig.repoLabel;\n }\n\n var repoHost = this.repoLink.match(/^https?:\\/\\/[^/]+/)[0];\n var platforms = ['GitHub', 'GitLab', 'Bitbucket'];\n\n for (var i = 0; i < platforms.length; i++) {\n var platform = platforms[i];\n\n if (new RegExp(platform, 'i').test(repoHost)) {\n return platform;\n }\n }\n\n return 'Source';\n }\n }\n};",{"version":3,"sources":["NavLinks.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,OAAA,YAAA,MAAA,oBAAA;AACA,SAAA,kBAAA,QAAA,QAAA;AACA,OAAA,OAAA,MAAA,eAAA;AAEA,eAAA;AACA,cAAA;AAAA,oBAAA;AAAA;AAAA,GADA;AAGA,YAAA;AACA,WADA,qBACA;AACA,aAAA,KAAA,kBAAA,CAAA,GAAA,IAAA,KAAA,KAAA,CAAA,WAAA,CAAA,GAAA,IAAA,EAAA;AACA,KAHA;AAKA,OALA,iBAKA;AAAA;;AAAA,UACA,OADA,GACA,KAAA,KADA,CACA,OADA;;AAEA,UAAA,WAAA,OAAA,IAAA,CAAA,OAAA,EAAA,MAAA,GAAA,CAAA,EAAA;AACA,YAAA,cAAA,KAAA,KAAA,CAAA,IAAA;AACA,YAAA,SAAA,KAAA,OAAA,CAAA,OAAA,CAAA,MAAA;AACA,YAAA,eAAA,KAAA,KAAA,CAAA,WAAA,CAAA,OAAA,IAAA,EAAA;AACA,YAAA,mBAAA;AACA,gBAAA,KAAA,kBAAA,CAAA,UAAA,IAAA,WADA;AAEA,iBAAA,OAAA,IAAA,CAAA,OAAA,EAAA,GAAA,CAAA,gBAAA;AACA,gBAAA,SAAA,QAAA,IAAA,CAAA;AACA,gBAAA,OAAA,aAAA,IAAA,KAAA,aAAA,IAAA,EAAA,KAAA,IAAA,OAAA,IAAA;AACA,gBAAA,IAAA,CAHA,CAIA;;AACA,gBAAA,OAAA,IAAA,KAAA,MAAA,KAAA,EAAA;AACA,qBAAA,WAAA;AACA,aAFA,MAEA;AACA;AACA,qBAAA,YAAA,OAAA,CAAA,MAAA,aAAA,CAAA,IAAA,EAAA,IAAA,CAAA,CAFA,CAGA;;AACA,kBAAA,CAAA,OAAA,IAAA,CAAA;AAAA,uBAAA,MAAA,IAAA,KAAA,IAAA;AAAA,eAAA,CAAA,EAAA;AACA,uBAAA,IAAA;AACA;AACA;;AACA,mBAAA;AAAA,wBAAA;AAAA;AAAA,aAAA;AACA,WAhBA;AAFA,SAAA;AAoBA,kCAAA,KAAA,OAAA,UAAA,gBAAA;AACA;;AACA,aAAA,KAAA,OAAA;AACA,KAlCA;AAoCA,aApCA,uBAoCA;AACA,aAAA,CAAA,KAAA,GAAA,IAAA,EAAA,EAAA,GAAA,CAAA,gBAAA;AACA,eAAA,OAAA,MAAA,CAAA,mBAAA,IAAA,CAAA,EAAA;AACA,iBAAA,CAAA,KAAA,KAAA,IAAA,EAAA,EAAA,GAAA,CAAA,kBAAA;AADA,SAAA,CAAA;AAGA,OAJA,CAAA;AAKA,KA1CA;AA4CA,YA5CA,sBA4CA;AAAA,UACA,IADA,GACA,KAAA,KAAA,CAAA,WADA,CACA,IADA;;AAEA,UAAA,IAAA,EAAA;AACA,eAAA,WAAA,IAAA,CAAA,IAAA,IACA,IADA,gCAEA,IAFA,CAAA;AAGA;AACA,KAnDA;AAqDA,aArDA,uBAqDA;AACA,UAAA,CAAA,KAAA,QAAA,EAAA;;AACA,UAAA,KAAA,KAAA,CAAA,WAAA,CAAA,SAAA,EAAA;AACA,eAAA,KAAA,KAAA,CAAA,WAAA,CAAA,SAAA;AACA;;AAEA,UAAA,WAAA,KAAA,QAAA,CAAA,KAAA,CAAA,mBAAA,EAAA,CAAA,CAAA;AACA,UAAA,YAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,CAAA;;AACA,WAAA,IAAA,IAAA,CAAA,EAAA,IAAA,UAAA,MAAA,EAAA,GAAA,EAAA;AACA,YAAA,WAAA,UAAA,CAAA,CAAA;;AACA,YAAA,IAAA,MAAA,CAAA,QAAA,EAAA,GAAA,EAAA,IAAA,CAAA,QAAA,CAAA,EAAA;AACA,iBAAA,QAAA;AACA;AACA;;AAEA,aAAA,QAAA;AACA;AArEA;AAHA,CAAA","sourcesContent":["<template>\n <nav\n class=\"nav-links\"\n v-if=\"userLinks.length || repoLink\"\n >\n <!-- user links -->\n <div\n class=\"nav-item\"\n v-for=\"item in userLinks\"\n :key=\"item.link\"\n >\n <DropdownLink\n v-if=\"item.type === 'links'\"\n :item=\"item\"\n />\n <NavLink\n v-else\n :item=\"item\"\n />\n </div>\n\n <!-- repo link -->\n <a\n v-if=\"repoLink\"\n :href=\"repoLink\"\n class=\"repo-link\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {{ repoLabel }}\n <OutboundLink/>\n </a>\n </nav>\n</template>\n\n<script>\nimport DropdownLink from './DropdownLink.vue'\nimport { resolveNavLinkItem } from './util'\nimport NavLink from './NavLink.vue'\n\nexport default {\n components: { NavLink, DropdownLink },\n\n computed: {\n userNav () {\n return this.$themeLocaleConfig.nav || this.$site.themeConfig.nav || []\n },\n\n nav () {\n const { locales } = this.$site\n if (locales && Object.keys(locales).length > 1) {\n const currentLink = this.$page.path\n const routes = this.$router.options.routes\n const themeLocales = this.$site.themeConfig.locales || {}\n const languageDropdown = {\n text: this.$themeLocaleConfig.selectText || 'Languages',\n items: Object.keys(locales).map(path => {\n const locale = locales[path]\n const text = themeLocales[path] && themeLocales[path].label || locale.lang\n let link\n // Stay on the current page\n if (locale.lang === this.$lang) {\n link = currentLink\n } else {\n // Try to stay on the same page\n link = currentLink.replace(this.$localeConfig.path, path)\n // fallback to homepage\n if (!routes.some(route => route.path === link)) {\n link = path\n }\n }\n return { text, link }\n })\n }\n return [...this.userNav, languageDropdown]\n }\n return this.userNav\n },\n\n userLinks () {\n return (this.nav || []).map(link => {\n return Object.assign(resolveNavLinkItem(link), {\n items: (link.items || []).map(resolveNavLinkItem)\n })\n })\n },\n\n repoLink () {\n const { repo } = this.$site.themeConfig\n if (repo) {\n return /^https?:/.test(repo)\n ? repo\n : `https://github.com/${repo}`\n }\n },\n\n repoLabel () {\n if (!this.repoLink) return\n if (this.$site.themeConfig.repoLabel) {\n return this.$site.themeConfig.repoLabel\n }\n\n const repoHost = this.repoLink.match(/^https?:\\/\\/[^/]+/)[0]\n const platforms = ['GitHub', 'GitLab', 'Bitbucket']\n for (let i = 0; i < platforms.length; i++) {\n const platform = platforms[i]\n if (new RegExp(platform, 'i').test(repoHost)) {\n return platform\n }\n }\n\n return 'Source'\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.nav-links\n display inline-block\n a\n line-height 1.4rem\n color inherit\n &:hover, &.router-link-active\n color $accentColor\n .nav-item\n position relative\n display inline-block\n margin-left 1.5rem\n line-height 2rem\n &:first-child\n margin-left 0\n .repo-link\n margin-left 1.5rem\n\n@media (max-width: $MQMobile)\n .nav-links\n .nav-item, .repo-link\n margin-left 0\n\n@media (min-width: $MQMobile)\n .nav-links a\n &:hover, &.router-link-active\n color $textColor\n .nav-item > a:not(.external)\n &:hover, &.router-link-active\n margin-bottom -2px\n border-bottom 2px solid lighten($accentColor, 8%)\n</style>\n"],"sourceRoot":"node_modules/vuepress/lib/default-theme"}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/c6702741921f293a9b86f6857c5f47ab.json b/node_modules/vuepress/node_modules/.cache/vuepress/c6702741921f293a9b86f6857c5f47ab.json new file mode 100644 index 00000000..6d9f4ee6 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/c6702741921f293a9b86f6857c5f47ab.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/zh/api/introduction.md?vue&type=template&id=2d9e32d4&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/zh/api/introduction.md","mtime":1541569045944},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm._m(0)\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _c(\"h1\", { attrs: { id: \"title1\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title1\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title1\")\n ]),\n _vm._v(\" \"),\n _c(\"p\"),\n _c(\"div\", { staticClass: \"table-of-contents\" }, [\n _c(\"ul\", [\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title2\" } }, [_vm._v(\"Title2\")]),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title3\" } }, [_vm._v(\"Title3\")])\n ]),\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title3\" } }, [_vm._v(\"Title3\")])\n ])\n ])\n ]),\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title2\" } }, [_vm._v(\"Title2\")]),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title3\" } }, [_vm._v(\"Title3\")])\n ])\n ])\n ])\n ])\n ]),\n _c(\"p\"),\n _vm._v(\" \"),\n _c(\"h2\", { attrs: { id: \"title2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title2\")\n ]),\n _vm._v(\" \"),\n _c(\"h3\", { attrs: { id: \"title3\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title3\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title3\")\n ]),\n _vm._v(\" \"),\n _c(\"h4\", { attrs: { id: \"title4\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title4\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title4\")\n ]),\n _vm._v(\" \"),\n _c(\"h5\", { attrs: { id: \"title5\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title5\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title5\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h5\", { attrs: { id: \"title5-2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title5-2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title5\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h4\", { attrs: { id: \"title4-2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title4-2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title4\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h3\", { attrs: { id: \"title3-2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title3-2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title3\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h2\", { attrs: { id: \"title2-2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title2-2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title2\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h3\", { attrs: { id: \"title3-3\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title3-3\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title3\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/c6a69b82647d8d978c733b7e0c9532b9.json b/node_modules/vuepress/node_modules/.cache/vuepress/c6a69b82647d8d978c733b7e0c9532b9.json new file mode 100644 index 00000000..4705caa4 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/c6a69b82647d8d978c733b7e0c9532b9.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/manual/introduction.md?vue&type=template&id=9104bc32&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/manual/introduction.md","mtime":1541555949495},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_c('h1',{attrs:{\"id\":\"title1\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#title1\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Title1\")]),_vm._v(\" \"),_c('p'),_c('div',{staticClass:\"table-of-contents\"},[_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"#title2\"}},[_vm._v(\"Title2\")]),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"#title3\"}},[_vm._v(\"Title3\")])]),_c('li',[_c('a',{attrs:{\"href\":\"#title3\"}},[_vm._v(\"Title3\")])])])]),_c('li',[_c('a',{attrs:{\"href\":\"#title2\"}},[_vm._v(\"Title2\")]),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"#title3\"}},[_vm._v(\"Title3\")])])])])])]),_c('p'),_vm._v(\" \"),_c('h2',{attrs:{\"id\":\"title2\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#title2\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Title2\")]),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"title3\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#title3\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Title3\")]),_vm._v(\" \"),_c('h4',{attrs:{\"id\":\"title4\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#title4\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Title4\")]),_vm._v(\" \"),_c('h5',{attrs:{\"id\":\"title5\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#title5\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Title5\")]),_vm._v(\" \"),_c('p',[_vm._v(\"...\")]),_vm._v(\" \"),_c('h5',{attrs:{\"id\":\"title5-2\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#title5-2\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Title5\")]),_vm._v(\" \"),_c('p',[_vm._v(\"...\")]),_vm._v(\" \"),_c('h4',{attrs:{\"id\":\"title4-2\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#title4-2\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Title4\")]),_vm._v(\" \"),_c('p',[_vm._v(\"...\")]),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"title3-2\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#title3-2\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Title3\")]),_vm._v(\" \"),_c('p',[_vm._v(\"...\")]),_vm._v(\" \"),_c('h2',{attrs:{\"id\":\"title2-2\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#title2-2\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Title2\")]),_vm._v(\" \"),_c('p',[_vm._v(\"...\")]),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"title3-3\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#title3-3\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Title3\")]),_vm._v(\" \"),_c('p',[_vm._v(\"...\")])])}]\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/c6b1a5a7f2f488878c063dea8e3514fc.json b/node_modules/vuepress/node_modules/.cache/vuepress/c6b1a5a7f2f488878c063dea8e3514fc.json new file mode 100644 index 00000000..741eea0c --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/c6b1a5a7f2f488878c063dea8e3514fc.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/manual/index.md?vue&type=template&id=6a456338&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/manual/index.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._ssrNode(\"<h1 id=\\\"manual\\\"><a href=\\\"#manual\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> Manual</h1> <p>[TODO]</p>\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/c6b905b4a6944c7505013efe69abf75d.json b/node_modules/vuepress/node_modules/.cache/vuepress/c6b905b4a6944c7505013efe69abf75d.json new file mode 100644 index 00000000..e35d978a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/c6b905b4a6944c7505013efe69abf75d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./OutboundLink.vue?vue&type=template&id=2cf6a4d4&functional=true&\"\nvar script = {}\nfunction injectStyles (context) {\n \n var style0 = require(\"./OutboundLink.vue?vue&type=style&index=0&lang=stylus&\")\nif (style0.__inject__) style0.__inject__(context)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n injectStyles,\n null,\n \"7ce22fbe\"\n \n)\n\ncomponent.options.__file = \"OutboundLink.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/c783d3a5493642ebb16f9a99f09b00d6.json b/node_modules/vuepress/node_modules/.cache/vuepress/c783d3a5493642ebb16f9a99f09b00d6.json new file mode 100644 index 00000000..00270d6c --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/c783d3a5493642ebb16f9a99f09b00d6.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/manual/introduction.md?vue&type=template&id=b1ff51fc&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/manual/introduction.md","mtime":1541492172602},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"手册\"><a class=\"header-anchor\" href=\"#手册\" aria-hidden=\"true\">#</a> 手册</h1>\n<p>[TODO]</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/c78ed23bfd5d4ee9797a5da00eb6e7d6.json b/node_modules/vuepress/node_modules/.cache/vuepress/c78ed23bfd5d4ee9797a5da00eb6e7d6.json new file mode 100644 index 00000000..5d699978 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/c78ed23bfd5d4ee9797a5da00eb6e7d6.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/SWUpdateEvent.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/SWUpdateEvent.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import \"core-js/modules/es6.object.define-property\";\nimport _classCallCheck from \"/Users/ruki/projects/personal/tbox-docs/node_modules/@babel/runtime/helpers/builtin/es6/classCallCheck\";\nimport _createClass from \"/Users/ruki/projects/personal/tbox-docs/node_modules/@babel/runtime/helpers/builtin/es6/createClass\";\n\nvar SWUpdateEvent =\n/*#__PURE__*/\nfunction () {\n function SWUpdateEvent(registration) {\n _classCallCheck(this, SWUpdateEvent);\n\n Object.defineProperty(this, 'registration', {\n value: registration,\n configurable: true,\n writable: true\n });\n }\n /**\n * Check if the new service worker exists or not.\n */\n\n\n _createClass(SWUpdateEvent, [{\n key: \"update\",\n value: function update() {\n return this.registration.update();\n }\n /**\n * Activate new service worker to work 'location.reload()' with new data.\n */\n\n }, {\n key: \"skipWaiting\",\n value: function skipWaiting() {\n var worker = this.registration.waiting;\n\n if (!worker) {\n return Promise.resolve();\n }\n\n console.log('[vuepress:sw] Doing worker.skipWaiting().');\n return new Promise(function (resolve, reject) {\n var channel = new MessageChannel();\n\n channel.port1.onmessage = function (event) {\n console.log('[vuepress:sw] Done worker.skipWaiting().');\n\n if (event.data.error) {\n reject(event.data.error);\n } else {\n resolve(event.data);\n }\n };\n\n worker.postMessage({\n type: 'skip-waiting'\n }, [channel.port2]);\n });\n }\n }]);\n\n return SWUpdateEvent;\n}();\n\nexport { SWUpdateEvent as default };",{"version":3,"sources":["node_modules/vuepress/lib/app/SWUpdateEvent.js"],"names":["SWUpdateEvent","registration","Object","defineProperty","value","configurable","writable","update","worker","waiting","Promise","resolve","console","log","reject","channel","MessageChannel","port1","onmessage","event","data","error","postMessage","type","port2"],"mappings":";;;;IAAqBA,a;;;AACnB,yBAAaC,YAAb,EAA2B;AAAA;;AACzBC,WAAOC,cAAP,CAAsB,IAAtB,EAA4B,cAA5B,EAA4C;AAC1CC,aAAOH,YADmC;AAE1CI,oBAAc,IAF4B;AAG1CC,gBAAU;AAHgC,KAA5C;AAKD;AAED;;;;;;;6BAGU;AACR,aAAO,KAAKL,YAAL,CAAkBM,MAAlB,EAAP;AACD;AAED;;;;;;kCAGe;AACb,UAAMC,SAAS,KAAKP,YAAL,CAAkBQ,OAAjC;;AACA,UAAI,CAACD,MAAL,EAAa;AACX,eAAOE,QAAQC,OAAR,EAAP;AACD;;AAEDC,cAAQC,GAAR,CAAY,2CAAZ;AACA,aAAO,IAAIH,OAAJ,CAAY,UAACC,OAAD,EAAUG,MAAV,EAAqB;AACtC,YAAMC,UAAU,IAAIC,cAAJ,EAAhB;;AAEAD,gBAAQE,KAAR,CAAcC,SAAd,GAA0B,UAACC,KAAD,EAAW;AACnCP,kBAAQC,GAAR,CAAY,0CAAZ;;AACA,cAAIM,MAAMC,IAAN,CAAWC,KAAf,EAAsB;AACpBP,mBAAOK,MAAMC,IAAN,CAAWC,KAAlB;AACD,WAFD,MAEO;AACLV,oBAAQQ,MAAMC,IAAd;AACD;AACF,SAPD;;AASAZ,eAAOc,WAAP,CAAmB;AAAEC,gBAAM;AAAR,SAAnB,EAA6C,CAACR,QAAQS,KAAT,CAA7C;AACD,OAbM,CAAP;AAcD;;;;;;SAxCkBxB,a","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["export default class SWUpdateEvent {\n constructor (registration) {\n Object.defineProperty(this, 'registration', {\n value: registration,\n configurable: true,\n writable: true\n })\n }\n\n /**\n * Check if the new service worker exists or not.\n */\n update () {\n return this.registration.update()\n }\n\n /**\n * Activate new service worker to work 'location.reload()' with new data.\n */\n skipWaiting () {\n const worker = this.registration.waiting\n if (!worker) {\n return Promise.resolve()\n }\n\n console.log('[vuepress:sw] Doing worker.skipWaiting().')\n return new Promise((resolve, reject) => {\n const channel = new MessageChannel()\n\n channel.port1.onmessage = (event) => {\n console.log('[vuepress:sw] Done worker.skipWaiting().')\n if (event.data.error) {\n reject(event.data.error)\n } else {\n resolve(event.data)\n }\n }\n\n worker.postMessage({ type: 'skip-waiting' }, [channel.port2])\n })\n }\n}\n\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/c8d405af05ead971aa304c50a7e47658.json b/node_modules/vuepress/node_modules/.cache/vuepress/c8d405af05ead971aa304c50a7e47658.json new file mode 100644 index 00000000..8020b7ab --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/c8d405af05ead971aa304c50a7e47658.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/zh/guide/faq.md?vue&type=template&id=69c46542&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/zh/guide/faq.md","mtime":1541582276720},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/c93f598a74afb59440151b632f05ff83.json b/node_modules/vuepress/node_modules/.cache/vuepress/c93f598a74afb59440151b632f05ff83.json new file mode 100644 index 00000000..71dd0acd --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/c93f598a74afb59440151b632f05ff83.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.dropdown-wrapper\n cursor pointer\n .dropdown-title\n display block\n &:hover\n border-color transparent\n .arrow\n vertical-align middle\n margin-top -1px\n margin-left 0.4rem\n .nav-dropdown\n .dropdown-item\n color inherit\n line-height 1.7rem\n h4\n margin 0.45rem 0 0\n border-top 1px solid #eee\n padding 0.45rem 1.5rem 0 1.25rem\n .dropdown-subitem-wrapper\n padding 0\n list-style none\n .dropdown-subitem\n font-size 0.9em\n a\n display block\n line-height 1.7rem\n position relative\n border-bottom none\n font-weight 400\n margin-bottom 0\n padding 0 1.5rem 0 1.25rem\n &:hover\n color $accentColor\n &.router-link-active\n color $accentColor\n &::after\n content \"\"\n width 0\n height 0\n border-left 5px solid $accentColor\n border-top 3px solid transparent\n border-bottom 3px solid transparent\n position absolute\n top calc(50% - 2px)\n left 9px\n &:first-child h4\n margin-top 0\n padding-top 0\n border-top 0\n\n@media (max-width: $MQMobile)\n .dropdown-wrapper\n &.open .dropdown-title\n margin-bottom 0.5rem\n .nav-dropdown\n transition height .1s ease-out\n overflow hidden\n .dropdown-item\n h4\n border-top 0\n margin-top 0\n padding-top 0\n h4, & > a\n font-size 15px\n line-height 2rem\n .dropdown-subitem\n font-size 14px\n padding-left 1rem\n\n@media (min-width: $MQMobile)\n .dropdown-wrapper\n height 1.8rem\n &:hover .nav-dropdown\n // override the inline style.\n display block !important\n .dropdown-title .arrow\n // make the arrow always down at desktop\n border-left 4px solid transparent\n border-right 4px solid transparent\n border-top 6px solid $arrowBgColor\n border-bottom 0\n .nav-dropdown\n display none\n // Avoid height shaked by clicking\n height auto !important\n box-sizing border-box;\n max-height calc(100vh - 2.7rem)\n overflow-y auto\n position absolute\n top 100%\n right 0\n background-color #fff\n padding 0.6rem 0\n border 1px solid #ddd\n border-bottom-color #ccc\n text-align left\n border-radius 0.25rem\n white-space nowrap\n margin 0\n",{"version":3,"sources":["DropdownLink.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+EA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"DropdownLink.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <div\n class=\"dropdown-wrapper\"\n :class=\"{ open }\"\n >\n <a\n class=\"dropdown-title\"\n @click=\"toggle\"\n >\n <span class=\"title\">{{ item.text }}</span>\n <span\n class=\"arrow\"\n :class=\"open ? 'down' : 'right'\"\n ></span>\n </a>\n\n <DropdownTransition>\n <ul\n class=\"nav-dropdown\"\n v-show=\"open\"\n >\n <li\n class=\"dropdown-item\"\n :key=\"subItem.link || index\"\n v-for=\"(subItem, index) in item.items\"\n >\n <h4 v-if=\"subItem.type === 'links'\">{{ subItem.text }}</h4>\n\n <ul\n class=\"dropdown-subitem-wrapper\"\n v-if=\"subItem.type === 'links'\"\n >\n <li\n class=\"dropdown-subitem\"\n :key=\"childSubItem.link\"\n v-for=\"childSubItem in subItem.items\"\n >\n <NavLink :item=\"childSubItem\"/>\n </li>\n </ul>\n\n <NavLink\n v-else\n :item=\"subItem\"\n />\n </li>\n </ul>\n </DropdownTransition>\n </div>\n</template>\n\n<script>\nimport NavLink from './NavLink.vue'\nimport DropdownTransition from './DropdownTransition.vue'\n\nexport default {\n components: { NavLink, DropdownTransition },\n\n data () {\n return {\n open: false\n }\n },\n\n props: {\n item: {\n required: true\n }\n },\n\n methods: {\n toggle () {\n this.open = !this.open\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.dropdown-wrapper\n cursor pointer\n .dropdown-title\n display block\n &:hover\n border-color transparent\n .arrow\n vertical-align middle\n margin-top -1px\n margin-left 0.4rem\n .nav-dropdown\n .dropdown-item\n color inherit\n line-height 1.7rem\n h4\n margin 0.45rem 0 0\n border-top 1px solid #eee\n padding 0.45rem 1.5rem 0 1.25rem\n .dropdown-subitem-wrapper\n padding 0\n list-style none\n .dropdown-subitem\n font-size 0.9em\n a\n display block\n line-height 1.7rem\n position relative\n border-bottom none\n font-weight 400\n margin-bottom 0\n padding 0 1.5rem 0 1.25rem\n &:hover\n color $accentColor\n &.router-link-active\n color $accentColor\n &::after\n content \"\"\n width 0\n height 0\n border-left 5px solid $accentColor\n border-top 3px solid transparent\n border-bottom 3px solid transparent\n position absolute\n top calc(50% - 2px)\n left 9px\n &:first-child h4\n margin-top 0\n padding-top 0\n border-top 0\n\n@media (max-width: $MQMobile)\n .dropdown-wrapper\n &.open .dropdown-title\n margin-bottom 0.5rem\n .nav-dropdown\n transition height .1s ease-out\n overflow hidden\n .dropdown-item\n h4\n border-top 0\n margin-top 0\n padding-top 0\n h4, & > a\n font-size 15px\n line-height 2rem\n .dropdown-subitem\n font-size 14px\n padding-left 1rem\n\n@media (min-width: $MQMobile)\n .dropdown-wrapper\n height 1.8rem\n &:hover .nav-dropdown\n // override the inline style.\n display block !important\n .dropdown-title .arrow\n // make the arrow always down at desktop\n border-left 4px solid transparent\n border-right 4px solid transparent\n border-top 6px solid $arrowBgColor\n border-bottom 0\n .nav-dropdown\n display none\n // Avoid height shaked by clicking\n height auto !important\n box-sizing border-box;\n max-height calc(100vh - 2.7rem)\n overflow-y auto\n position absolute\n top 100%\n right 0\n background-color #fff\n padding 0.6rem 0\n border 1px solid #ddd\n border-bottom-color #ccc\n text-align left\n border-radius 0.25rem\n white-space nowrap\n margin 0\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/c9466f07f635ffa9a6b6d72298bccb3f.json b/node_modules/vuepress/node_modules/.cache/vuepress/c9466f07f635ffa9a6b6d72298bccb3f.json new file mode 100644 index 00000000..7439b8c9 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/c9466f07f635ffa9a6b6d72298bccb3f.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/api.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/api.md","mtime":1541485547569},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./api.md?vue&type=template&id=1be9b2ee&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('1be9b2ee', component.options)\n } else {\n api.reload('1be9b2ee', component.options)\n }\n module.hot.accept(\"./api.md?vue&type=template&id=1be9b2ee&\", function () {\n api.rerender('1be9b2ee', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"docs/api.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/c9bef9c10e855f2177d6bb7f39625960.json b/node_modules/vuepress/node_modules/.cache/vuepress/c9bef9c10e855f2177d6bb7f39625960.json new file mode 100644 index 00000000..8e391dc6 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/c9bef9c10e855f2177d6bb7f39625960.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLink.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./NavLink.vue?vue&type=template&id=e3abcdbc&\"\nimport script from \"./NavLink.vue?vue&type=script&lang=js&\"\nexport * from \"./NavLink.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"NavLink.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/c9c7679ca0a87a12ac4d2400d99913e1.json b/node_modules/vuepress/node_modules/.cache/vuepress/c9c7679ca0a87a12ac4d2400d99913e1.json new file mode 100644 index 00000000..c44004a5 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/c9c7679ca0a87a12ac4d2400d99913e1.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NotFound.vue?vue&type=template&id=5c808f81&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NotFound.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"theme-container\"},[_vm._ssrNode(\"<div class=\\\"content\\\">\",\"</div>\",[_vm._ssrNode(\"<h1>404</h1> <blockquote>\"+_vm._ssrEscape(_vm._s(_vm.getMsg()))+\"</blockquote> \"),_c('router-link',{attrs:{\"to\":\"/\"}},[_vm._v(\"Take me home.\")])],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/c9c8b598e152d50368be3c3c680580c0.json b/node_modules/vuepress/node_modules/.cache/vuepress/c9c8b598e152d50368be3c3c680580c0.json new file mode 100644 index 00000000..7246990f --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/c9c8b598e152d50368be3c3c680580c0.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./DropdownTransition.vue?vue&type=template&id=02a4f89d&\"\nimport script from \"./DropdownTransition.vue?vue&type=script&lang=js&\"\nexport * from \"./DropdownTransition.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DropdownTransition.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('02a4f89d', component.options)\n } else {\n api.reload('02a4f89d', component.options)\n }\n module.hot.accept(\"./DropdownTransition.vue?vue&type=template&id=02a4f89d&\", function () {\n api.rerender('02a4f89d', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/default-theme/DropdownTransition.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/ca3cb2dec066b6de48e70f2624ba721c.json b/node_modules/vuepress/node_modules/.cache/vuepress/ca3cb2dec066b6de48e70f2624ba721c.json new file mode 100644 index 00000000..af7a3a9c --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/ca3cb2dec066b6de48e70f2624ba721c.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue?vue&type=template&id=2cf6a4d4&functional=true&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function (_h,_vm) {var _c=_vm._c;return _c('svg',{staticClass:\"icon outbound\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"aria-hidden\":\"true\",\"x\":\"0px\",\"y\":\"0px\",\"viewBox\":\"0 0 100 100\",\"width\":\"15\",\"height\":\"15\"}},[_vm._ssrNode(\"<path fill=\\\"currentColor\\\" d=\\\"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z\\\"></path> <polygon fill=\\\"currentColor\\\" points=\\\"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9\\\"></polygon>\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/caafda3d5e3345f622401da061e988eb.json b/node_modules/vuepress/node_modules/.cache/vuepress/caafda3d5e3345f622401da061e988eb.json new file mode 100644 index 00000000..4e42ffd4 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/caafda3d5e3345f622401da061e988eb.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./Page.vue?vue&type=template&id=7eb32c3c&\"\nimport script from \"./Page.vue?vue&type=script&lang=js&\"\nexport * from \"./Page.vue?vue&type=script&lang=js&\"\nfunction injectStyles (context) {\n \n var style0 = require(\"./Page.vue?vue&type=style&index=0&lang=stylus&\")\nif (style0.__inject__) style0.__inject__(context)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n \"76287d28\"\n \n)\n\ncomponent.options.__file = \"Page.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/cb1fa3b201d158c43d38bf91a2da4954.json b/node_modules/vuepress/node_modules/.cache/vuepress/cb1fa3b201d158c43d38bf91a2da4954.json new file mode 100644 index 00000000..87d762dd --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/cb1fa3b201d158c43d38bf91a2da4954.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/README.md?vue&type=template&id=5fa9442e&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/README.md","mtime":1541486439372},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/cbb200e606c57c9526ac4c5d882c41ba.json b/node_modules/vuepress/node_modules/.cache/vuepress/cbb200e606c57c9526ac4c5d882c41ba.json new file mode 100644 index 00000000..50f62caa --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/cbb200e606c57c9526ac4c5d882c41ba.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/manual.md?vue&type=template&id=88d032e4&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/manual.md","mtime":1489213929000},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/cc81c0db0b4588f2a1fa8c3db8a35941.json b/node_modules/vuepress/node_modules/.cache/vuepress/cc81c0db0b4588f2a1fa8c3db8a35941.json new file mode 100644 index 00000000..6e475610 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/cc81c0db0b4588f2a1fa8c3db8a35941.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render, staticRenderFns\nimport script from \"./SidebarLink.vue?vue&type=script&lang=js&\"\nexport * from \"./SidebarLink.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SidebarLink.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('72b9f5a2', component.options)\n } else {\n api.reload('72b9f5a2', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/default-theme/SidebarLink.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/ce0a632adb6c795ed18c6bf69d59b14d.json b/node_modules/vuepress/node_modules/.cache/vuepress/ce0a632adb6c795ed18c6bf69d59b14d.json new file mode 100644 index 00000000..54efe075 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/ce0a632adb6c795ed18c6bf69d59b14d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/guide/introduction.md?vue&type=template&id=0b95fd94&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/guide/introduction.md","mtime":1541555923022},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._m(0),_vm._v(\" \"),_c('p',[_vm._v(\"TBOX is a glib-like cross-platform C library that is simple to use yet powerful in nature.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The project focuses on making C development easier and provides many modules (.e.g stream, coroutine, regex, container, algorithm ...),\\nso that any developer can quickly pick it up and enjoy the productivity boost when developing in C language.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"It supports the following platforms:\")]),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('p',[_vm._v(\"And it provides many compiling options using \"),_c('a',{attrs:{\"href\":\"http://www.xmake.io\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"xmake\"),_c('OutboundLink')],1),_vm._v(\":\")]),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_c('p',[_vm._v(\"If you want to know more, please refer to:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"http://tboox.org\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"HomePage\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/tboox/tbox/wiki/documents\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"Documents\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/tboox/tbox\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"Github\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://gitee.com/tboox/tbox\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"Gitee\"),_c('OutboundLink')],1)])]),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_vm._m(5),_vm._v(\" \"),_vm._m(6),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Provides high-performance coroutine switch(refer to \"),_c('a',{attrs:{\"href\":\"http://tboox.org/2016/10/28/benchbox-coroutine/\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"reports\"),_c('OutboundLink')],1),_vm._v(\")\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Supports arm, arm64, x86, x86_64 ..\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Provides channel interfaces\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Provides semaphore and lock interfaces\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Supports io socket and stream operation in coroutine\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Provides some io servers (http ..) using coroutine\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Provides stackfull and stackless coroutines\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Support epoll, kqueue, poll, select and IOCP\")])]),_vm._v(\" \"),_vm._m(7),_vm._v(\" \"),_vm._m(8),_vm._v(\" \"),_vm._m(9),_vm._v(\" \"),_vm._m(10),_vm._v(\" \"),_vm._m(11),_vm._v(\" \"),_vm._m(12),_vm._v(\" \"),_vm._m(13),_vm._v(\" \"),_vm._m(14),_vm._v(\" \"),_vm._m(15),_vm._v(\" \"),_vm._m(16),_vm._v(\" \"),_vm._m(17),_vm._v(\" \"),_vm._m(18),_vm._v(\" \"),_vm._m(19),_vm._v(\" \"),_vm._m(20),_vm._v(\" \"),_vm._m(21),_vm._v(\" \"),_vm._m(22),_vm._v(\" \"),_vm._m(23),_vm._v(\" \"),_vm._m(24),_vm._v(\" \"),_vm._m(25),_vm._v(\" \"),_vm._m(26),_vm._v(\" \"),_vm._m(27),_vm._v(\" \"),_vm._m(28),_vm._v(\" \"),_vm._m(29),_vm._v(\" \"),_vm._m(30),_vm._v(\" \"),_vm._m(31),_vm._v(\" \"),_vm._m(32),_vm._v(\" \"),_vm._m(33),_vm._v(\" \"),_vm._m(34),_vm._v(\" \"),_vm._m(35),_vm._v(\" \"),_vm._m(36),_vm._v(\" \"),_vm._m(37),_vm._v(\" \"),_vm._m(38),_vm._v(\" \"),_vm._m(39),_vm._v(\" \"),_c('p',[_vm._v(\"Some projects using tbox:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/tboox/gbox\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"gbox\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/tboox/vm86\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"vm86\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"http://www.xmake.io\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"xmake\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/tboox/itrace\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"itrace\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/tboox/tbox/wiki/tbox-projects\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"more\"),_c('OutboundLink')],1)])]),_vm._v(\" \"),_vm._m(40),_vm._v(\" \"),_c('ul',[_vm._m(41),_vm._v(\" \"),_c('li',[_vm._v(\"Homepage:\"),_c('a',{attrs:{\"href\":\"http://www.tboox.org\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"tboox.org\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_vm._v(\"Community:\"),_c('a',{attrs:{\"href\":\"https://www.reddit.com/r/tboox/\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"/r/tboox on reddit\"),_c('OutboundLink')],1)])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h1',{attrs:{\"id\":\"introduction\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#introduction\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Introduction\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Windows\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Macosx\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Linux\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Android\")]),_vm._v(\" \"),_c('li',[_vm._v(\"iOS\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Release: Disable debug information, assertion, memory checking and enable optimization.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Debug: Enable debug information, assertion, memory checking and disable optimization.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Small: Disable all extensional modules and enable space optimization.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Micro: compiling micro library (~64K) for the embed system.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',{attrs:{\"id\":\"features\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#features\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Features\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-stream-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-stream-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The stream library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Supports file, data, http and socket source\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Supports the stream filter for gzip, charset and...\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements stream transfer\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements the static buffer stream for parsing data\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Supports coroutine and implements asynchronous operation\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-coroutine-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-coroutine-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The coroutine library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-database-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-database-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The database library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Supports mysql and sqlite3 database and enumerates data using the iterator mode\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-xml-parser-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-xml-parser-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The xml parser library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Supports DOM and SAX mode and Supports xpath\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-serialization-and-deserialization-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-serialization-and-deserialization-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The serialization and deserialization library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Supports xml, json, bplist, xplist, binary formats\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-memory-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-memory-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The memory library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Implements some memory pools for optimizing memory\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Supports fast memory error detecting. it can detect the following types of bugs for the debug mode:\\n\"),_c('ul',[_c('li',[_vm._v(\"out-of-bounds accesses to heap and globals\")]),_vm._v(\" \"),_c('li',[_vm._v(\"use-after-free\")]),_vm._v(\" \"),_c('li',[_vm._v(\"double-free, invalid free\")]),_vm._v(\" \"),_c('li',[_vm._v(\"memory leaks\")])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-container-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-container-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The container library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Implements hash table, single list, double list, vector, stack, queue\\nand min/max heap. Supports iterator mode for algorithm\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-algorithm-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-algorithm-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The algorithm library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Uses the iterator mode\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements find, binary find and reverse find algorithm\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements sort, bubble sort, quick sort, heap sort and insert sort algorithm\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements count, walk items, reverse walk items, for_all and rfor_all\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-network-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-network-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The network library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Implements dns(cached)\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements ssl(openssl, polarssl, mbedtls)\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements http\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements cookies\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Supports ipv4, ipv6\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Supports coroutine\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-platform-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-platform-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The platform library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Implements timer, fast and low precision timer\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements atomic and atomic64 operation\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements spinlock, mutex, event, semaphore, thread and thread pool\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements file, socket operation\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements poller using epoll, poll, select, kqueue ...\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements switch context interfaces for coroutine\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-charset-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-charset-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The charset library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Supports utf8, utf16, gbk, gb2312, uc2 and uc4\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Supports big endian and little endian mode\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-zip-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-zip-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The zip library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Supports gzip, zlibraw, zlib formats using the zlib library if exists\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements lzsw, lz77 and rlc algorithm\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-utils-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-utils-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The utils library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Implements base32, base64 encoder and decoder\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements assert and trace output for the debug mode\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements bits operation for parsing u8, u16, u32, u64 data\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-math-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-math-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The math library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Implements random generator\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements fast fixed-point calculation, Supports 6-bits, 16-bits, 30-bits fixed-point number\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-libc-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-libc-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The libc library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Implements lightweight libc library interfaces, the interface name contains \"),_c('code',[_vm._v(\"tb_xxx\")]),_vm._v(\" prefix for avoiding conflict\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements strixxx strrxxx wcsixxx wcsrxxx interface extension\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Optimizes some frequently-used interface, .e.g. memset, memcpy, strcpy ...\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements \"),_c('code',[_vm._v(\"memset_u16\")]),_vm._v(\", \"),_c('code',[_vm._v(\"memset_u32\")]),_vm._v(\", \"),_c('code',[_vm._v(\"memset_u64\")]),_vm._v(\" extension interfaces\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-libm-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-libm-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The libm library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Implements lightweight libm library interfaces, the interface name contains \"),_c('code',[_vm._v(\"tb_xxx\")]),_vm._v(\" prefix for avoiding conflict\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Supports float and double type\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-regex-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-regex-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The regex library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Supports match and replace\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Supports global/multiline/caseless mode\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Uses pcre, pcre2 and posix regex modules\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"the-hash-library\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#the-hash-library\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" The hash library\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Implements crc32, adler32, md5 and sha1 hash algorithm\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements some string hash algorithms (.e.g bkdr, fnv32, fnv64, sdbm, djb2, rshash, aphash ...)\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Implements uuid generator\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',{attrs:{\"id\":\"projects\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#projects\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Projects\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',{attrs:{\"id\":\"contacts\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#contacts\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Contacts\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_vm._v(\"Email:\"),_c('a',{attrs:{\"href\":\"mailto:waruqi@gmail.com\"}},[_vm._v(\"waruqi@gmail.com\")])])}]\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/ce33b27ebf10dcddb516102bd5054576.json b/node_modules/vuepress/node_modules/.cache/vuepress/ce33b27ebf10dcddb516102bd5054576.json new file mode 100644 index 00000000..03a1c310 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/ce33b27ebf10dcddb516102bd5054576.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/manual/index.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/manual/index.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./index.md?vue&type=template&id=7862dd7e&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('7862dd7e', component.options)\n } else {\n api.reload('7862dd7e', component.options)\n }\n module.hot.accept(\"./index.md?vue&type=template&id=7862dd7e&\", function () {\n api.rerender('7862dd7e', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"docs/manual/index.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/ce419f2efc1b581a738de8b7918a5cb2.json b/node_modules/vuepress/node_modules/.cache/vuepress/ce419f2efc1b581a738de8b7918a5cb2.json new file mode 100644 index 00000000..fc89f960 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/ce419f2efc1b581a738de8b7918a5cb2.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLink.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.iterator\";\nimport \"core-js/modules/es6.object.keys\";\nimport \"core-js/modules/es6.array.some\";\nimport \"core-js/modules/es6.string.link\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport { isExternal, isMailto, isTel, ensureExt } from './util';\nexport default {\n props: {\n item: {\n required: true\n }\n },\n computed: {\n link: function link() {\n return ensureExt(this.item.link);\n },\n exact: function exact() {\n var _this = this;\n\n if (this.$site.locales) {\n return Object.keys(this.$site.locales).some(function (rootLink) {\n return rootLink === _this.link;\n });\n }\n\n return this.link === '/';\n }\n },\n methods: {\n isExternal: isExternal,\n isMailto: isMailto,\n isTel: isTel\n }\n};",{"version":3,"sources":["node_modules/vuepress/lib/default-theme/NavLink.vue"],"names":["isExternal","isMailto","isTel","ensureExt","props","item","required","computed","link","exact","$site","locales","Object","keys","some","rootLink","methods"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,SAASA,UAAT,EAAqBC,QAArB,EAA+BC,KAA/B,EAAsCC,SAAtC,QAAuD,QAAvD;AAEA,eAAe;AACbC,SAAO;AACLC,UAAM;AACJC,gBAAU;AADN;AADD,GADM;AAObC,YAAU;AACRC,QADQ,kBACA;AACN,aAAOL,UAAU,KAAKE,IAAL,CAAUG,IAApB,CAAP;AACD,KAHO;AAKRC,SALQ,mBAKC;AAAA;;AACP,UAAI,KAAKC,KAAL,CAAWC,OAAf,EAAwB;AACtB,eAAOC,OAAOC,IAAP,CAAY,KAAKH,KAAL,CAAWC,OAAvB,EAAgCG,IAAhC,CAAqC;AAAA,iBAAYC,aAAa,MAAKP,IAA9B;AAAA,SAArC,CAAP;AACD;;AACD,aAAO,KAAKA,IAAL,KAAc,GAArB;AACD;AAVO,GAPG;AAoBbQ,WAAS;AACPhB,0BADO;AAEPC,sBAFO;AAGPC;AAHO;AApBI,CAAf","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport { isExternal, isMailto, isTel, ensureExt } from './util'\n\nexport default {\n props: {\n item: {\n required: true\n }\n },\n\n computed: {\n link () {\n return ensureExt(this.item.link)\n },\n\n exact () {\n if (this.$site.locales) {\n return Object.keys(this.$site.locales).some(rootLink => rootLink === this.link)\n }\n return this.link === '/'\n }\n },\n\n methods: {\n isExternal,\n isMailto,\n isTel\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/ce654643d9b5b154ed6fced84b18dbcc.json b/node_modules/vuepress/node_modules/.cache/vuepress/ce654643d9b5b154ed6fced84b18dbcc.json new file mode 100644 index 00000000..2e794969 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/ce654643d9b5b154ed6fced84b18dbcc.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Layout.vue?vue&type=template&id=4a890c25&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Layout.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div\n class=\"theme-container\"\n :class=\"pageClasses\"\n @touchstart=\"onTouchStart\"\n @touchend=\"onTouchEnd\"\n>\n <Navbar\n v-if=\"shouldShowNavbar\"\n @toggle-sidebar=\"toggleSidebar\"\n />\n\n <div\n class=\"sidebar-mask\"\n @click=\"toggleSidebar(false)\"\n ></div>\n\n <Sidebar\n :items=\"sidebarItems\"\n @toggle-sidebar=\"toggleSidebar\"\n >\n <slot\n name=\"sidebar-top\"\n slot=\"top\"\n />\n <slot\n name=\"sidebar-bottom\"\n slot=\"bottom\"\n />\n </Sidebar>\n\n <div\n class=\"custom-layout\"\n v-if=\"$page.frontmatter.layout\"\n >\n <component :is=\"$page.frontmatter.layout\"/>\n </div>\n\n <Home v-else-if=\"$page.frontmatter.home\"/>\n\n <Page\n v-else\n :sidebar-items=\"sidebarItems\"\n >\n <slot\n name=\"page-top\"\n slot=\"top\"\n />\n <slot\n name=\"page-bottom\"\n slot=\"bottom\"\n />\n </Page>\n\n <SWUpdatePopup :updateEvent=\"swUpdateEvent\"/>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/ce7d7f1b9764e1a02fb807ee454a5209.json b/node_modules/vuepress/node_modules/.cache/vuepress/ce7d7f1b9764e1a02fb807ee454a5209.json new file mode 100644 index 00000000..9e9db905 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/ce7d7f1b9764e1a02fb807ee454a5209.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/getting-started.md?vue&type=template&id=813ee7ba&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/getting-started.md","mtime":1541489096650},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"快速开始\"><a class=\"header-anchor\" href=\"#快速开始\" aria-hidden=\"true\">#</a> 快速开始</h1>\n<h2 id=\"编译\"><a class=\"header-anchor\" href=\"#编译\" aria-hidden=\"true\">#</a> 编译</h2>\n<p>请先安装: <a href=\"https://github.com/tboox/xmake\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></p>\n<!--beforebegin--><div class=\"language-console extra-class\"><!--afterbegin--><pre v-pre class=\"language-text\"><code># 默认直接编译当前主机平台\n$ cd ./tbox\n$ xmake\n\n# 编译mingw平台\n$ cd ./tbox\n$ xmake f -p mingw --sdk=/home/mingwsdk \n$ xmake\n\n# 编译iphoneos平台\n$ cd ./tbox\n$ xmake f -p iphoneos \n$ xmake\n\n# 编译android平台\n$ cd ./tbox\n$ xmake f -p android --ndk=xxxxx\n$ xmake\n\n# 交叉编译\n$ cd ./tbox\n$ xmake f -p linux --sdk=/home/sdk #--bin=/home/sdk/bin\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"例子\"><a class=\"header-anchor\" href=\"#例子\" aria-hidden=\"true\">#</a> 例子</h2>\n<!--beforebegin--><div class=\"language-c extra-class\"><!--afterbegin--><pre v-pre class=\"language-c\"><code><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">\"tbox/tbox.h\"</span></span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> argc<span class=\"token punctuation\">,</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span> argv<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// init tbox</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">tb_init</span><span class=\"token punctuation\">(</span>tb_null<span class=\"token punctuation\">,</span> tb_null<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"hello tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// init vector</span>\n tb_vector_ref_t vector <span class=\"token operator\">=</span> <span class=\"token function\">tb_vector_init</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">tb_element_cstr</span><span class=\"token punctuation\">(</span>tb_true<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// insert item</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// dump all items</span>\n tb_for_all <span class=\"token punctuation\">(</span>tb_char_t <span class=\"token keyword\">const</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">,</span> vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%s\"</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit vector</span>\n <span class=\"token function\">tb_vector_exit</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// init stream</span>\n tb_stream_ref_t stream <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_init_from_url</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"http://www.xxx.com/file.txt\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// open stream</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token function\">tb_stream_open</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// read line</span>\n tb_long_t size <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n tb_char_t line<span class=\"token punctuation\">[</span>TB_STREAM_BLOCK_MAXN<span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">while</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>size <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_bread_line</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">,</span> <span class=\"token keyword\">sizeof</span><span class=\"token punctuation\">(</span>line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">>=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"line: %s\"</span><span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit stream</span>\n <span class=\"token function\">tb_stream_exit</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// wait </span>\n <span class=\"token function\">getchar</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// exit tbox</span>\n <span class=\"token function\">tb_exit</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/ceca5ed63d5aa33fdf87d05cd574dec0.json b/node_modules/vuepress/node_modules/.cache/vuepress/ceca5ed63d5aa33fdf87d05cd574dec0.json new file mode 100644 index 00000000..d0b77ed6 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/ceca5ed63d5aa33fdf87d05cd574dec0.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport NavLink from './NavLink.vue';\nimport DropdownTransition from './DropdownTransition.vue';\nexport default {\n components: {\n NavLink: NavLink,\n DropdownTransition: DropdownTransition\n },\n data: function data() {\n return {\n open: false\n };\n },\n props: {\n item: {\n required: true\n }\n },\n methods: {\n toggle: function toggle() {\n this.open = !this.open;\n }\n }\n};",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/cf3d94581869a5af3ad46c926a28a39d.json b/node_modules/vuepress/node_modules/.cache/vuepress/cf3d94581869a5af3ad46c926a28a39d.json new file mode 100644 index 00000000..b2df2c05 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/cf3d94581869a5af3ad46c926a28a39d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./SWUpdatePopup.vue?vue&type=template&id=e27c5110&\"\nimport script from \"./SWUpdatePopup.vue?vue&type=script&lang=js&\"\nexport * from \"./SWUpdatePopup.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SWUpdatePopup.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('e27c5110', component.options)\n } else {\n api.reload('e27c5110', component.options)\n }\n module.hot.accept(\"./SWUpdatePopup.vue?vue&type=template&id=e27c5110&\", function () {\n api.rerender('e27c5110', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/cf77896bcb711e617925a71173e559d9.json b/node_modules/vuepress/node_modules/.cache/vuepress/cf77896bcb711e617925a71173e559d9.json new file mode 100644 index 00000000..894ebae5 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/cf77896bcb711e617925a71173e559d9.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/components/Badge.vue?vue&type=style&index=0&id=23988dc6&lang=stylus&scoped=true&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/components/Badge.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import '../../default-theme/styles/config.styl'\n\n.badge\n display inline-block\n font-size 14px\n height 18px\n line-height 18px\n border-radius 3px\n padding 0 6px\n color white\n margin-right 5px\n background-color #42b983\n &.middle\n vertical-align middle\n &.top\n vertical-align top\n &.tip, &.green\n background-color #42b983\n &.error\n background-color #DA5961 //#f66\n &.warning, &.warn, &.yellow\n background-color darken(#ffe564, 35%)\n",{"version":3,"sources":["Badge.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAuBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"Badge.vue","sourceRoot":"node_modules/vuepress/lib/app/components","sourcesContent":["<script>\nexport default {\n functional: true,\n props: {\n type: {\n type: String,\n default: 'tip'\n },\n text: String,\n vertical: {\n type: String,\n default: 'top'\n }\n },\n render (h, { props, slots }) {\n return h('span', {\n class: ['badge', props.type, props.vertical]\n }, props.text || slots().default)\n }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n@import '../../default-theme/styles/config.styl'\n\n.badge\n display inline-block\n font-size 14px\n height 18px\n line-height 18px\n border-radius 3px\n padding 0 6px\n color white\n margin-right 5px\n background-color #42b983\n &.middle\n vertical-align middle\n &.top\n vertical-align top\n &.tip, &.green\n background-color #42b983\n &.error\n background-color #DA5961 //#f66\n &.warning, &.warn, &.yellow\n background-color darken(#ffe564, 35%)\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/cf7a3823a6118e2606401beb2335c60f.json b/node_modules/vuepress/node_modules/.cache/vuepress/cf7a3823a6118e2606401beb2335c60f.json new file mode 100644 index 00000000..01f8df19 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/cf7a3823a6118e2606401beb2335c60f.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport DropdownLink from './DropdownLink.vue'\nimport { resolveNavLinkItem } from './util'\nimport NavLink from './NavLink.vue'\n\nexport default {\n components: { NavLink, DropdownLink },\n\n computed: {\n userNav () {\n return this.$themeLocaleConfig.nav || this.$site.themeConfig.nav || []\n },\n\n nav () {\n const { locales } = this.$site\n if (locales && Object.keys(locales).length > 1) {\n const currentLink = this.$page.path\n const routes = this.$router.options.routes\n const themeLocales = this.$site.themeConfig.locales || {}\n const languageDropdown = {\n text: this.$themeLocaleConfig.selectText || 'Languages',\n items: Object.keys(locales).map(path => {\n const locale = locales[path]\n const text = themeLocales[path] && themeLocales[path].label || locale.lang\n let link\n // Stay on the current page\n if (locale.lang === this.$lang) {\n link = currentLink\n } else {\n // Try to stay on the same page\n link = currentLink.replace(this.$localeConfig.path, path)\n // fallback to homepage\n if (!routes.some(route => route.path === link)) {\n link = path\n }\n }\n return { text, link }\n })\n }\n return [...this.userNav, languageDropdown]\n }\n return this.userNav\n },\n\n userLinks () {\n return (this.nav || []).map(link => {\n return Object.assign(resolveNavLinkItem(link), {\n items: (link.items || []).map(resolveNavLinkItem)\n })\n })\n },\n\n repoLink () {\n const { repo } = this.$site.themeConfig\n if (repo) {\n return /^https?:/.test(repo)\n ? repo\n : `https://github.com/${repo}`\n }\n },\n\n repoLabel () {\n if (!this.repoLink) return\n if (this.$site.themeConfig.repoLabel) {\n return this.$site.themeConfig.repoLabel\n }\n\n const repoHost = this.repoLink.match(/^https?:\\/\\/[^/]+/)[0]\n const platforms = ['GitHub', 'GitLab', 'Bitbucket']\n for (let i = 0; i < platforms.length; i++) {\n const platform = platforms[i]\n if (new RegExp(platform, 'i').test(repoHost)) {\n return platform\n }\n }\n\n return 'Source'\n }\n }\n}\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/d02a1f97fb5b76b5acfed912fb96d315.json b/node_modules/vuepress/node_modules/.cache/vuepress/d02a1f97fb5b76b5acfed912fb96d315.json new file mode 100644 index 00000000..d74240e4 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/d02a1f97fb5b76b5acfed912fb96d315.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/guide/faq.md?vue&type=template&id=ddec2fba&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/guide/faq.md","mtime":1541582363508},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _vm._m(1),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Get the help info of the main command.\")]),\n _vm._v(\" \"),\n _vm._m(2),\n _c(\"p\", [_vm._v(\"Get the help info of the configuration command.\")]),\n _vm._v(\" \"),\n _vm._m(3),\n _c(\"p\", [\n _vm._v(\"Get the help info of the givent action or plugin command.\")\n ]),\n _vm._v(\" \"),\n _vm._m(4),\n _c(\"p\", [_vm._v(\"For example:\")]),\n _vm._v(\" \"),\n _vm._m(5),\n _vm._m(6),\n _vm._v(\" \"),\n _vm._m(7),\n _vm._m(8),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"Please attempt to clean configuration and rebuild it first.\")\n ]),\n _vm._v(\" \"),\n _vm._m(9),\n _vm._m(10),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"For exmaple:\")]),\n _vm._v(\" \"),\n _vm._m(11),\n _c(\"p\", [\n _vm._v(\"And add \"),\n _c(\"code\", [_vm._v(\"--backtrace\")]),\n _vm._v(\n \" to get the verbose backtrace info, then you can submit these infos to \"\n ),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake/issues\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"issues\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\".\")\n ]),\n _vm._v(\" \"),\n _vm._m(12),\n _vm._m(13),\n _vm._v(\" \"),\n _vm._m(14),\n _vm._m(15),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"You only need run the following command:\")]),\n _vm._v(\" \"),\n _vm._m(16),\n _c(\"p\", [\n _vm._v(\n \"xmake will scan all source code in current directory and build it automaticlly.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"And we can run it directly.\")]),\n _vm._v(\" \"),\n _vm._m(17),\n _c(\"p\", [\n _vm._v(\"If we only want to generate xmake.lua file, we can run:\")\n ]),\n _vm._v(\" \"),\n _vm._m(18),\n _c(\"p\", [\n _vm._v(\"If you want to known more information please see \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://tboox.org/2017/01/07/build-without-makefile/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [\n _vm._v(\"Scan source codes and build project without makefile\"),\n _c(\"OutboundLink\")\n ],\n 1\n )\n ])\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h1\", { attrs: { id: \"faq\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#faq\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" FAQ\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"h2\",\n { attrs: { id: \"how-to-get-verbose-command-line-arguments-info\" } },\n [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: {\n href: \"#how-to-get-verbose-command-line-arguments-info\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" How to get verbose command-line arguments info?\")\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"-h\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"--help\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake f \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"-h\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"--help\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"action\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"plugin\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"-h\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"--help\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake run --help\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"how-to-suppress-all-output-info\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: {\n href: \"#how-to-suppress-all-output-info\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" How to suppress all output info?\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"-q\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"--quiet\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"how-to-do-if-xmake-fails\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#how-to-do-if-xmake-fails\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" How to do if xmake fails?\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake f -c\\n$ xmake\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _vm._v(\"If it fails again, please add \"),\n _c(\"code\", [_vm._v(\"-v\")]),\n _vm._v(\" or \"),\n _c(\"code\", [_vm._v(\"--verbose\")]),\n _vm._v(\" options to get more verbose info.\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-hash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-text\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake [-v|--verbose] \\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake -v --backtrace\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"h2\",\n { attrs: { id: \"how-to-see-verbose-compiling-warnings\" } },\n [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: {\n href: \"#how-to-see-verbose-compiling-warnings\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" How to see verbose compiling warnings?\")\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"-w\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"--warning\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _vm._v(\" \\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"h2\",\n {\n attrs: {\n id: \"how-to-scan-source-code-and-generate-xmake-lua-automaticlly\"\n }\n },\n [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: {\n href:\n \"#how-to-scan-source-code-and-generate-xmake-lua-automaticlly\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" How to scan source code and generate xmake.lua automaticlly\")\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake run\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake f -y\\n\")])\n ])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/d054430060044585fc207a8581391cd8.json b/node_modules/vuepress/node_modules/.cache/vuepress/d054430060044585fc207a8581391cd8.json new file mode 100644 index 00000000..0940e164 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/d054430060044585fc207a8581391cd8.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/.temp/routes.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/.temp/routes.js","mtime":1541576266763},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import Vue from 'vue';\nimport ThemeLayout from '@themeLayout';\nimport ThemeNotFound from '@themeNotFound';\nimport { injectMixins } from '@app/util';\nimport rootMixins from '@app/root-mixins';\ninjectMixins(ThemeLayout, rootMixins);\ninjectMixins(ThemeNotFound, rootMixins);\nexport var routes = [{\n name: \"v-976357510c0f7\",\n path: \"/\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/README.md\").then(function (comp) {\n Vue.component(\"v-976357510c0f7\", comp.default);\n next();\n });\n }\n}, {\n path: \"/index.html\",\n redirect: \"/\"\n}, {\n name: \"v-e654ab74c6f2f\",\n path: \"/api/introduction.html\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/api/introduction.md\").then(function (comp) {\n Vue.component(\"v-e654ab74c6f2f\", comp.default);\n next();\n });\n }\n}, {\n name: \"v-6387b977201ca\",\n path: \"/guide/getting-started.html\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/guide/getting-started.md\").then(function (comp) {\n Vue.component(\"v-6387b977201ca\", comp.default);\n next();\n });\n }\n}, {\n name: \"v-f7cff32f576f\",\n path: \"/guide/introduction.html\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/guide/introduction.md\").then(function (comp) {\n Vue.component(\"v-f7cff32f576f\", comp.default);\n next();\n });\n }\n}, {\n name: \"v-d59d997586fc4\",\n path: \"/zh/\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/zh/README.md\").then(function (comp) {\n Vue.component(\"v-d59d997586fc4\", comp.default);\n next();\n });\n }\n}, {\n path: \"/zh/index.html\",\n redirect: \"/zh/\"\n}, {\n name: \"v-16069a4f1ab75\",\n path: \"/zh/api/introduction.html\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/zh/api/introduction.md\").then(function (comp) {\n Vue.component(\"v-16069a4f1ab75\", comp.default);\n next();\n });\n }\n}, {\n name: \"v-bfdd7b082b1e2\",\n path: \"/zh/guide/getting-started.html\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/getting-started.md\").then(function (comp) {\n Vue.component(\"v-bfdd7b082b1e2\", comp.default);\n next();\n });\n }\n}, {\n name: \"v-c5b609d041045\",\n path: \"/zh/guide/introduction.html\",\n component: ThemeLayout,\n beforeEnter: function beforeEnter(to, from, next) {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/introduction.md\").then(function (comp) {\n Vue.component(\"v-c5b609d041045\", comp.default);\n next();\n });\n }\n}, {\n path: '*',\n component: ThemeNotFound\n}];",{"version":3,"sources":["node_modules/vuepress/lib/app/.temp/routes.js"],"names":["Vue","ThemeLayout","ThemeNotFound","injectMixins","rootMixins","routes","name","path","component","beforeEnter","to","from","next","then","comp","default","redirect"],"mappings":"AAAA,OAAOA,GAAP,MAAgB,KAAhB;AAEA,OAAOC,WAAP,MAAwB,cAAxB;AACA,OAAOC,aAAP,MAA0B,gBAA1B;AACA,SAASC,YAAT,QAA6B,WAA7B;AACA,OAAOC,UAAP,MAAuB,kBAAvB;AAEAD,aAAaF,WAAb,EAA0BG,UAA1B;AACAD,aAAaD,aAAb,EAA4BE,UAA5B;AAEA,OAAO,IAAMC,SAAS,CACpB;AACEC,QAAM,iBADR;AAEEC,QAAM,GAFR;AAGEC,aAAWP,WAHb;AAIEQ,eAAa,qBAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AAC/B,WAAO,uDAAP,EAAgEC,IAAhE,CAAqE,gBAAQ;AAC3Eb,UAAIQ,SAAJ,CAAc,iBAAd,EAAiCM,KAAKC,OAAtC;AACAH;AACD,KAHD;AAID;AATH,CADoB,EAYpB;AACEL,QAAM,aADR;AAEES,YAAU;AAFZ,CAZoB,EAgBpB;AACEV,QAAM,iBADR;AAEEC,QAAM,wBAFR;AAGEC,aAAWP,WAHb;AAIEQ,eAAa,qBAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AAC/B,WAAO,iEAAP,EAA0EC,IAA1E,CAA+E,gBAAQ;AACrFb,UAAIQ,SAAJ,CAAc,iBAAd,EAAiCM,KAAKC,OAAtC;AACAH;AACD,KAHD;AAID;AATH,CAhBoB,EA2BpB;AACEN,QAAM,iBADR;AAEEC,QAAM,6BAFR;AAGEC,aAAWP,WAHb;AAIEQ,eAAa,qBAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AAC/B,WAAO,sEAAP,EAA+EC,IAA/E,CAAoF,gBAAQ;AAC1Fb,UAAIQ,SAAJ,CAAc,iBAAd,EAAiCM,KAAKC,OAAtC;AACAH;AACD,KAHD;AAID;AATH,CA3BoB,EAsCpB;AACEN,QAAM,gBADR;AAEEC,QAAM,0BAFR;AAGEC,aAAWP,WAHb;AAIEQ,eAAa,qBAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AAC/B,WAAO,mEAAP,EAA4EC,IAA5E,CAAiF,gBAAQ;AACvFb,UAAIQ,SAAJ,CAAc,gBAAd,EAAgCM,KAAKC,OAArC;AACAH;AACD,KAHD;AAID;AATH,CAtCoB,EAiDpB;AACEN,QAAM,iBADR;AAEEC,QAAM,MAFR;AAGEC,aAAWP,WAHb;AAIEQ,eAAa,qBAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AAC/B,WAAO,0DAAP,EAAmEC,IAAnE,CAAwE,gBAAQ;AAC9Eb,UAAIQ,SAAJ,CAAc,iBAAd,EAAiCM,KAAKC,OAAtC;AACAH;AACD,KAHD;AAID;AATH,CAjDoB,EA4DpB;AACEL,QAAM,gBADR;AAEES,YAAU;AAFZ,CA5DoB,EAgEpB;AACEV,QAAM,iBADR;AAEEC,QAAM,2BAFR;AAGEC,aAAWP,WAHb;AAIEQ,eAAa,qBAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AAC/B,WAAO,oEAAP,EAA6EC,IAA7E,CAAkF,gBAAQ;AACxFb,UAAIQ,SAAJ,CAAc,iBAAd,EAAiCM,KAAKC,OAAtC;AACAH;AACD,KAHD;AAID;AATH,CAhEoB,EA2EpB;AACEN,QAAM,iBADR;AAEEC,QAAM,gCAFR;AAGEC,aAAWP,WAHb;AAIEQ,eAAa,qBAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AAC/B,WAAO,yEAAP,EAAkFC,IAAlF,CAAuF,gBAAQ;AAC7Fb,UAAIQ,SAAJ,CAAc,iBAAd,EAAiCM,KAAKC,OAAtC;AACAH;AACD,KAHD;AAID;AATH,CA3EoB,EAsFpB;AACEN,QAAM,iBADR;AAEEC,QAAM,6BAFR;AAGEC,aAAWP,WAHb;AAIEQ,eAAa,qBAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AAC/B,WAAO,sEAAP,EAA+EC,IAA/E,CAAoF,gBAAQ;AAC1Fb,UAAIQ,SAAJ,CAAc,iBAAd,EAAiCM,KAAKC,OAAtC;AACAH;AACD,KAHD;AAID;AATH,CAtFoB,EAiGpB;AACEL,QAAM,GADR;AAEEC,aAAWN;AAFb,CAjGoB,CAAf","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["import Vue from 'vue'\n\nimport ThemeLayout from '@themeLayout'\nimport ThemeNotFound from '@themeNotFound'\nimport { injectMixins } from '@app/util'\nimport rootMixins from '@app/root-mixins'\n\ninjectMixins(ThemeLayout, rootMixins)\ninjectMixins(ThemeNotFound, rootMixins)\n\nexport const routes = [\n {\n name: \"v-976357510c0f7\",\n path: \"/\",\n component: ThemeLayout,\n beforeEnter: (to, from, next) => {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/README.md\").then(comp => {\n Vue.component(\"v-976357510c0f7\", comp.default)\n next()\n })\n }\n },\n {\n path: \"/index.html\",\n redirect: \"/\"\n },\n {\n name: \"v-e654ab74c6f2f\",\n path: \"/api/introduction.html\",\n component: ThemeLayout,\n beforeEnter: (to, from, next) => {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/api/introduction.md\").then(comp => {\n Vue.component(\"v-e654ab74c6f2f\", comp.default)\n next()\n })\n }\n },\n {\n name: \"v-6387b977201ca\",\n path: \"/guide/getting-started.html\",\n component: ThemeLayout,\n beforeEnter: (to, from, next) => {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/guide/getting-started.md\").then(comp => {\n Vue.component(\"v-6387b977201ca\", comp.default)\n next()\n })\n }\n },\n {\n name: \"v-f7cff32f576f\",\n path: \"/guide/introduction.html\",\n component: ThemeLayout,\n beforeEnter: (to, from, next) => {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/guide/introduction.md\").then(comp => {\n Vue.component(\"v-f7cff32f576f\", comp.default)\n next()\n })\n }\n },\n {\n name: \"v-d59d997586fc4\",\n path: \"/zh/\",\n component: ThemeLayout,\n beforeEnter: (to, from, next) => {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/zh/README.md\").then(comp => {\n Vue.component(\"v-d59d997586fc4\", comp.default)\n next()\n })\n }\n },\n {\n path: \"/zh/index.html\",\n redirect: \"/zh/\"\n },\n {\n name: \"v-16069a4f1ab75\",\n path: \"/zh/api/introduction.html\",\n component: ThemeLayout,\n beforeEnter: (to, from, next) => {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/zh/api/introduction.md\").then(comp => {\n Vue.component(\"v-16069a4f1ab75\", comp.default)\n next()\n })\n }\n },\n {\n name: \"v-bfdd7b082b1e2\",\n path: \"/zh/guide/getting-started.html\",\n component: ThemeLayout,\n beforeEnter: (to, from, next) => {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/getting-started.md\").then(comp => {\n Vue.component(\"v-bfdd7b082b1e2\", comp.default)\n next()\n })\n }\n },\n {\n name: \"v-c5b609d041045\",\n path: \"/zh/guide/introduction.html\",\n component: ThemeLayout,\n beforeEnter: (to, from, next) => {\n import(\"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/introduction.md\").then(comp => {\n Vue.component(\"v-c5b609d041045\", comp.default)\n next()\n })\n }\n },\n {\n path: '*',\n component: ThemeNotFound\n }\n]"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/d096e62d80b4de4dad01f3e00593e758.json b/node_modules/vuepress/node_modules/.cache/vuepress/d096e62d80b4de4dad01f3e00593e758.json new file mode 100644 index 00000000..9743cd28 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/d096e62d80b4de4dad01f3e00593e758.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/locals.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.dropdown-enter, .dropdown-leave-to\n height 0 !important\n\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/d0c27f54c9bfa36630045d7f5f5deb12.json b/node_modules/vuepress/node_modules/.cache/vuepress/d0c27f54c9bfa36630045d7f5f5deb12.json new file mode 100644 index 00000000..d43328c1 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/d0c27f54c9bfa36630045d7f5f5deb12.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/zh/guide/introduction.md","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/zh/guide/introduction.md","mtime":1541489249205},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./introduction.md?vue&type=template&id=6ecdfb78&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('6ecdfb78', component.options)\n } else {\n api.reload('6ecdfb78', component.options)\n }\n module.hot.accept(\"./introduction.md?vue&type=template&id=6ecdfb78&\", function () {\n api.rerender('6ecdfb78', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/zh/guide/introduction.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/d0f8c9f7e9ce5ae725b7b9568a5efac7.json b/node_modules/vuepress/node_modules/.cache/vuepress/d0f8c9f7e9ce5ae725b7b9568a5efac7.json new file mode 100644 index 00000000..d62be46f --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/d0f8c9f7e9ce5ae725b7b9568a5efac7.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue?vue&type=template&id=2e630b6d&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm.userLinks.length || _vm.repoLink\n ? _c(\n \"nav\",\n { staticClass: \"nav-links\" },\n [\n _vm._l(_vm.userLinks, function(item) {\n return _c(\n \"div\",\n { key: item.link, staticClass: \"nav-item\" },\n [\n item.type === \"links\"\n ? _c(\"DropdownLink\", { attrs: { item: item } })\n : _c(\"NavLink\", { attrs: { item: item } })\n ],\n 1\n )\n }),\n _vm._v(\" \"),\n _vm.repoLink\n ? _c(\n \"a\",\n {\n staticClass: \"repo-link\",\n attrs: {\n href: _vm.repoLink,\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [\n _vm._v(\"\\n \" + _vm._s(_vm.repoLabel) + \"\\n \"),\n _c(\"OutboundLink\")\n ],\n 1\n )\n : _vm._e()\n ],\n 2\n )\n : _vm._e()\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/d1f3f666f0eba0838537b1463bee23e1.json b/node_modules/vuepress/node_modules/.cache/vuepress/d1f3f666f0eba0838537b1463bee23e1.json new file mode 100644 index 00000000..9927c39a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/d1f3f666f0eba0838537b1463bee23e1.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/api/introduction.md?vue&type=template&id=687bc258&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/api/introduction.md","mtime":1541569045944},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_c('h1',{attrs:{\"id\":\"title1\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#title1\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Title1\")]),_vm._v(\" \"),_c('p'),_c('div',{staticClass:\"table-of-contents\"},[_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"#title2\"}},[_vm._v(\"Title2\")]),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"#title3\"}},[_vm._v(\"Title3\")])]),_c('li',[_c('a',{attrs:{\"href\":\"#title3\"}},[_vm._v(\"Title3\")])])])]),_c('li',[_c('a',{attrs:{\"href\":\"#title2\"}},[_vm._v(\"Title2\")]),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"#title3\"}},[_vm._v(\"Title3\")])])])])])]),_c('p'),_vm._v(\" \"),_c('h2',{attrs:{\"id\":\"title2\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#title2\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Title2\")]),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"title3\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#title3\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Title3\")]),_vm._v(\" \"),_c('h4',{attrs:{\"id\":\"title4\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#title4\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Title4\")]),_vm._v(\" \"),_c('h5',{attrs:{\"id\":\"title5\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#title5\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Title5\")]),_vm._v(\" \"),_c('p',[_vm._v(\"...\")]),_vm._v(\" \"),_c('h5',{attrs:{\"id\":\"title5-2\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#title5-2\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Title5\")]),_vm._v(\" \"),_c('p',[_vm._v(\"...\")]),_vm._v(\" \"),_c('h4',{attrs:{\"id\":\"title4-2\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#title4-2\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Title4\")]),_vm._v(\" \"),_c('p',[_vm._v(\"...\")]),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"title3-2\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#title3-2\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Title3\")]),_vm._v(\" \"),_c('p',[_vm._v(\"...\")]),_vm._v(\" \"),_c('h2',{attrs:{\"id\":\"title2-2\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#title2-2\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Title2\")]),_vm._v(\" \"),_c('p',[_vm._v(\"...\")]),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"title3-3\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#title3-3\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Title3\")]),_vm._v(\" \"),_c('p',[_vm._v(\"...\")])])}]\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/d2239f6130ca5036428a7c0540393ce3.json b/node_modules/vuepress/node_modules/.cache/vuepress/d2239f6130ca5036428a7c0540393ce3.json new file mode 100644 index 00000000..c869d0ec --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/d2239f6130ca5036428a7c0540393ce3.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import \"core-js/modules/es6.array.some\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport SidebarGroup from './SidebarGroup.vue';\nimport SidebarLink from './SidebarLink.vue';\nimport NavLinks from './NavLinks.vue';\nimport { isActive as _isActive } from './util';\nexport default {\n components: {\n SidebarGroup: SidebarGroup,\n SidebarLink: SidebarLink,\n NavLinks: NavLinks\n },\n props: ['items'],\n data: function data() {\n return {\n openGroupIndex: 0\n };\n },\n created: function created() {\n this.refreshIndex();\n },\n watch: {\n '$route': function $route() {\n this.refreshIndex();\n }\n },\n methods: {\n refreshIndex: function refreshIndex() {\n var index = resolveOpenGroupIndex(this.$route, this.items);\n\n if (index > -1) {\n this.openGroupIndex = index;\n }\n },\n toggleGroup: function toggleGroup(index) {\n this.openGroupIndex = index === this.openGroupIndex ? -1 : index;\n },\n isActive: function isActive(page) {\n return _isActive(this.$route, page.path);\n }\n }\n};\n\nfunction resolveOpenGroupIndex(route, items) {\n for (var i = 0; i < items.length; i++) {\n var item = items[i];\n\n if (item.type === 'group' && item.children.some(function (c) {\n return _isActive(route, c.path);\n })) {\n return i;\n }\n }\n\n return -1;\n}",{"version":3,"sources":["Sidebar.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAsBA,OAAA,YAAA,MAAA,oBAAA;AACA,OAAA,WAAA,MAAA,mBAAA;AACA,OAAA,QAAA,MAAA,gBAAA;AACA,SAAA,qBAAA,QAAA,QAAA;AAEA,eAAA;AACA,cAAA;AAAA,8BAAA;AAAA,4BAAA;AAAA;AAAA,GADA;AAGA,SAAA,CAAA,OAAA,CAHA;AAKA,MALA,kBAKA;AACA,WAAA;AACA,sBAAA;AADA,KAAA;AAGA,GATA;AAWA,SAXA,qBAWA;AACA,SAAA,YAAA;AACA,GAbA;AAeA,SAAA;AACA,YADA,oBACA;AACA,WAAA,YAAA;AACA;AAHA,GAfA;AAqBA,WAAA;AACA,gBADA,0BACA;AACA,UAAA,QAAA,sBACA,KAAA,MADA,EAEA,KAAA,KAFA,CAAA;;AAIA,UAAA,QAAA,CAAA,CAAA,EAAA;AACA,aAAA,cAAA,GAAA,KAAA;AACA;AACA,KATA;AAWA,eAXA,uBAWA,KAXA,EAWA;AACA,WAAA,cAAA,GAAA,UAAA,KAAA,cAAA,GAAA,CAAA,CAAA,GAAA,KAAA;AACA,KAbA;AAeA,YAfA,oBAeA,IAfA,EAeA;AACA,aAAA,UAAA,KAAA,MAAA,EAAA,KAAA,IAAA,CAAA;AACA;AAjBA;AArBA,CAAA;;AA0CA,SAAA,qBAAA,CAAA,KAAA,EAAA,KAAA,EAAA;AACA,OAAA,IAAA,IAAA,CAAA,EAAA,IAAA,MAAA,MAAA,EAAA,GAAA,EAAA;AACA,QAAA,OAAA,MAAA,CAAA,CAAA;;AACA,QAAA,KAAA,IAAA,KAAA,OAAA,IAAA,KAAA,QAAA,CAAA,IAAA,CAAA;AAAA,aAAA,UAAA,KAAA,EAAA,EAAA,IAAA,CAAA;AAAA,KAAA,CAAA,EAAA;AACA,aAAA,CAAA;AACA;AACA;;AACA,SAAA,CAAA,CAAA;AACA","sourcesContent":["<template>\n <div class=\"sidebar\">\n <NavLinks/>\n <slot name=\"top\"/>\n <ul class=\"sidebar-links\" v-if=\"items.length\">\n <li v-for=\"(item, i) in items\" :key=\"i\">\n <SidebarGroup\n v-if=\"item.type === 'group'\"\n :item=\"item\"\n :first=\"i === 0\"\n :open=\"i === openGroupIndex\"\n :collapsable=\"item.collapsable || item.collapsible\"\n @toggle=\"toggleGroup(i)\"\n />\n <SidebarLink v-else :item=\"item\"/>\n </li>\n </ul>\n <slot name=\"bottom\"/>\n </div>\n</template>\n\n<script>\nimport SidebarGroup from './SidebarGroup.vue'\nimport SidebarLink from './SidebarLink.vue'\nimport NavLinks from './NavLinks.vue'\nimport { isActive } from './util'\n\nexport default {\n components: { SidebarGroup, SidebarLink, NavLinks },\n\n props: ['items'],\n\n data () {\n return {\n openGroupIndex: 0\n }\n },\n\n created () {\n this.refreshIndex()\n },\n\n watch: {\n '$route' () {\n this.refreshIndex()\n }\n },\n\n methods: {\n refreshIndex () {\n const index = resolveOpenGroupIndex(\n this.$route,\n this.items\n )\n if (index > -1) {\n this.openGroupIndex = index\n }\n },\n\n toggleGroup (index) {\n this.openGroupIndex = index === this.openGroupIndex ? -1 : index\n },\n\n isActive (page) {\n return isActive(this.$route, page.path)\n }\n }\n}\n\nfunction resolveOpenGroupIndex (route, items) {\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n if (item.type === 'group' && item.children.some(c => isActive(route, c.path))) {\n return i\n }\n }\n return -1\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.sidebar\n ul\n padding 0\n margin 0\n list-style-type none\n a\n display inline-block\n .nav-links\n display none\n border-bottom 1px solid $borderColor\n padding 0.5rem 0 0.75rem 0\n a\n font-weight 600\n .nav-item, .repo-link\n display block\n line-height 1.25rem\n font-size 1.1em\n padding 0.5rem 0 0.5rem 1.5rem\n .sidebar-links\n padding 1.5rem 0\n\n@media (max-width: $MQMobile)\n .sidebar\n .nav-links\n display block\n .dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active::after\n top calc(1rem - 2px)\n .sidebar-links\n padding 1rem 0\n</style>\n"],"sourceRoot":"node_modules/vuepress/lib/default-theme"}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/d25539ff29c1ab06ef05d565f3fb7473.json b/node_modules/vuepress/node_modules/.cache/vuepress/d25539ff29c1ab06ef05d565f3fb7473.json new file mode 100644 index 00000000..94d62ef8 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/d25539ff29c1ab06ef05d565f3fb7473.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/guide/introduction.md?vue&type=template&id=7aabeaf7&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/introduction.md","mtime":1541489249205},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._m(0),_vm._v(\" \"),_c('p',[_vm._v(\"TBOX是一个用c语言实现的跨平台开发库。\")]),_vm._v(\" \"),_c('p',[_vm._v(\"针对各个平台,封装了统一的接口,简化了各类开发过程中常用操作,使你在开发过程中,更加关注实际应用的开发,而不是把时间浪费在琐碎的接口兼容性上面,并且充分利用了各个平台独有的一些特性进行优化。\")]),_vm._v(\" \"),_c('p',[_vm._v(\"这个项目的目的,是为了使C开发更加的简单高效。\")]),_vm._v(\" \"),_c('p',[_vm._v(\"目前支持的平台有:\")]),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('p',[_vm._v(\"通过\"),_c('a',{attrs:{\"href\":\"http://www.xmake.io/cn\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"xmake\"),_c('OutboundLink')],1),_vm._v(\"支持各种编译模式:\")]),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_c('p',[_vm._v(\"如果你想了解更多,请参考:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"http://www.tboox.org/cn\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"项目主页\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/tboox/tbox/wiki/%E7%9B%AE%E5%BD%95\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"在线文档\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/tboox/tbox\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"Github\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://gitee.com/tboox/tbox\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"Gitee\"),_c('OutboundLink')],1)])]),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_c('p',[_vm._v(\"针对http、file、socket、data等流数据,实现统一接口进行读写,并且支持: 阻塞、非阻塞、异步 三种读写模式。\\n支持中间增加多层filter流进行流过滤,实现边读取,内部边进行解压、编码转换、加密等操作,极大的减少了内存使用。\")]),_vm._v(\" \"),_c('p',[_vm._v(\"主要提供以下模块:\")]),_vm._v(\" \"),_vm._m(5),_vm._v(\" \"),_vm._m(6),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"快速高效的协程切换支持(具体性能参考:\"),_c('a',{attrs:{\"href\":\"http://tboox.org/cn/2016/10/28/benchbox-coroutine/\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"基准测试报告\"),_c('OutboundLink')],1),_vm._v(\")\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供跨平台支持,核心切换算法参考boost,并且对其进行重写和优化,目前支持架构:x86, x86_64, arm, arm64, mips32\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供channel协程间数据通信支持,基于生产、消费者模型\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供信号量、协程锁支持\")]),_vm._v(\" \"),_c('li',[_vm._v(\"socket、stream都模块原生支持协程,并且可在线程和协程间进行无缝切换\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供http、file等基于协程的简单服务器实例,只需几百行代码,就可以从socket开始写个高性能io服务器,代码逻辑比异步回调模式更加清晰\")]),_vm._v(\" \"),_c('li',[_vm._v(\"同时提供stackfull, stackless两种协程模式支持,stackless协程更加的轻量(每个协程只占用几十个bytes),切换更快(会牺牲部分易用性)\")]),_vm._v(\" \"),_c('li',[_vm._v(\"支持epoll, kqueue, poll, select 和 IOCP\")])]),_vm._v(\" \"),_vm._m(7),_vm._v(\" \"),_vm._m(8),_vm._v(\" \"),_vm._m(9),_vm._v(\" \"),_vm._m(10),_vm._v(\" \"),_vm._m(11),_vm._v(\" \"),_vm._m(12),_vm._v(\" \"),_vm._m(13),_vm._v(\" \"),_vm._m(14),_vm._v(\" \"),_vm._m(15),_vm._v(\" \"),_vm._m(16),_vm._v(\" \"),_vm._m(17),_vm._v(\" \"),_vm._m(18),_vm._v(\" \"),_vm._m(19),_vm._v(\" \"),_vm._m(20),_vm._v(\" \"),_vm._m(21),_vm._v(\" \"),_vm._m(22),_vm._v(\" \"),_vm._m(23),_vm._v(\" \"),_vm._m(24),_vm._v(\" \"),_vm._m(25),_vm._v(\" \"),_vm._m(26),_vm._v(\" \"),_vm._m(27),_vm._v(\" \"),_vm._m(28),_vm._v(\" \"),_vm._m(29),_vm._v(\" \"),_vm._m(30),_vm._v(\" \"),_vm._m(31),_vm._v(\" \"),_vm._m(32),_vm._v(\" \"),_vm._m(33),_vm._v(\" \"),_vm._m(34),_vm._v(\" \"),_vm._m(35),_vm._v(\" \"),_vm._m(36),_vm._v(\" \"),_vm._m(37),_vm._v(\" \"),_c('p',[_vm._v(\"一些使用tbox的项目\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/tboox/gbox\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"gbox\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/tboox/vm86\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"vm86\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"http://www.xmake.io/cn\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"xmake\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/tboox/itrace\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"itrace\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/tboox/tbox/wiki/%E4%BD%BF%E7%94%A8tbox%E7%9A%84%E5%BC%80%E6%BA%90%E5%BA%93\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"更多项目\"),_c('OutboundLink')],1)])]),_vm._v(\" \"),_vm._m(38),_vm._v(\" \"),_c('ul',[_vm._m(39),_vm._v(\" \"),_c('li',[_vm._v(\"主页:\"),_c('a',{attrs:{\"href\":\"http://www.tboox.org/cn\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"TBOOX开源工程\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_vm._v(\"社区:\"),_c('a',{attrs:{\"href\":\"https://www.reddit.com/r/tboox/\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"Reddit论坛\"),_c('OutboundLink')],1)]),_vm._v(\" \"),_c('li',[_vm._v(\"QQ群:343118190\")]),_vm._v(\" \"),_c('li',[_vm._v(\"微信公众号:tboox-os\")])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h1',{attrs:{\"id\":\"简介\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#简介\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 简介\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Windows\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Macosx\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Linux\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Android\")]),_vm._v(\" \"),_c('li',[_vm._v(\"iOS\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Release: 正式版编译,禁用调试信息、断言,各种检测机制,启用编译器优化\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Debug: 调试模式,默认启用详细调试信息、断言、内存越界检测、内存泄漏、锁竞争分析等检测机制\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Small: 最小化编译,默认禁用所有扩展模块,启用编译器最小化优化\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Micro: 针对嵌入式平台,仅仅编译tbox微内核,仅提供最基础的跨平台接口,生成库仅64K左右(内置轻量libc接口实现)\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',{attrs:{\"id\":\"特性\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#特性\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 特性\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"流库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#流库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 流库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_c('code',[_vm._v(\"stream\")]),_vm._v(\":通用非阻塞流,用于一般的单独io处理,同时支持协程以实现异步传输。\")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"transfer\")]),_vm._v(\":流传输器,维护两路流的传输。\")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"static_stream\")]),_vm._v(\":针对静态数据buffer优化的静态流,用于轻量快速的数据解析。\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"协程库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#协程库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 协程库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"数据库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#数据库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 数据库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"统一并简化数据库操作接口,适配各种数据源,通过统一的url来自动连接打开支持的数据库,数据的枚举采用迭代器模型。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"目前支持sqlite3以及mysql两种关系型数据库,也可自定义扩展使用其他关系型数据库。\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"xml库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#xml库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" xml库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"针对xml提供DOM和SAX两种解析模式,SAX方式采用外部迭代模式,灵活性和性能更高,并且可以选择指定路径,进行解析。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"解析过程完全基于stream,所以是高度流化的,可以实现边下载、边解压、边转码、边解析一条龙服务,使用较低的内存也可以解析大规模数据。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供xml writer以支持对xml生成\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"内存库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#内存库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 内存库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"参考linux内核内存管理机制的实现,并对其进行各种改造和优化,所实现的TBOX独有的一整套内存池管理架构。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"调试模式下,可以轻松检测并定位内存泄露、内存越界溢出、内存重叠覆盖等常见内存问题,并对整体内存的使用进行了统计和简要分析。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"针对大块数据、小块数据、字符串数据进行了充分的利用,避免了大量外部碎片和内部碎片的产生。分配操作进行了各种优化,96%的情况下,效率都是在O(1)。\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"容器库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#容器库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 容器库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"提供哈希、链表、数组、队列、堆栈、最小最大堆等常用容器。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"支持各种常用成员类型,在原有的容器期初上,其成员类型还可以完全自定义扩展。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"所有容器都支持迭代器操作。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"大部分容器都可以支持基于stream的序列化和反序列化操作。\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"算法库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#算法库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 算法库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"提供各种排序算法:冒泡排序、堆排序、快速排序、插入排序。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供各种查找算法:线性遍历、二分法搜索。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供各种遍历、删除、统计算法。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"以迭代器为接口,实现算法和容器的分离,类似stl,但是c实现的,更加轻量。\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"网络库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#网络库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 网络库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"实现http客户端模块\")]),_vm._v(\" \"),_c('li',[_vm._v(\"实现cookies\")]),_vm._v(\" \"),_c('li',[_vm._v(\"实现dns解析与缓存\")]),_vm._v(\" \"),_c('li',[_vm._v(\"实现ssl(支持openssl, polarssl, mbedtls)\")]),_vm._v(\" \"),_c('li',[_vm._v(\"支持ipv4、ipv6\")]),_vm._v(\" \"),_c('li',[_vm._v(\"支持通过协程实现异步模式\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"数学运算库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#数学运算库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 数学运算库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"提供各种精度的定点运算支持\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供随机数生成器\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"libc库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#libc库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" libc库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"libc的一个轻量级实现,完全跨平台,并且针对不同架构进行了优化。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"支持大部分字符串、宽字符串操作。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"扩展字符串、宽字符串的各种大小写不敏感操作接口\")]),_vm._v(\" \"),_c('li',[_vm._v(\"扩展\"),_c('code',[_vm._v(\"memset_u16\")]),_vm._v(\"、\"),_c('code',[_vm._v(\"memset_u32\")]),_vm._v(\"等接口,并对其进行高度优化,尤其适合图形渲染程序\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"libm库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#libm库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" libm库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"libm部分接口的一个轻量级实现,以及对常用系统接口的封装。(目前只实现了部分,之后有时间会完全实现掉)\")]),_vm._v(\" \"),_c('li',[_vm._v(\"扩展部分常用接口,增加对sqrt、log2等常用函数的整数版本计算,进行高度优化,不涉及浮点运算,适合嵌入式环境使用。\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"object库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#object库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" object库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"轻量级类apple的CoreFoundation库,支持object、dictionary、array、string、number、date、data等常用对象,并且可以方便扩展自定义对象的序列化。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"支持对xml、json、binary以及apple的plist(xplist/bplist)格式序列化和反序列化。\\n并且实现自有的binary序列化格式, 针对明文进行了简单的加密,在不影响性能的前提下,序列化后的大小比bplist节省30%。\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"平台库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#平台库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 平台库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"提供file、directory、socket、thread、time等常用系统接口\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供atomic、atomic64接口\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供高精度、低精度定时器\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供高性能的线程池操作\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供event、mutex、semaphore、spinlock等事件、互斥、信号量、自旋锁操作\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供获取函数堆栈信息的接口,方便调试和错误定位\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供跨平台动态库加载接口(如果系统支持的话)\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供io轮询器,针对epoll, poll, select, kqueue进行跨平台封装\")]),_vm._v(\" \"),_c('li',[_vm._v(\"提供跨平台上下文切换接口,主要用于协程实现,切换效率非常高\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"压缩库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#压缩库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 压缩库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"支持zlib/zlibraw/gzip的压缩与解压(需要第三方zlib库支持)。\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"字符编码库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#字符编码库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 字符编码库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"支持utf8、utf16、gbk、gb2312、uc2、uc4 之间的互相转码,并且支持大小端格式。\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"实用工具库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#实用工具库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 实用工具库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"实现base64/32编解码\")]),_vm._v(\" \"),_c('li',[_vm._v(\"实现crc32、adler32、md5、sha1等常用hash算法\")]),_vm._v(\" \"),_c('li',[_vm._v(\"实现日志输出、断言等辅助调试工具\")]),_vm._v(\" \"),_c('li',[_vm._v(\"实现url编解码\")]),_vm._v(\" \"),_c('li',[_vm._v(\"实现位操作相关接口,支持各种数据格式的解析,可以对8bits、16bits、32bits、64bits、float、double以及任意bits的字段进行解析操作,并且同时支持大端、小端和本地端模式,并针对部分操作进行了优化,像static_stream、stream都有相关接口对其进行了封装,方便在流上进行快速数据解析。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"实现swap16、swap32、swap64等位交换操作,并针对各个平台进行了优化。\")]),_vm._v(\" \"),_c('li',[_vm._v(\"实现一些高级的位处理接口,例如:位0的快速统计、前导0和前导1的快速位计数、后导01的快速位计数\")]),_vm._v(\" \"),_c('li',[_vm._v(\"实现单例模块,可以对静态对象、实例对象进行快速的单例封装,实现全局线程安全\")]),_vm._v(\" \"),_c('li',[_vm._v(\"实现option模块,对命令行参数进行解析,提供快速方便的命令行选项建立和解析操作,对于写终端程序还是很有帮助的\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',{attrs:{\"id\":\"正则表达式库\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#正则表达式库\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 正则表达式库\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"支持匹配和替换操作\")]),_vm._v(\" \"),_c('li',[_vm._v(\"支持全局、多行、大小写不敏感等模式\")]),_vm._v(\" \"),_c('li',[_vm._v(\"使用pcre, pcre2和posix正则库\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',{attrs:{\"id\":\"项目例子\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#项目例子\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 项目例子\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',{attrs:{\"id\":\"联系方式\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#联系方式\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" 联系方式\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_vm._v(\"邮箱:\"),_c('a',{attrs:{\"href\":\"mailto:waruqi@gmail.com\"}},[_vm._v(\"waruqi@gmail.com\")])])}]\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/d27e7b44bebf9058676483aefa872d46.json b/node_modules/vuepress/node_modules/.cache/vuepress/d27e7b44bebf9058676483aefa872d46.json new file mode 100644 index 00000000..bdaaa846 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/d27e7b44bebf9058676483aefa872d46.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NotFound.vue?vue&type=template&id=52d5a9f4&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NotFound.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"theme-container\" }, [\n _c(\n \"div\",\n { staticClass: \"content\" },\n [\n _c(\"h1\", [_vm._v(\"404\")]),\n _vm._v(\" \"),\n _c(\"blockquote\", [_vm._v(_vm._s(_vm.getMsg()))]),\n _vm._v(\" \"),\n _c(\"router-link\", { attrs: { to: \"/\" } }, [_vm._v(\"Take me home.\")])\n ],\n 1\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/d2e31c49dda851ea6c917c7f0ebe63e6.json b/node_modules/vuepress/node_modules/.cache/vuepress/d2e31c49dda851ea6c917c7f0ebe63e6.json new file mode 100644 index 00000000..4276f8e7 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/d2e31c49dda851ea6c917c7f0ebe63e6.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/api/introduction.md?vue&type=template&id=687bc258&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/api/introduction.md","mtime":1541569045944},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"title1\"><a class=\"header-anchor\" href=\"#title1\" aria-hidden=\"true\">#</a> Title1</h1>\n<p><div class=\"table-of-contents\"><ul><li><a href=\"#title2\">Title2</a><ul><li><a href=\"#title3\">Title3</a></li><li><a href=\"#title3\">Title3</a></li></ul></li><li><a href=\"#title2\">Title2</a><ul><li><a href=\"#title3\">Title3</a></li></ul></li></ul></div></p>\n<h2 id=\"title2\"><a class=\"header-anchor\" href=\"#title2\" aria-hidden=\"true\">#</a> Title2</h2>\n<h3 id=\"title3\"><a class=\"header-anchor\" href=\"#title3\" aria-hidden=\"true\">#</a> Title3</h3>\n<h4 id=\"title4\"><a class=\"header-anchor\" href=\"#title4\" aria-hidden=\"true\">#</a> Title4</h4>\n<h5 id=\"title5\"><a class=\"header-anchor\" href=\"#title5\" aria-hidden=\"true\">#</a> Title5</h5>\n<p>...</p>\n<h5 id=\"title5-2\"><a class=\"header-anchor\" href=\"#title5-2\" aria-hidden=\"true\">#</a> Title5</h5>\n<p>...</p>\n<h4 id=\"title4-2\"><a class=\"header-anchor\" href=\"#title4-2\" aria-hidden=\"true\">#</a> Title4</h4>\n<p>...</p>\n<h3 id=\"title3-2\"><a class=\"header-anchor\" href=\"#title3-2\" aria-hidden=\"true\">#</a> Title3</h3>\n<p>...</p>\n<h2 id=\"title2-2\"><a class=\"header-anchor\" href=\"#title2-2\" aria-hidden=\"true\">#</a> Title2</h2>\n<p>...</p>\n<h3 id=\"title3-3\"><a class=\"header-anchor\" href=\"#title3-3\" aria-hidden=\"true\">#</a> Title3</h3>\n<p>...</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/d2f6b56064d736ddfdf518f3484a24a0.json b/node_modules/vuepress/node_modules/.cache/vuepress/d2f6b56064d736ddfdf518f3484a24a0.json new file mode 100644 index 00000000..d98917dd --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/d2f6b56064d736ddfdf518f3484a24a0.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/manual/introduction.md?vue&type=template&id=e9b9111a&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/manual/introduction.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_c('h1',{attrs:{\"id\":\"manual\"}},[_c('a',{staticClass:\"header-anchor\",attrs:{\"href\":\"#manual\",\"aria-hidden\":\"true\"}},[_vm._v(\"#\")]),_vm._v(\" Manual\")]),_vm._v(\" \"),_c('p',[_vm._v(\"[TODO]\")])])}]\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/d4701d556d2dd16af1ace0c576863dd7.json b/node_modules/vuepress/node_modules/.cache/vuepress/d4701d556d2dd16af1ace0c576863dd7.json new file mode 100644 index 00000000..6366765d --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/d4701d556d2dd16af1ace0c576863dd7.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/guide/getting-started.md?vue&type=template&id=31f01bcd&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/getting-started.md","mtime":1541554744255},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._ssrNode(\"<h1 id=\\\"快速开始\\\"><a href=\\\"#快速开始\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 快速开始</h1> <h2 id=\\\"编译\\\"><a href=\\\"#编译\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 编译</h2> \"),_vm._ssrNode(\"<p>\",\"</p>\",[_vm._ssrNode(\"请先安装: \"),_vm._ssrNode(\"<a href=\\\"https://github.com/tboox/xmake\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"xmake\"),_c('OutboundLink')],2)],2),_vm._ssrNode(\" <div class=\\\"language-bash extra-class\\\"><pre class=\\\"language-bash\\\"><code><span class=\\\"token comment\\\"># 默认直接编译当前主机平台</span>\\n$ <span class=\\\"token function\\\">cd</span> ./tbox\\n$ xmake\\n\\n<span class=\\\"token comment\\\"># 编译mingw平台</span>\\n$ <span class=\\\"token function\\\">cd</span> ./tbox\\n$ xmake f -p mingw --sdk<span class=\\\"token operator\\\">=</span>/home/mingwsdk \\n$ xmake\\n\\n<span class=\\\"token comment\\\"># 编译iphoneos平台</span>\\n$ <span class=\\\"token function\\\">cd</span> ./tbox\\n$ xmake f -p iphoneos \\n$ xmake\\n\\n<span class=\\\"token comment\\\"># 编译android平台</span>\\n$ <span class=\\\"token function\\\">cd</span> ./tbox\\n$ xmake f -p android --ndk<span class=\\\"token operator\\\">=</span>xxxxx\\n$ xmake\\n\\n<span class=\\\"token comment\\\"># 交叉编译</span>\\n$ <span class=\\\"token function\\\">cd</span> ./tbox\\n$ xmake f -p linux --sdk<span class=\\\"token operator\\\">=</span>/home/sdk <span class=\\\"token comment\\\">#--bin=/home/sdk/bin</span>\\n$ xmake\\n</code></pre></div><h2 id=\\\"例子\\\"><a href=\\\"#例子\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 例子</h2> <div class=\\\"language-c extra-class\\\"><pre class=\\\"language-c\\\"><code><span class=\\\"token macro property\\\">#<span class=\\\"token directive keyword\\\">include</span> <span class=\\\"token string\\\">"tbox/tbox.h"</span></span>\\n\\n<span class=\\\"token keyword\\\">int</span> <span class=\\\"token function\\\">main</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token keyword\\\">int</span> argc<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token keyword\\\">char</span><span class=\\\"token operator\\\">*</span><span class=\\\"token operator\\\">*</span> argv<span class=\\\"token punctuation\\\">)</span>\\n<span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// init tbox</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span><span class=\\\"token operator\\\">!</span><span class=\\\"token function\\\">tb_init</span><span class=\\\"token punctuation\\\">(</span>tb_null<span class=\\\"token punctuation\\\">,</span> tb_null<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span> <span class=\\\"token keyword\\\">return</span> <span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// trace</span>\\n <span class=\\\"token function\\\">tb_trace_i</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token string\\\">"hello tbox"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// init vector</span>\\n tb_vector_ref_t vector <span class=\\\"token operator\\\">=</span> <span class=\\\"token function\\\">tb_vector_init</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">,</span> <span class=\\\"token function\\\">tb_element_cstr</span><span class=\\\"token punctuation\\\">(</span>tb_true<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// insert item</span>\\n <span class=\\\"token function\\\">tb_vector_insert_tail</span><span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token string\\\">"hello"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token function\\\">tb_vector_insert_tail</span><span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token string\\\">"tbox"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// dump all items</span>\\n tb_for_all <span class=\\\"token punctuation\\\">(</span>tb_char_t <span class=\\\"token keyword\\\">const</span><span class=\\\"token operator\\\">*</span><span class=\\\"token punctuation\\\">,</span> cstr<span class=\\\"token punctuation\\\">,</span> vector<span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// trace</span>\\n <span class=\\\"token function\\\">tb_trace_i</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token string\\\">"%s"</span><span class=\\\"token punctuation\\\">,</span> cstr<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n\\n <span class=\\\"token comment\\\">// exit vector</span>\\n <span class=\\\"token function\\\">tb_vector_exit</span><span class=\\\"token punctuation\\\">(</span>vector<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n\\n <span class=\\\"token comment\\\">// init stream</span>\\n tb_stream_ref_t stream <span class=\\\"token operator\\\">=</span> <span class=\\\"token function\\\">tb_stream_init_from_url</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token string\\\">"http://www.xxx.com/file.txt"</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span>stream<span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// open stream</span>\\n <span class=\\\"token keyword\\\">if</span> <span class=\\\"token punctuation\\\">(</span><span class=\\\"token function\\\">tb_stream_open</span><span class=\\\"token punctuation\\\">(</span>stream<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// read line</span>\\n tb_long_t size <span class=\\\"token operator\\\">=</span> <span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">;</span>\\n tb_char_t line<span class=\\\"token punctuation\\\">[</span>TB_STREAM_BLOCK_MAXN<span class=\\\"token punctuation\\\">]</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token keyword\\\">while</span> <span class=\\\"token punctuation\\\">(</span><span class=\\\"token punctuation\\\">(</span>size <span class=\\\"token operator\\\">=</span> <span class=\\\"token function\\\">tb_stream_bread_line</span><span class=\\\"token punctuation\\\">(</span>stream<span class=\\\"token punctuation\\\">,</span> line<span class=\\\"token punctuation\\\">,</span> <span class=\\\"token keyword\\\">sizeof</span><span class=\\\"token punctuation\\\">(</span>line<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">)</span> <span class=\\\"token operator\\\">>=</span> <span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">)</span>\\n <span class=\\\"token punctuation\\\">{</span>\\n <span class=\\\"token comment\\\">// trace</span>\\n <span class=\\\"token function\\\">tb_trace_i</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token string\\\">"line: %s"</span><span class=\\\"token punctuation\\\">,</span> line<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n\\n <span class=\\\"token comment\\\">// exit stream</span>\\n <span class=\\\"token function\\\">tb_stream_exit</span><span class=\\\"token punctuation\\\">(</span>stream<span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token punctuation\\\">}</span>\\n\\n <span class=\\\"token comment\\\">// wait </span>\\n <span class=\\\"token function\\\">getchar</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n\\n <span class=\\\"token comment\\\">// exit tbox</span>\\n <span class=\\\"token function\\\">tb_exit</span><span class=\\\"token punctuation\\\">(</span><span class=\\\"token punctuation\\\">)</span><span class=\\\"token punctuation\\\">;</span>\\n <span class=\\\"token keyword\\\">return</span> <span class=\\\"token number\\\">0</span><span class=\\\"token punctuation\\\">;</span>\\n<span class=\\\"token punctuation\\\">}</span>\\n</code></pre></div>\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/d4819899ddf5b21506c9a577e2ae7b0c.json b/node_modules/vuepress/node_modules/.cache/vuepress/d4819899ddf5b21506c9a577e2ae7b0c.json new file mode 100644 index 00000000..70a1ca9c --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/d4819899ddf5b21506c9a577e2ae7b0c.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue?vue&type=template&id=ba85aa8c&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dropdown-wrapper\",class:{ open: _vm.open }},[_c('a',{staticClass:\"dropdown-title\",on:{\"click\":_vm.toggle}},[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.item.text))]),_vm._v(\" \"),_c('span',{staticClass:\"arrow\",class:_vm.open ? 'down' : 'right'})]),_vm._v(\" \"),_c('DropdownTransition',[_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.open),expression:\"open\"}],staticClass:\"nav-dropdown\"},_vm._l((_vm.item.items),function(subItem,index){return _c('li',{key:subItem.link || index,staticClass:\"dropdown-item\"},[(subItem.type === 'links')?_c('h4',[_vm._v(_vm._s(subItem.text))]):_vm._e(),_vm._v(\" \"),(subItem.type === 'links')?_c('ul',{staticClass:\"dropdown-subitem-wrapper\"},_vm._l((subItem.items),function(childSubItem){return _c('li',{key:childSubItem.link,staticClass:\"dropdown-subitem\"},[_c('NavLink',{attrs:{\"item\":childSubItem}})],1)})):_c('NavLink',{attrs:{\"item\":subItem}})],1)}))])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/d62fe56f97c9c318ffaae27fee41b2a2.json b/node_modules/vuepress/node_modules/.cache/vuepress/d62fe56f97c9c318ffaae27fee41b2a2.json new file mode 100644 index 00000000..4aed08c9 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/d62fe56f97c9c318ffaae27fee41b2a2.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/es6.array.some\";\nimport { isActive, hashRE, groupHeaders } from './util';\nexport default {\n functional: true,\n props: ['item'],\n render: function render(h, _ref) {\n var _ref$parent = _ref.parent,\n $page = _ref$parent.$page,\n $site = _ref$parent.$site,\n $route = _ref$parent.$route,\n item = _ref.props.item;\n // use custom active class matching logic\n // due to edge case of paths ending with / + hash\n var selfActive = isActive($route, item.path); // for sidebar: auto pages, a hash link should be active if one of its child\n // matches\n\n var active = item.type === 'auto' ? selfActive || item.children.some(function (c) {\n return isActive($route, item.basePath + '#' + c.slug);\n }) : selfActive;\n var link = renderLink(h, item.path, item.title || item.path, active);\n var configDepth = $page.frontmatter.sidebarDepth != null ? $page.frontmatter.sidebarDepth : $site.themeConfig.sidebarDepth;\n var maxDepth = configDepth == null ? 1 : configDepth;\n var displayAllHeaders = !!$site.themeConfig.displayAllHeaders;\n\n if (item.type === 'auto') {\n return [link, renderChildren(h, item.children, item.basePath, $route, maxDepth)];\n } else if ((active || displayAllHeaders) && item.headers && !hashRE.test(item.path)) {\n var children = groupHeaders(item.headers);\n return [link, renderChildren(h, children, item.path, $route, maxDepth)];\n } else {\n return link;\n }\n }\n};\n\nfunction renderLink(h, to, text, active) {\n return h('router-link', {\n props: {\n to: to,\n activeClass: '',\n exactActiveClass: ''\n },\n class: {\n active: active,\n 'sidebar-link': true\n }\n }, text);\n}\n\nfunction renderChildren(h, children, path, route, maxDepth) {\n var depth = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1;\n if (!children || depth > maxDepth) return null;\n return h('ul', {\n class: 'sidebar-sub-headers'\n }, children.map(function (c) {\n var active = isActive(route, path + '#' + c.slug);\n return h('li', {\n class: 'sidebar-sub-header'\n }, [renderLink(h, path + '#' + c.slug, c.title, active), renderChildren(h, c.children, path, route, maxDepth, depth + 1)]);\n }));\n}",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/d64e6be4e4e0b8d8995222b485123c84.json b/node_modules/vuepress/node_modules/.cache/vuepress/d64e6be4e4e0b8d8995222b485123c84.json new file mode 100644 index 00000000..76e04487 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/d64e6be4e4e0b8d8995222b485123c84.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/manual/index.md?vue&type=template&id=3b83be08&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/manual/index.md","mtime":1541492172602},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm._m(0)\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _c(\"h1\", { attrs: { id: \"手册\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#手册\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 手册\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"[TODO]\")])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/d66738c94366124d04e375710aed4326.json b/node_modules/vuepress/node_modules/.cache/vuepress/d66738c94366124d04e375710aed4326.json new file mode 100644 index 00000000..8e9d9bcf --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/d66738c94366124d04e375710aed4326.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import _typeof from \"/Users/ruki/projects/personal/xmake-docs/node_modules/@babel/runtime/helpers/builtin/es6/typeof\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nexport default {\n props: {\n updateEvent: {\n type: Object,\n default: null\n }\n },\n computed: {\n popupConfig: function popupConfig() {\n var _arr = [this.$themeLocaleConfig, this.$site.themeConfig];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var config = _arr[_i];\n var sw = config.serviceWorker;\n\n if (sw && sw.updatePopup) {\n return _typeof(sw.updatePopup) === 'object' ? sw.updatePopup : {};\n }\n }\n\n return null;\n },\n enabled: function enabled() {\n return Boolean(this.popupConfig && this.updateEvent);\n },\n message: function message() {\n var c = this.popupConfig;\n return c && c.message || 'New content is available.';\n },\n buttonText: function buttonText() {\n var c = this.popupConfig;\n return c && c.buttonText || 'Refresh';\n }\n },\n methods: {\n reload: function reload() {\n if (this.updateEvent) {\n this.updateEvent.skipWaiting().then(function () {\n location.reload(true);\n });\n this.updateEvent = null;\n }\n }\n }\n};",{"version":3,"sources":["SWUpdatePopup.vue"],"names":[],"mappings":";;;;;;;;;;;;;AAaA,eAAA;AACA,SAAA;AACA,iBAAA;AACA,YAAA,MADA;AAEA,eAAA;AAFA;AADA,GADA;AAQA,YAAA;AACA,eADA,yBACA;AAAA,iBACA,CAAA,KAAA,kBAAA,EAAA,KAAA,KAAA,CAAA,WAAA,CADA;;AACA,+CAAA;AAAA,YAAA,iBAAA;AACA,YAAA,KAAA,OAAA,aAAA;;AACA,YAAA,MAAA,GAAA,WAAA,EAAA;AACA,iBAAA,QAAA,GAAA,WAAA,MAAA,QAAA,GAAA,GAAA,WAAA,GAAA,EAAA;AACA;AACA;;AACA,aAAA,IAAA;AACA,KATA;AAWA,WAXA,qBAWA;AACA,aAAA,QAAA,KAAA,WAAA,IAAA,KAAA,WAAA,CAAA;AACA,KAbA;AAeA,WAfA,qBAeA;AACA,UAAA,IAAA,KAAA,WAAA;AACA,aAAA,KAAA,EAAA,OAAA,IAAA,2BAAA;AACA,KAlBA;AAoBA,cApBA,wBAoBA;AACA,UAAA,IAAA,KAAA,WAAA;AACA,aAAA,KAAA,EAAA,UAAA,IAAA,SAAA;AACA;AAvBA,GARA;AAkCA,WAAA;AACA,UADA,oBACA;AACA,UAAA,KAAA,WAAA,EAAA;AACA,aAAA,WAAA,CAAA,WAAA,GAAA,IAAA,CAAA,YAAA;AACA,mBAAA,MAAA,CAAA,IAAA;AACA,SAFA;AAGA,aAAA,WAAA,GAAA,IAAA;AACA;AACA;AARA;AAlCA,CAAA","sourcesContent":["<template>\n <transition name=\"sw-update-popup\">\n <div\n v-if=\"enabled\"\n class=\"sw-update-popup\"\n >\n {{message}}<br>\n <button @click=\"reload\">{{buttonText}}</button>\n </div>\n </transition>\n</template>\n\n<script>\nexport default {\n props: {\n updateEvent: {\n type: Object,\n default: null\n }\n },\n\n computed: {\n popupConfig () {\n for (const config of [this.$themeLocaleConfig, this.$site.themeConfig]) {\n const sw = config.serviceWorker\n if (sw && sw.updatePopup) {\n return typeof sw.updatePopup === 'object' ? sw.updatePopup : {}\n }\n }\n return null\n },\n\n enabled () {\n return Boolean(this.popupConfig && this.updateEvent)\n },\n\n message () {\n const c = this.popupConfig\n return (c && c.message) || 'New content is available.'\n },\n\n buttonText () {\n const c = this.popupConfig\n return (c && c.buttonText) || 'Refresh'\n }\n },\n\n methods: {\n reload () {\n if (this.updateEvent) {\n this.updateEvent.skipWaiting().then(() => {\n location.reload(true)\n })\n this.updateEvent = null\n }\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.sw-update-popup\n position fixed\n right 1em\n bottom 1em\n padding 1em\n border 1px solid $accentColor\n border-radius 3px\n background #fff\n box-shadow 0 4px 16px rgba(0, 0, 0, 0.5)\n text-align center\n\n button\n margin-top 0.5em\n padding 0.25em 2em\n\n.sw-update-popup-enter-active, .sw-update-popup-leave-active\n transition opacity 0.3s, transform 0.3s\n\n.sw-update-popup-enter, .sw-update-popup-leave-to\n opacity 0\n transform translate(0, 50%) scale(0.5)\n</style>\n"],"sourceRoot":"node_modules/vuepress/lib/default-theme"}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/d73622b09a440e2cf5d9c1d1c4ffb1bb.json b/node_modules/vuepress/node_modules/.cache/vuepress/d73622b09a440e2cf5d9c1d1c4ffb1bb.json new file mode 100644 index 00000000..cbc1da0c --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/d73622b09a440e2cf5d9c1d1c4ffb1bb.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Page.vue","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Page.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./Page.vue?vue&type=template&id=17e966b4&\"\nimport script from \"./Page.vue?vue&type=script&lang=js&\"\nexport * from \"./Page.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Page.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('17e966b4', component.options)\n } else {\n api.reload('17e966b4', component.options)\n }\n module.hot.accept(\"./Page.vue?vue&type=template&id=17e966b4&\", function () {\n api.rerender('17e966b4', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/default-theme/Page.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/d73978852e3711d082126c9682372334.json b/node_modules/vuepress/node_modules/.cache/vuepress/d73978852e3711d082126c9682372334.json new file mode 100644 index 00000000..01a74fa5 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/d73978852e3711d082126c9682372334.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.dropdown-enter, .dropdown-leave-to\n height 0 !important\n\n",{"version":3,"sources":["DropdownTransition.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA;AACA","file":"DropdownTransition.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <transition\n name=\"dropdown\"\n @enter=\"setHeight\"\n @after-enter=\"unsetHeight\"\n @before-leave=\"setHeight\"\n >\n <slot/>\n </transition>\n</template>\n\n<script>\nexport default {\n name: 'DropdownTransition',\n\n methods: {\n setHeight (items) {\n // explicitly set height so that it can be transitioned\n items.style.height = items.scrollHeight + 'px'\n },\n\n unsetHeight (items) {\n items.style.height = ''\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n.dropdown-enter, .dropdown-leave-to\n height 0 !important\n\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/d76a46afc309e5336c11749f09cde149.json b/node_modules/vuepress/node_modules/.cache/vuepress/d76a46afc309e5336c11749f09cde149.json new file mode 100644 index 00000000..7e6b3f5a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/d76a46afc309e5336c11749f09cde149.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/README.md?vue&type=template&id=48a1fb61&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/README.md","mtime":1541513043653},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><!--beforebegin--><div class=\"language-c extra-class\"><!--afterbegin--><pre v-pre class=\"language-c\"><code><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">\"tbox/tbox.h\"</span></span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> argc<span class=\"token punctuation\">,</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span> argv<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// init tbox</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">tb_init</span><span class=\"token punctuation\">(</span>tb_null<span class=\"token punctuation\">,</span> tb_null<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// init vector</span>\n tb_vector_ref_t vector <span class=\"token operator\">=</span> <span class=\"token function\">tb_vector_init</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">tb_element_cstr</span><span class=\"token punctuation\">(</span>tb_true<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// insert item</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// dump all items</span>\n tb_for_all <span class=\"token punctuation\">(</span>tb_char_t <span class=\"token keyword\">const</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">,</span> vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%s\"</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit vector</span>\n <span class=\"token function\">tb_vector_exit</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit tbox</span>\n <span class=\"token function\">tb_exit</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/d8b53c8d5e06a53fc24f7f8360ea47e8.json b/node_modules/vuepress/node_modules/.cache/vuepress/d8b53c8d5e06a53fc24f7f8360ea47e8.json new file mode 100644 index 00000000..c9c230c2 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/d8b53c8d5e06a53fc24f7f8360ea47e8.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexport default {\n name: 'DropdownTransition',\n\n methods: {\n setHeight (items) {\n // explicitly set height so that it can be transitioned\n items.style.height = items.scrollHeight + 'px'\n },\n\n unsetHeight (items) {\n items.style.height = ''\n }\n }\n}\n",{"version":3,"sources":["DropdownTransition.vue"],"names":[],"mappings":";;;;;;;;;;;;AAYA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA","file":"DropdownTransition.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <transition\n name=\"dropdown\"\n @enter=\"setHeight\"\n @after-enter=\"unsetHeight\"\n @before-leave=\"setHeight\"\n >\n <slot/>\n </transition>\n</template>\n\n<script>\nexport default {\n name: 'DropdownTransition',\n\n methods: {\n setHeight (items) {\n // explicitly set height so that it can be transitioned\n items.style.height = items.scrollHeight + 'px'\n },\n\n unsetHeight (items) {\n items.style.height = ''\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n.dropdown-enter, .dropdown-leave-to\n height 0 !important\n\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/d8b8125a26d55c0244c0c474e2ab53ce.json b/node_modules/vuepress/node_modules/.cache/vuepress/d8b8125a26d55c0244c0c474e2ab53ce.json new file mode 100644 index 00000000..97093177 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/d8b8125a26d55c0244c0c474e2ab53ce.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\nimport { isActive, hashRE, groupHeaders } from './util'\n\nexport default {\n functional: true,\n\n props: ['item'],\n\n render (h, { parent: { $page, $site, $route }, props: { item }}) {\n // use custom active class matching logic\n // due to edge case of paths ending with / + hash\n const selfActive = isActive($route, item.path)\n // for sidebar: auto pages, a hash link should be active if one of its child\n // matches\n const active = item.type === 'auto'\n ? selfActive || item.children.some(c => isActive($route, item.basePath + '#' + c.slug))\n : selfActive\n const link = renderLink(h, item.path, item.title || item.path, active)\n const configDepth = $page.frontmatter.sidebarDepth != null\n ? $page.frontmatter.sidebarDepth\n : $site.themeConfig.sidebarDepth\n const maxDepth = configDepth == null ? 1 : configDepth\n const displayAllHeaders = !!$site.themeConfig.displayAllHeaders\n if (item.type === 'auto') {\n return [link, renderChildren(h, item.children, item.basePath, $route, maxDepth)]\n } else if ((active || displayAllHeaders) && item.headers && !hashRE.test(item.path)) {\n const children = groupHeaders(item.headers)\n return [link, renderChildren(h, children, item.path, $route, maxDepth)]\n } else {\n return link\n }\n }\n}\n\nfunction renderLink (h, to, text, active) {\n return h('router-link', {\n props: {\n to,\n activeClass: '',\n exactActiveClass: ''\n },\n class: {\n active,\n 'sidebar-link': true\n }\n }, text)\n}\n\nfunction renderChildren (h, children, path, route, maxDepth, depth = 1) {\n if (!children || depth > maxDepth) return null\n return h('ul', { class: 'sidebar-sub-headers' }, children.map(c => {\n const active = isActive(route, path + '#' + c.slug)\n return h('li', { class: 'sidebar-sub-header' }, [\n renderLink(h, path + '#' + c.slug, c.title, active),\n renderChildren(h, c.children, path, route, maxDepth, depth + 1)\n ])\n }))\n}\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/d91b270e8451789deba25779ad2d523e.json b/node_modules/vuepress/node_modules/.cache/vuepress/d91b270e8451789deba25779ad2d523e.json new file mode 100644 index 00000000..9a407afc --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/d91b270e8451789deba25779ad2d523e.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/guide/introduction.md?vue&type=template&id=b5b1b492&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/guide/introduction.md","mtime":1541555923022},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"TBOX is a glib-like cross-platform C library that is simple to use yet powerful in nature.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"The project focuses on making C development easier and provides many modules (.e.g stream, coroutine, regex, container, algorithm ...),\\nso that any developer can quickly pick it up and enjoy the productivity boost when developing in C language.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"It supports the following platforms:\")]),\n _vm._v(\" \"),\n _vm._m(1),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"And it provides many compiling options using \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.xmake.io\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\":\")\n ]),\n _vm._v(\" \"),\n _vm._m(2),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"If you want to know more, please refer to:\")]),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://tboox.org\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"HomePage\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/tbox/wiki/documents\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Documents\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/tbox\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Github\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://gitee.com/tboox/tbox\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Gitee\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm._m(3),\n _vm._v(\" \"),\n _vm._m(4),\n _vm._v(\" \"),\n _vm._m(5),\n _vm._v(\" \"),\n _vm._m(6),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"Provides high-performance coroutine switch(refer to \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://tboox.org/2016/10/28/benchbox-coroutine/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"reports\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\")\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports arm, arm64, x86, x86_64 ..\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Provides channel interfaces\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Provides semaphore and lock interfaces\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Supports io socket and stream operation in coroutine\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Provides some io servers (http ..) using coroutine\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Provides stackfull and stackless coroutines\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Support epoll, kqueue, poll, select and IOCP\")])\n ]),\n _vm._v(\" \"),\n _vm._m(7),\n _vm._v(\" \"),\n _vm._m(8),\n _vm._v(\" \"),\n _vm._m(9),\n _vm._v(\" \"),\n _vm._m(10),\n _vm._v(\" \"),\n _vm._m(11),\n _vm._v(\" \"),\n _vm._m(12),\n _vm._v(\" \"),\n _vm._m(13),\n _vm._v(\" \"),\n _vm._m(14),\n _vm._v(\" \"),\n _vm._m(15),\n _vm._v(\" \"),\n _vm._m(16),\n _vm._v(\" \"),\n _vm._m(17),\n _vm._v(\" \"),\n _vm._m(18),\n _vm._v(\" \"),\n _vm._m(19),\n _vm._v(\" \"),\n _vm._m(20),\n _vm._v(\" \"),\n _vm._m(21),\n _vm._v(\" \"),\n _vm._m(22),\n _vm._v(\" \"),\n _vm._m(23),\n _vm._v(\" \"),\n _vm._m(24),\n _vm._v(\" \"),\n _vm._m(25),\n _vm._v(\" \"),\n _vm._m(26),\n _vm._v(\" \"),\n _vm._m(27),\n _vm._v(\" \"),\n _vm._m(28),\n _vm._v(\" \"),\n _vm._m(29),\n _vm._v(\" \"),\n _vm._m(30),\n _vm._v(\" \"),\n _vm._m(31),\n _vm._v(\" \"),\n _vm._m(32),\n _vm._v(\" \"),\n _vm._m(33),\n _vm._v(\" \"),\n _vm._m(34),\n _vm._v(\" \"),\n _vm._m(35),\n _vm._v(\" \"),\n _vm._m(36),\n _vm._v(\" \"),\n _vm._m(37),\n _vm._v(\" \"),\n _vm._m(38),\n _vm._v(\" \"),\n _vm._m(39),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Some projects using tbox:\")]),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/gbox\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"gbox\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/vm86\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"vm86\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.xmake.io\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/itrace\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"itrace\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/tbox/wiki/tbox-projects\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"more\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm._m(40),\n _vm._v(\" \"),\n _c(\"ul\", [\n _vm._m(41),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Homepage:\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.tboox.org\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"tboox.org\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Community:\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://www.reddit.com/r/tboox/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"/r/tboox on reddit\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ])\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h1\", { attrs: { id: \"introduction\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#introduction\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Introduction\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Windows\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Macosx\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Linux\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Android\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"iOS\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Release: Disable debug information, assertion, memory checking and enable optimization.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Debug: Enable debug information, assertion, memory checking and disable optimization.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Small: Disable all extensional modules and enable space optimization.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Micro: compiling micro library (~64K) for the embed system.\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"features\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#features\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Features\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-stream-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-stream-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The stream library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Supports file, data, http and socket source\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports the stream filter for gzip, charset and...\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements stream transfer\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements the static buffer stream for parsing data\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Supports coroutine and implements asynchronous operation\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-coroutine-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-coroutine-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The coroutine library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-database-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-database-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The database library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Supports mysql and sqlite3 database and enumerates data using the iterator mode\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-xml-parser-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-xml-parser-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The xml parser library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Supports DOM and SAX mode and Supports xpath\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"h4\",\n { attrs: { id: \"the-serialization-and-deserialization-library\" } },\n [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: {\n href: \"#the-serialization-and-deserialization-library\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The serialization and deserialization library\")\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Supports xml, json, bplist, xplist, binary formats\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-memory-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-memory-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The memory library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Implements some memory pools for optimizing memory\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Supports fast memory error detecting. it can detect the following types of bugs for the debug mode:\\n\"\n ),\n _c(\"ul\", [\n _c(\"li\", [_vm._v(\"out-of-bounds accesses to heap and globals\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"use-after-free\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"double-free, invalid free\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"memory leaks\")])\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-container-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-container-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The container library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Implements hash table, single list, double list, vector, stack, queue\\nand min/max heap. Supports iterator mode for algorithm\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-algorithm-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-algorithm-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The algorithm library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Uses the iterator mode\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements find, binary find and reverse find algorithm\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Implements sort, bubble sort, quick sort, heap sort and insert sort algorithm\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Implements count, walk items, reverse walk items, for_all and rfor_all\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-network-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-network-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The network library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Implements dns(cached)\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements ssl(openssl, polarssl, mbedtls)\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements http\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements cookies\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports ipv4, ipv6\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports coroutine\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-platform-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-platform-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The platform library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Implements timer, fast and low precision timer\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements atomic and atomic64 operation\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Implements spinlock, mutex, event, semaphore, thread and thread pool\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements file, socket operation\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements poller using epoll, poll, select, kqueue ...\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements switch context interfaces for coroutine\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-charset-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-charset-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The charset library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Supports utf8, utf16, gbk, gb2312, uc2 and uc4\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports big endian and little endian mode\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-zip-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-zip-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The zip library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Supports gzip, zlibraw, zlib formats using the zlib library if exists\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements lzsw, lz77 and rlc algorithm\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-utils-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-utils-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The utils library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Implements base32, base64 encoder and decoder\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements assert and trace output for the debug mode\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements bits operation for parsing u8, u16, u32, u64 data\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-math-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-math-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The math library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Implements random generator\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Implements fast fixed-point calculation, Supports 6-bits, 16-bits, 30-bits fixed-point number\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-libc-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-libc-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The libc library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Implements lightweight libc library interfaces, the interface name contains \"\n ),\n _c(\"code\", [_vm._v(\"tb_xxx\")]),\n _vm._v(\" prefix for avoiding conflict\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements strixxx strrxxx wcsixxx wcsrxxx interface extension\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Optimizes some frequently-used interface, .e.g. memset, memcpy, strcpy ...\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements \"),\n _c(\"code\", [_vm._v(\"memset_u16\")]),\n _vm._v(\", \"),\n _c(\"code\", [_vm._v(\"memset_u32\")]),\n _vm._v(\", \"),\n _c(\"code\", [_vm._v(\"memset_u64\")]),\n _vm._v(\" extension interfaces\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-libm-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-libm-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The libm library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Implements lightweight libm library interfaces, the interface name contains \"\n ),\n _c(\"code\", [_vm._v(\"tb_xxx\")]),\n _vm._v(\" prefix for avoiding conflict\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports float and double type\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-regex-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-regex-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The regex library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Supports match and replace\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports global/multiline/caseless mode\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Uses pcre, pcre2 and posix regex modules\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-hash-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-hash-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The hash library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"Implements crc32, adler32, md5 and sha1 hash algorithm\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Implements some string hash algorithms (.e.g bkdr, fnv32, fnv64, sdbm, djb2, rshash, aphash ...)\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements uuid generator\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"projects\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#projects\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Projects\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"contacts\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#contacts\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Contacts\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"li\", [\n _vm._v(\"Email:\"),\n _c(\"a\", { attrs: { href: \"mailto:waruqi@gmail.com\" } }, [\n _vm._v(\"waruqi@gmail.com\")\n ])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/d945f2c81025767c3e61ae4aacc7786b.json b/node_modules/vuepress/node_modules/.cache/vuepress/d945f2c81025767c3e61ae4aacc7786b.json new file mode 100644 index 00000000..6d9e5baf --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/d945f2c81025767c3e61ae4aacc7786b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/README.md?vue&type=template&id=7be40604&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/README.md","mtime":1541492016048},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><!--beforebegin--><div class=\"language-c extra-class\"><!--afterbegin--><pre v-pre class=\"language-c\"><code><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">\"tbox/tbox.h\"</span></span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> argc<span class=\"token punctuation\">,</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span> argv<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// init tbox</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">tb_init</span><span class=\"token punctuation\">(</span>tb_null<span class=\"token punctuation\">,</span> tb_null<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// init vector</span>\n tb_vector_ref_t vector <span class=\"token operator\">=</span> <span class=\"token function\">tb_vector_init</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">tb_element_cstr</span><span class=\"token punctuation\">(</span>tb_true<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// insert item</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// dump all items</span>\n tb_for_all <span class=\"token punctuation\">(</span>tb_char_t <span class=\"token keyword\">const</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">,</span> vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%s\"</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit vector</span>\n <span class=\"token function\">tb_vector_exit</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/d9b3332a228993fc8e725a8b60ab2085.json b/node_modules/vuepress/node_modules/.cache/vuepress/d9b3332a228993fc8e725a8b60ab2085.json new file mode 100644 index 00000000..28808ec0 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/d9b3332a228993fc8e725a8b60ab2085.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/README.md?vue&type=template&id=8a4bbf68&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/README.md","mtime":1541488927605},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/d9d05653a17856aa95253a4dbd27faf9.json b/node_modules/vuepress/node_modules/.cache/vuepress/d9d05653a17856aa95253a4dbd27faf9.json new file mode 100644 index 00000000..14410f06 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/d9d05653a17856aa95253a4dbd27faf9.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/zh/guide/sponsors.md?vue&type=template&id=3db465ce&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/zh/guide/sponsors.md","mtime":1541582153336},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/d9dd92c61f68be919da8e2c44f96beab.json b/node_modules/vuepress/node_modules/.cache/vuepress/d9dd92c61f68be919da8e2c44f96beab.json new file mode 100644 index 00000000..4a095351 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/d9dd92c61f68be919da8e2c44f96beab.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./SidebarButton.vue?vue&type=template&id=bd900d28&\"\nvar script = {}\nfunction injectStyles (context) {\n \n var style0 = require(\"./SidebarButton.vue?vue&type=style&index=0&lang=stylus&\")\nif (style0.__inject__) style0.__inject__(context)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n \"2d0aeee5\"\n \n)\n\ncomponent.options.__file = \"SidebarButton.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/d9e10456bc88cd96f762da29ceba11ad.json b/node_modules/vuepress/node_modules/.cache/vuepress/d9e10456bc88cd96f762da29ceba11ad.json new file mode 100644 index 00000000..612f4991 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/d9e10456bc88cd96f762da29ceba11ad.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SWUpdatePopup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.sw-update-popup\n position fixed\n right 1em\n bottom 1em\n padding 1em\n border 1px solid $accentColor\n border-radius 3px\n background #fff\n box-shadow 0 4px 16px rgba(0, 0, 0, 0.5)\n text-align center\n\n button\n margin-top 0.5em\n padding 0.25em 2em\n\n.sw-update-popup-enter-active, .sw-update-popup-leave-active\n transition opacity 0.3s, transform 0.3s\n\n.sw-update-popup-enter, .sw-update-popup-leave-to\n opacity 0\n transform translate(0, 50%) scale(0.5)\n",{"version":3,"sources":["SWUpdatePopup.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6DA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA","file":"SWUpdatePopup.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <transition name=\"sw-update-popup\">\n <div\n v-if=\"enabled\"\n class=\"sw-update-popup\"\n >\n {{message}}<br>\n <button @click=\"reload\">{{buttonText}}</button>\n </div>\n </transition>\n</template>\n\n<script>\nexport default {\n props: {\n updateEvent: {\n type: Object,\n default: null\n }\n },\n\n computed: {\n popupConfig () {\n for (const config of [this.$themeLocaleConfig, this.$site.themeConfig]) {\n const sw = config.serviceWorker\n if (sw && sw.updatePopup) {\n return typeof sw.updatePopup === 'object' ? sw.updatePopup : {}\n }\n }\n return null\n },\n\n enabled () {\n return Boolean(this.popupConfig && this.updateEvent)\n },\n\n message () {\n const c = this.popupConfig\n return (c && c.message) || 'New content is available.'\n },\n\n buttonText () {\n const c = this.popupConfig\n return (c && c.buttonText) || 'Refresh'\n }\n },\n\n methods: {\n reload () {\n if (this.updateEvent) {\n this.updateEvent.skipWaiting().then(() => {\n location.reload(true)\n })\n this.updateEvent = null\n }\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.sw-update-popup\n position fixed\n right 1em\n bottom 1em\n padding 1em\n border 1px solid $accentColor\n border-radius 3px\n background #fff\n box-shadow 0 4px 16px rgba(0, 0, 0, 0.5)\n text-align center\n\n button\n margin-top 0.5em\n padding 0.25em 2em\n\n.sw-update-popup-enter-active, .sw-update-popup-leave-active\n transition opacity 0.3s, transform 0.3s\n\n.sw-update-popup-enter, .sw-update-popup-leave-to\n opacity 0\n transform translate(0, 50%) scale(0.5)\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/da5f104b0763e9eec631665e7e4139b2.json b/node_modules/vuepress/node_modules/.cache/vuepress/da5f104b0763e9eec631665e7e4139b2.json new file mode 100644 index 00000000..b5d37f11 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/da5f104b0763e9eec631665e7e4139b2.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/Badge.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/Badge.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\nexport default {\n functional: true,\n props: {\n type: {\n type: String,\n default: 'tip'\n },\n text: String,\n vertical: {\n type: String,\n default: 'top'\n }\n },\n render (h, { props, slots }) {\n return h('span', {\n class: ['badge', props.type, props.vertical]\n }, props.text || slots().default)\n }\n}\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/da64d2f8d43c8cdd011fa90b4f439735.json b/node_modules/vuepress/node_modules/.cache/vuepress/da64d2f8d43c8cdd011fa90b4f439735.json new file mode 100644 index 00000000..0a4c79a7 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/da64d2f8d43c8cdd011fa90b4f439735.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/getting-started.md?vue&type=template&id=09de92a0&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/getting-started.md","mtime":1541488106036},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"getting-started\"><a class=\"header-anchor\" href=\"#getting-started\" aria-hidden=\"true\">#</a> Getting Started</h1>\n<p>Please install xmake first: <a href=\"https://github.com/tboox/xmake\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></p>\n<!--beforebegin--><div class=\"language-console extra-class\"><!--afterbegin--><pre v-pre class=\"language-text\"><code># build for the host platform\n$ cd ./tbox\n$ xmake\n\n# build for the mingw platform\n$ cd ./tbox\n$ xmake f -p mingw --sdk=/home/mingwsdk \n$ xmake\n\n# build for the iphoneos platform\n$ cd ./tbox\n$ xmake f -p iphoneos \n$ xmake\n\n# build for the android platform\n$ cd ./tbox\n$ xmake f -p android --ndk=xxxxx\n$ xmake\n\n# build for the linux cross-platform\n$ cd ./tbox\n$ xmake f -p linux --sdk=/home/sdk # --bin=/home/sdk/bin\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"example\"><a class=\"header-anchor\" href=\"#example\" aria-hidden=\"true\">#</a> Example</h2>\n<!--beforebegin--><div class=\"language-c extra-class\"><!--afterbegin--><pre v-pre class=\"language-c\"><code><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">\"tbox/tbox.h\"</span></span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> argc<span class=\"token punctuation\">,</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span> argv<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// init tbox</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">tb_init</span><span class=\"token punctuation\">(</span>tb_null<span class=\"token punctuation\">,</span> tb_null<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"hello tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// init vector</span>\n tb_vector_ref_t vector <span class=\"token operator\">=</span> <span class=\"token function\">tb_vector_init</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">tb_element_cstr</span><span class=\"token punctuation\">(</span>tb_true<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// insert item</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// dump all items</span>\n tb_for_all <span class=\"token punctuation\">(</span>tb_char_t <span class=\"token keyword\">const</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">,</span> vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%s\"</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit vector</span>\n <span class=\"token function\">tb_vector_exit</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// init stream</span>\n tb_stream_ref_t stream <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_init_from_url</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"http://www.xxx.com/file.txt\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// open stream</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token function\">tb_stream_open</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// read line</span>\n tb_long_t size <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n tb_char_t line<span class=\"token punctuation\">[</span>TB_STREAM_BLOCK_MAXN<span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">while</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>size <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_bread_line</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">,</span> <span class=\"token keyword\">sizeof</span><span class=\"token punctuation\">(</span>line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">>=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"line: %s\"</span><span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit stream</span>\n <span class=\"token function\">tb_stream_exit</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// wait </span>\n <span class=\"token function\">getchar</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// exit tbox</span>\n <span class=\"token function\">tb_exit</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/dab40dcef7c4af8805510071d926bd46.json b/node_modules/vuepress/node_modules/.cache/vuepress/dab40dcef7c4af8805510071d926bd46.json new file mode 100644 index 00000000..a8b0b774 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/dab40dcef7c4af8805510071d926bd46.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/README.md?vue&type=template&id=271aadf1&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/README.md","mtime":1541486439372},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/dacc91a2742f3811553dc069ecda1366.json b/node_modules/vuepress/node_modules/.cache/vuepress/dacc91a2742f3811553dc069ecda1366.json new file mode 100644 index 00000000..fe7b303d --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/dacc91a2742f3811553dc069ecda1366.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NotFound.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NotFound.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nconst msgs = [\n `There's nothing here.`,\n `How did we get here?`,\n `That's a Four-Oh-Four.`,\n `Looks like we've got some broken links.`\n]\n\nexport default {\n methods: {\n getMsg () {\n return msgs[Math.floor(Math.random() * msgs.length)]\n }\n }\n}\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/db40069fd3e7fc1704f226484fd4769f.json b/node_modules/vuepress/node_modules/.cache/vuepress/db40069fd3e7fc1704f226484fd4769f.json new file mode 100644 index 00000000..704461f9 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/db40069fd3e7fc1704f226484fd4769f.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/README.md?vue&type=template&id=1a7dd7a6&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/README.md","mtime":1534123204890},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><div align=\"center\">\n <h1>tbox</h1>\n <div>\n <a href=\"https://travis-ci.org/tboox/tbox\">\n <img src=\"https://img.shields.io/travis/tboox/tbox/master.svg?style=flat-square\" alt=\"travis-ci\" />\n </a>\n <a href=\"https://ci.appveyor.com/project/waruqi/tbox/branch/master\">\n <img src=\"https://img.shields.io/appveyor/ci/waruqi/tbox/master.svg?style=flat-square\" alt=\"appveyor-ci\" />\n </a>\n <a href=\"https://codecov.io/gh/tboox/tbox\">\n <img src=\"https://img.shields.io/codecov/c/github/tboox/tbox/master.svg?style=flat-square\" alt=\"Coverage\" />\n </a>\n <a href=\"https://github.com/tboox/tbox/releases\">\n <img src=\"https://img.shields.io/github/release/tboox/tbox.svg?style=flat-square\" alt=\"Github All Releases\" />\n </a>\n </div>\n <div>\n <a href=\"https://github.com/tboox/tbox/blob/master/LICENSE.md\">\n <img src=\"https://img.shields.io/github/license/tboox/tbox.svg?colorB=f48041&style=flat-square\" alt=\"license\" />\n </a>\n <a href=\"https://www.reddit.com/r/tboox/\">\n <img src=\"https://img.shields.io/badge/chat-on%20reddit-ff3f34.svg?style=flat-square\" alt=\"Reddit\" />\n </a>\n <a href=\"https://gitter.im/tboox/tboox?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\">\n <img src=\"https://img.shields.io/gitter/room/tboox/tboox.svg?style=flat-square&colorB=96c312\" alt=\"Gitter\" />\n </a>\n <a href=\"https://t.me/tbooxorg\">\n <img src=\"https://img.shields.io/badge/chat-on%20telegram-blue.svg?style=flat-square\" alt=\"Telegram\" />\n </a>\n <a href=\"https://jq.qq.com/?_wv=1027&k=5hpwWFv\">\n <img src=\"https://img.shields.io/badge/chat-on%20QQ-ff69b4.svg?style=flat-square\" alt=\"QQ\" />\n </a>\n <a href=\"http://tboox.org/donation/\">\n <img src=\"https://img.shields.io/badge/donate-us-orange.svg?style=flat-square\" alt=\"Donate\" />\n </a>\n </div>\n <p>A glib-like cross-platform C library</p>\n</div>\n<h2 id=\"introduction-中文\"><a class=\"header-anchor\" href=\"#introduction-中文\" aria-hidden=\"true\">#</a> Introduction (<router-link to=\"/README_zh.html\">中文</router-link>)</h2>\n<p>TBOX is a glib-like cross-platform C library that is simple to use yet powerful in nature.</p>\n<p>The project focuses on making C development easier and provides many modules (.e.g stream, coroutine, regex, container, algorithm ...),\nso that any developer can quickly pick it up and enjoy the productivity boost when developing in C language.</p>\n<p>It supports the following platforms:</p>\n<ul>\n<li>Windows</li>\n<li>Macosx</li>\n<li>Linux</li>\n<li>Android</li>\n<li>iOS</li>\n</ul>\n<p>And it provides many compiling options using <a href=\"http://www.xmake.io\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a>:</p>\n<ul>\n<li>Release: Disable debug information, assertion, memory checking and enable optimization.</li>\n<li>Debug: Enable debug information, assertion, memory checking and disable optimization.</li>\n<li>Small: Disable all extensional modules and enable space optimization.</li>\n<li>Micro: compiling micro library (~64K) for the embed system.</li>\n</ul>\n<p>If you want to know more, please refer to:</p>\n<ul>\n<li><a href=\"http://tboox.org\" target=\"_blank\" rel=\"noopener noreferrer\">HomePage<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/documents\" target=\"_blank\" rel=\"noopener noreferrer\">Documents<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Github<OutboundLink/></a></li>\n<li><a href=\"https://gitee.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Gitee<OutboundLink/></a></li>\n</ul>\n<h2 id=\"features\"><a class=\"header-anchor\" href=\"#features\" aria-hidden=\"true\">#</a> Features</h2>\n<h4 id=\"the-stream-library\"><a class=\"header-anchor\" href=\"#the-stream-library\" aria-hidden=\"true\">#</a> The stream library</h4>\n<ul>\n<li>Supports file, data, http and socket source</li>\n<li>Supports the stream filter for gzip, charset and...</li>\n<li>Implements stream transfer</li>\n<li>Implements the static buffer stream for parsing data</li>\n<li>Supports coroutine and implements asynchronous operation</li>\n</ul>\n<h4 id=\"the-coroutine-library\"><a class=\"header-anchor\" href=\"#the-coroutine-library\" aria-hidden=\"true\">#</a> The coroutine library</h4>\n<ul>\n<li>Provides high-performance coroutine switch(refer to <a href=\"http://tboox.org/2016/10/28/benchbox-coroutine/\" target=\"_blank\" rel=\"noopener noreferrer\">reports<OutboundLink/></a>)</li>\n<li>Supports arm, arm64, x86, x86_64 ..</li>\n<li>Provides channel interfaces</li>\n<li>Provides semaphore and lock interfaces</li>\n<li>Supports io socket and stream operation in coroutine</li>\n<li>Provides some io servers (http ..) using coroutine</li>\n<li>Provides stackfull and stackless coroutines</li>\n<li>Support epoll, kqueue, poll, select and IOCP</li>\n</ul>\n<h4 id=\"the-database-library\"><a class=\"header-anchor\" href=\"#the-database-library\" aria-hidden=\"true\">#</a> The database library</h4>\n<ul>\n<li>Supports mysql and sqlite3 database and enumerates data using the iterator mode</li>\n</ul>\n<h4 id=\"the-xml-parser-library\"><a class=\"header-anchor\" href=\"#the-xml-parser-library\" aria-hidden=\"true\">#</a> The xml parser library</h4>\n<ul>\n<li>Supports DOM and SAX mode and Supports xpath</li>\n</ul>\n<h4 id=\"the-serialization-and-deserialization-library\"><a class=\"header-anchor\" href=\"#the-serialization-and-deserialization-library\" aria-hidden=\"true\">#</a> The serialization and deserialization library</h4>\n<ul>\n<li>Supports xml, json, bplist, xplist, binary formats</li>\n</ul>\n<h4 id=\"the-memory-library\"><a class=\"header-anchor\" href=\"#the-memory-library\" aria-hidden=\"true\">#</a> The memory library</h4>\n<ul>\n<li>Implements some memory pools for optimizing memory</li>\n<li>Supports fast memory error detecting. it can detect the following types of bugs for the debug mode:\n<ul>\n<li>out-of-bounds accesses to heap and globals</li>\n<li>use-after-free</li>\n<li>double-free, invalid free</li>\n<li>memory leaks</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"the-container-library\"><a class=\"header-anchor\" href=\"#the-container-library\" aria-hidden=\"true\">#</a> The container library</h4>\n<ul>\n<li>Implements hash table, single list, double list, vector, stack, queue\nand min/max heap. Supports iterator mode for algorithm</li>\n</ul>\n<h4 id=\"the-algorithm-library\"><a class=\"header-anchor\" href=\"#the-algorithm-library\" aria-hidden=\"true\">#</a> The algorithm library</h4>\n<ul>\n<li>Uses the iterator mode</li>\n<li>Implements find, binary find and reverse find algorithm</li>\n<li>Implements sort, bubble sort, quick sort, heap sort and insert sort algorithm</li>\n<li>Implements count, walk items, reverse walk items, for_all and rfor_all</li>\n</ul>\n<h4 id=\"the-network-library\"><a class=\"header-anchor\" href=\"#the-network-library\" aria-hidden=\"true\">#</a> The network library</h4>\n<ul>\n<li>Implements dns(cached)</li>\n<li>Implements ssl(openssl, polarssl, mbedtls)</li>\n<li>Implements http</li>\n<li>Implements cookies</li>\n<li>Supports ipv4, ipv6</li>\n<li>Supports coroutine</li>\n</ul>\n<h4 id=\"the-platform-library\"><a class=\"header-anchor\" href=\"#the-platform-library\" aria-hidden=\"true\">#</a> The platform library</h4>\n<ul>\n<li>Implements timer, fast and low precision timer</li>\n<li>Implements atomic and atomic64 operation</li>\n<li>Implements spinlock, mutex, event, semaphore, thread and thread pool</li>\n<li>Implements file, socket operation</li>\n<li>Implements poller using epoll, poll, select, kqueue ...</li>\n<li>Implements switch context interfaces for coroutine</li>\n</ul>\n<h4 id=\"the-charset-library\"><a class=\"header-anchor\" href=\"#the-charset-library\" aria-hidden=\"true\">#</a> The charset library</h4>\n<ul>\n<li>Supports utf8, utf16, gbk, gb2312, uc2 and uc4</li>\n<li>Supports big endian and little endian mode</li>\n</ul>\n<h4 id=\"the-zip-library\"><a class=\"header-anchor\" href=\"#the-zip-library\" aria-hidden=\"true\">#</a> The zip library</h4>\n<ul>\n<li>Supports gzip, zlibraw, zlib formats using the zlib library if exists</li>\n<li>Implements lzsw, lz77 and rlc algorithm</li>\n</ul>\n<h4 id=\"the-utils-library\"><a class=\"header-anchor\" href=\"#the-utils-library\" aria-hidden=\"true\">#</a> The utils library</h4>\n<ul>\n<li>Implements base32, base64 encoder and decoder</li>\n<li>Implements assert and trace output for the debug mode</li>\n<li>Implements bits operation for parsing u8, u16, u32, u64 data</li>\n</ul>\n<h4 id=\"the-math-library\"><a class=\"header-anchor\" href=\"#the-math-library\" aria-hidden=\"true\">#</a> The math library</h4>\n<ul>\n<li>Implements random generator</li>\n<li>Implements fast fixed-point calculation, Supports 6-bits, 16-bits, 30-bits fixed-point number</li>\n</ul>\n<h4 id=\"the-libc-library\"><a class=\"header-anchor\" href=\"#the-libc-library\" aria-hidden=\"true\">#</a> The libc library</h4>\n<ul>\n<li>Implements lightweight libc library interfaces, the interface name contains <code>tb_xxx</code> prefix for avoiding conflict</li>\n<li>Implements strixxx strrxxx wcsixxx wcsrxxx interface extension</li>\n<li>Optimizes some frequently-used interface, .e.g. memset, memcpy, strcpy ...</li>\n<li>Implements <code>memset_u16</code>, <code>memset_u32</code>, <code>memset_u64</code> extension interfaces</li>\n</ul>\n<h4 id=\"the-libm-library\"><a class=\"header-anchor\" href=\"#the-libm-library\" aria-hidden=\"true\">#</a> The libm library</h4>\n<ul>\n<li>Implements lightweight libm library interfaces, the interface name contains <code>tb_xxx</code> prefix for avoiding conflict</li>\n<li>Supports float and double type</li>\n</ul>\n<h4 id=\"the-regex-library\"><a class=\"header-anchor\" href=\"#the-regex-library\" aria-hidden=\"true\">#</a> The regex library</h4>\n<ul>\n<li>Supports match and replace</li>\n<li>Supports global/multiline/caseless mode</li>\n<li>Uses pcre, pcre2 and posix regex modules</li>\n</ul>\n<h4 id=\"the-hash-library\"><a class=\"header-anchor\" href=\"#the-hash-library\" aria-hidden=\"true\">#</a> The hash library</h4>\n<ul>\n<li>Implements crc32, adler32, md5 and sha1 hash algorithm</li>\n<li>Implements some string hash algorithms (.e.g bkdr, fnv32, fnv64, sdbm, djb2, rshash, aphash ...)</li>\n<li>Implements uuid generator</li>\n</ul>\n<h2 id=\"projects\"><a class=\"header-anchor\" href=\"#projects\" aria-hidden=\"true\">#</a> Projects</h2>\n<p>Some projects using tbox:</p>\n<ul>\n<li><a href=\"https://github.com/tboox/gbox\" target=\"_blank\" rel=\"noopener noreferrer\">gbox<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/vm86\" target=\"_blank\" rel=\"noopener noreferrer\">vm86<OutboundLink/></a></li>\n<li><a href=\"http://www.xmake.io\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/itrace\" target=\"_blank\" rel=\"noopener noreferrer\">itrace<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/tbox-projects\" target=\"_blank\" rel=\"noopener noreferrer\">more<OutboundLink/></a></li>\n</ul>\n<h2 id=\"build\"><a class=\"header-anchor\" href=\"#build\" aria-hidden=\"true\">#</a> Build</h2>\n<p>Please install xmake first: <a href=\"https://github.com/tboox/xmake\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></p>\n<!--beforebegin--><div class=\"language-console extra-class\"><!--afterbegin--><pre v-pre class=\"language-text\"><code># build for the host platform\n$ cd ./tbox\n$ xmake\n\n# build for the mingw platform\n$ cd ./tbox\n$ xmake f -p mingw --sdk=/home/mingwsdk \n$ xmake\n\n# build for the iphoneos platform\n$ cd ./tbox\n$ xmake f -p iphoneos \n$ xmake\n\n# build for the android platform\n$ cd ./tbox\n$ xmake f -p android --ndk=xxxxx\n$ xmake\n\n# build for the linux cross-platform\n$ cd ./tbox\n$ xmake f -p linux --sdk=/home/sdk # --bin=/home/sdk/bin\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"example\"><a class=\"header-anchor\" href=\"#example\" aria-hidden=\"true\">#</a> Example</h2>\n<!--beforebegin--><div class=\"language-c extra-class\"><!--afterbegin--><pre v-pre class=\"language-c\"><code><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">\"tbox/tbox.h\"</span></span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> argc<span class=\"token punctuation\">,</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span> argv<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// init tbox</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">tb_init</span><span class=\"token punctuation\">(</span>tb_null<span class=\"token punctuation\">,</span> tb_null<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"hello tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// init vector</span>\n tb_vector_ref_t vector <span class=\"token operator\">=</span> <span class=\"token function\">tb_vector_init</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">tb_element_cstr</span><span class=\"token punctuation\">(</span>tb_true<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// insert item</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// dump all items</span>\n tb_for_all <span class=\"token punctuation\">(</span>tb_char_t <span class=\"token keyword\">const</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">,</span> vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%s\"</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit vector</span>\n <span class=\"token function\">tb_vector_exit</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// init stream</span>\n tb_stream_ref_t stream <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_init_from_url</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"http://www.xxx.com/file.txt\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// open stream</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token function\">tb_stream_open</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// read line</span>\n tb_long_t size <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n tb_char_t line<span class=\"token punctuation\">[</span>TB_STREAM_BLOCK_MAXN<span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">while</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>size <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_bread_line</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">,</span> <span class=\"token keyword\">sizeof</span><span class=\"token punctuation\">(</span>line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">>=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"line: %s\"</span><span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit stream</span>\n <span class=\"token function\">tb_stream_exit</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// wait </span>\n <span class=\"token function\">getchar</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// exit tbox</span>\n <span class=\"token function\">tb_exit</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"contacts\"><a class=\"header-anchor\" href=\"#contacts\" aria-hidden=\"true\">#</a> Contacts</h2>\n<ul>\n<li>Email:<a href=\"mailto:waruqi@gmail.com\">waruqi@gmail.com</a></li>\n<li>Homepage:<a href=\"http://www.tboox.org\" target=\"_blank\" rel=\"noopener noreferrer\">tboox.org<OutboundLink/></a></li>\n<li>Community:<a href=\"https://www.reddit.com/r/tboox/\" target=\"_blank\" rel=\"noopener noreferrer\">/r/tboox on reddit<OutboundLink/></a></li>\n</ul>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/db65b150fd16083041e0a28900d81a35.json b/node_modules/vuepress/node_modules/.cache/vuepress/db65b150fd16083041e0a28900d81a35.json new file mode 100644 index 00000000..954e9490 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/db65b150fd16083041e0a28900d81a35.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.sidebar .sidebar-sub-headers\n padding-left 1rem\n font-size 0.95em\n\na.sidebar-link\n font-weight 400\n display inline-block\n color $textColor\n border-left 0.25rem solid transparent\n padding 0.35rem 1rem 0.35rem 1.25rem\n line-height 1.4\n width: 100%\n box-sizing: border-box\n &:hover\n color $accentColor\n &.active\n font-weight 600\n color $accentColor\n border-left-color $accentColor\n .sidebar-group &\n padding-left 2rem\n .sidebar-sub-headers &\n padding-top 0.25rem\n padding-bottom 0.25rem\n border-left none\n &.active\n font-weight 500\n",{"version":3,"sources":["SidebarLink.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6DA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"SidebarLink.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<script>\nimport { isActive, hashRE, groupHeaders } from './util'\n\nexport default {\n functional: true,\n\n props: ['item'],\n\n render (h, { parent: { $page, $site, $route }, props: { item }}) {\n // use custom active class matching logic\n // due to edge case of paths ending with / + hash\n const selfActive = isActive($route, item.path)\n // for sidebar: auto pages, a hash link should be active if one of its child\n // matches\n const active = item.type === 'auto'\n ? selfActive || item.children.some(c => isActive($route, item.basePath + '#' + c.slug))\n : selfActive\n const link = renderLink(h, item.path, item.title || item.path, active)\n const configDepth = $page.frontmatter.sidebarDepth != null\n ? $page.frontmatter.sidebarDepth\n : $site.themeConfig.sidebarDepth\n const maxDepth = configDepth == null ? 1 : configDepth\n const displayAllHeaders = !!$site.themeConfig.displayAllHeaders\n if (item.type === 'auto') {\n return [link, renderChildren(h, item.children, item.basePath, $route, maxDepth)]\n } else if ((active || displayAllHeaders) && item.headers && !hashRE.test(item.path)) {\n const children = groupHeaders(item.headers)\n return [link, renderChildren(h, children, item.path, $route, maxDepth)]\n } else {\n return link\n }\n }\n}\n\nfunction renderLink (h, to, text, active) {\n return h('router-link', {\n props: {\n to,\n activeClass: '',\n exactActiveClass: ''\n },\n class: {\n active,\n 'sidebar-link': true\n }\n }, text)\n}\n\nfunction renderChildren (h, children, path, route, maxDepth, depth = 1) {\n if (!children || depth > maxDepth) return null\n return h('ul', { class: 'sidebar-sub-headers' }, children.map(c => {\n const active = isActive(route, path + '#' + c.slug)\n return h('li', { class: 'sidebar-sub-header' }, [\n renderLink(h, path + '#' + c.slug, c.title, active),\n renderChildren(h, c.children, path, route, maxDepth, depth + 1)\n ])\n }))\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.sidebar .sidebar-sub-headers\n padding-left 1rem\n font-size 0.95em\n\na.sidebar-link\n font-weight 400\n display inline-block\n color $textColor\n border-left 0.25rem solid transparent\n padding 0.35rem 1rem 0.35rem 1.25rem\n line-height 1.4\n width: 100%\n box-sizing: border-box\n &:hover\n color $accentColor\n &.active\n font-weight 600\n color $accentColor\n border-left-color $accentColor\n .sidebar-group &\n padding-left 2rem\n .sidebar-sub-headers &\n padding-top 0.25rem\n padding-bottom 0.25rem\n border-left none\n &.active\n font-weight 500\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/dc96e0ab33df9cb62eb3530a69ecd2b2.json b/node_modules/vuepress/node_modules/.cache/vuepress/dc96e0ab33df9cb62eb3530a69ecd2b2.json new file mode 100644 index 00000000..10761158 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/dc96e0ab33df9cb62eb3530a69ecd2b2.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.sidebar .sidebar-sub-headers\n padding-left 1rem\n font-size 0.95em\n\na.sidebar-link\n font-weight 400\n display inline-block\n color $textColor\n border-left 0.25rem solid transparent\n padding 0.35rem 1rem 0.35rem 1.25rem\n line-height 1.4\n width: 100%\n box-sizing: border-box\n &:hover\n color $accentColor\n &.active\n font-weight 600\n color $accentColor\n border-left-color $accentColor\n .sidebar-group &\n padding-left 2rem\n .sidebar-sub-headers &\n padding-top 0.25rem\n padding-bottom 0.25rem\n border-left none\n &.active\n font-weight 500\n",{"version":3,"sources":["SidebarLink.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6DA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"SidebarLink.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<script>\nimport { isActive, hashRE, groupHeaders } from './util'\n\nexport default {\n functional: true,\n\n props: ['item'],\n\n render (h, { parent: { $page, $site, $route }, props: { item }}) {\n // use custom active class matching logic\n // due to edge case of paths ending with / + hash\n const selfActive = isActive($route, item.path)\n // for sidebar: auto pages, a hash link should be active if one of its child\n // matches\n const active = item.type === 'auto'\n ? selfActive || item.children.some(c => isActive($route, item.basePath + '#' + c.slug))\n : selfActive\n const link = renderLink(h, item.path, item.title || item.path, active)\n const configDepth = $page.frontmatter.sidebarDepth != null\n ? $page.frontmatter.sidebarDepth\n : $site.themeConfig.sidebarDepth\n const maxDepth = configDepth == null ? 1 : configDepth\n const displayAllHeaders = !!$site.themeConfig.displayAllHeaders\n if (item.type === 'auto') {\n return [link, renderChildren(h, item.children, item.basePath, $route, maxDepth)]\n } else if ((active || displayAllHeaders) && item.headers && !hashRE.test(item.path)) {\n const children = groupHeaders(item.headers)\n return [link, renderChildren(h, children, item.path, $route, maxDepth)]\n } else {\n return link\n }\n }\n}\n\nfunction renderLink (h, to, text, active) {\n return h('router-link', {\n props: {\n to,\n activeClass: '',\n exactActiveClass: ''\n },\n class: {\n active,\n 'sidebar-link': true\n }\n }, text)\n}\n\nfunction renderChildren (h, children, path, route, maxDepth, depth = 1) {\n if (!children || depth > maxDepth) return null\n return h('ul', { class: 'sidebar-sub-headers' }, children.map(c => {\n const active = isActive(route, path + '#' + c.slug)\n return h('li', { class: 'sidebar-sub-header' }, [\n renderLink(h, path + '#' + c.slug, c.title, active),\n renderChildren(h, c.children, path, route, maxDepth, depth + 1)\n ])\n }))\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.sidebar .sidebar-sub-headers\n padding-left 1rem\n font-size 0.95em\n\na.sidebar-link\n font-weight 400\n display inline-block\n color $textColor\n border-left 0.25rem solid transparent\n padding 0.35rem 1rem 0.35rem 1.25rem\n line-height 1.4\n width: 100%\n box-sizing: border-box\n &:hover\n color $accentColor\n &.active\n font-weight 600\n color $accentColor\n border-left-color $accentColor\n .sidebar-group &\n padding-left 2rem\n .sidebar-sub-headers &\n padding-top 0.25rem\n padding-bottom 0.25rem\n border-left none\n &.active\n font-weight 500\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/dc9bab586261b7e908f0a5c5e3cee9e1.json b/node_modules/vuepress/node_modules/.cache/vuepress/dc9bab586261b7e908f0a5c5e3cee9e1.json new file mode 100644 index 00000000..d9563e61 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/dc9bab586261b7e908f0a5c5e3cee9e1.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/root-mixins/activeHeaderLinks.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/root-mixins/activeHeaderLinks.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import \"core-js/modules/es6.regexp.replace\";\nimport \"core-js/modules/es6.array.some\";\nimport \"core-js/modules/es6.array.filter\";\nimport store from '@app/store';\nimport throttle from 'lodash.throttle';\nexport default {\n mounted: function mounted() {\n window.addEventListener('scroll', this.onScroll);\n },\n methods: {\n onScroll: throttle(function () {\n this.setActiveHash();\n }, 300),\n setActiveHash: function setActiveHash() {\n var _this = this;\n\n var sidebarLinks = [].slice.call(document.querySelectorAll('.sidebar-link'));\n var anchors = [].slice.call(document.querySelectorAll('.header-anchor')).filter(function (anchor) {\n return sidebarLinks.some(function (sidebarLink) {\n return sidebarLink.hash === anchor.hash;\n });\n });\n var scrollTop = Math.max(window.pageYOffset, document.documentElement.scrollTop, document.body.scrollTop);\n\n for (var i = 0; i < anchors.length; i++) {\n var anchor = anchors[i];\n var nextAnchor = anchors[i + 1];\n var isActive = i === 0 && scrollTop === 0 || scrollTop >= anchor.parentElement.offsetTop + 10 && (!nextAnchor || scrollTop < nextAnchor.parentElement.offsetTop - 10);\n\n if (isActive && decodeURIComponent(this.$route.hash) !== decodeURIComponent(anchor.hash)) {\n store.disableScrollBehavior = true;\n this.$router.replace(decodeURIComponent(anchor.hash), function () {\n // execute after scrollBehavior handler.\n _this.$nextTick(function () {\n store.disableScrollBehavior = false;\n });\n });\n return;\n }\n }\n }\n },\n beforeDestroy: function beforeDestroy() {\n window.removeEventListener('scroll', this.onScroll);\n }\n};",{"version":3,"sources":["node_modules/vuepress/lib/app/root-mixins/activeHeaderLinks.js"],"names":["store","throttle","mounted","window","addEventListener","onScroll","methods","setActiveHash","sidebarLinks","slice","call","document","querySelectorAll","anchors","filter","some","sidebarLink","hash","anchor","scrollTop","Math","max","pageYOffset","documentElement","body","i","length","nextAnchor","isActive","parentElement","offsetTop","decodeURIComponent","$route","disableScrollBehavior","$router","replace","$nextTick","beforeDestroy","removeEventListener"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,YAAlB;AACA,OAAOC,QAAP,MAAqB,iBAArB;AAEA,eAAe;AACbC,SADa,qBACF;AACTC,WAAOC,gBAAP,CAAwB,QAAxB,EAAkC,KAAKC,QAAvC;AACD,GAHY;AAIbC,WAAS;AACPD,cAAUJ,SAAS,YAAY;AAC7B,WAAKM,aAAL;AACD,KAFS,EAEP,GAFO,CADH;AAIPA,iBAJO,2BAIU;AAAA;;AACf,UAAMC,eAAe,GAAGC,KAAH,CAASC,IAAT,CAAcC,SAASC,gBAAT,CAA0B,eAA1B,CAAd,CAArB;AACA,UAAMC,UAAU,GAAGJ,KAAH,CAASC,IAAT,CAAcC,SAASC,gBAAT,CAA0B,gBAA1B,CAAd,EACfE,MADe,CACR;AAAA,eAAUN,aAAaO,IAAb,CAAkB;AAAA,iBAAeC,YAAYC,IAAZ,KAAqBC,OAAOD,IAA3C;AAAA,SAAlB,CAAV;AAAA,OADQ,CAAhB;AAGA,UAAME,YAAYC,KAAKC,GAAL,CAChBlB,OAAOmB,WADS,EAEhBX,SAASY,eAAT,CAAyBJ,SAFT,EAGhBR,SAASa,IAAT,CAAcL,SAHE,CAAlB;;AAMA,WAAK,IAAIM,IAAI,CAAb,EAAgBA,IAAIZ,QAAQa,MAA5B,EAAoCD,GAApC,EAAyC;AACvC,YAAMP,SAASL,QAAQY,CAAR,CAAf;AACA,YAAME,aAAad,QAAQY,IAAI,CAAZ,CAAnB;AAEA,YAAMG,WAAWH,MAAM,CAAN,IAAWN,cAAc,CAAzB,IAChBA,aAAaD,OAAOW,aAAP,CAAqBC,SAArB,GAAiC,EAA9C,KACA,CAACH,UAAD,IAAeR,YAAYQ,WAAWE,aAAX,CAAyBC,SAAzB,GAAqC,EADhE,CADD;;AAIA,YAAIF,YAAYG,mBAAmB,KAAKC,MAAL,CAAYf,IAA/B,MAAyCc,mBAAmBb,OAAOD,IAA1B,CAAzD,EAA0F;AACxFjB,gBAAMiC,qBAAN,GAA8B,IAA9B;AACA,eAAKC,OAAL,CAAaC,OAAb,CAAqBJ,mBAAmBb,OAAOD,IAA1B,CAArB,EAAsD,YAAM;AAC1D;AACA,kBAAKmB,SAAL,CAAe,YAAM;AACnBpC,oBAAMiC,qBAAN,GAA8B,KAA9B;AACD,aAFD;AAGD,WALD;AAMA;AACD;AACF;AACF;AAlCM,GAJI;AAwCbI,eAxCa,2BAwCI;AACflC,WAAOmC,mBAAP,CAA2B,QAA3B,EAAqC,KAAKjC,QAA1C;AACD;AA1CY,CAAf","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["import store from '@app/store'\nimport throttle from 'lodash.throttle'\n\nexport default {\n mounted () {\n window.addEventListener('scroll', this.onScroll)\n },\n methods: {\n onScroll: throttle(function () {\n this.setActiveHash()\n }, 300),\n setActiveHash () {\n const sidebarLinks = [].slice.call(document.querySelectorAll('.sidebar-link'))\n const anchors = [].slice.call(document.querySelectorAll('.header-anchor'))\n .filter(anchor => sidebarLinks.some(sidebarLink => sidebarLink.hash === anchor.hash))\n\n const scrollTop = Math.max(\n window.pageYOffset,\n document.documentElement.scrollTop,\n document.body.scrollTop\n )\n\n for (let i = 0; i < anchors.length; i++) {\n const anchor = anchors[i]\n const nextAnchor = anchors[i + 1]\n\n const isActive = i === 0 && scrollTop === 0 ||\n (scrollTop >= anchor.parentElement.offsetTop + 10 &&\n (!nextAnchor || scrollTop < nextAnchor.parentElement.offsetTop - 10))\n\n if (isActive && decodeURIComponent(this.$route.hash) !== decodeURIComponent(anchor.hash)) {\n store.disableScrollBehavior = true\n this.$router.replace(decodeURIComponent(anchor.hash), () => {\n // execute after scrollBehavior handler.\n this.$nextTick(() => {\n store.disableScrollBehavior = false\n })\n })\n return\n }\n }\n }\n },\n beforeDestroy () {\n window.removeEventListener('scroll', this.onScroll)\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/dcf688b80d58273d815ad40c6226c370.json b/node_modules/vuepress/node_modules/.cache/vuepress/dcf688b80d58273d815ad40c6226c370.json new file mode 100644 index 00000000..cbb6f447 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/dcf688b80d58273d815ad40c6226c370.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/Badge.vue?vue&type=style&index=0&id=099ab69c&lang=stylus&scoped=true&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/Badge.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import '../../default-theme/styles/config.styl'\n\n.badge\n display inline-block\n font-size 14px\n height 18px\n line-height 18px\n border-radius 3px\n padding 0 6px\n color white\n margin-right 5px\n background-color #42b983\n &.middle\n vertical-align middle\n &.top\n vertical-align top\n &.tip, &.green\n background-color #42b983\n &.error\n background-color #DA5961 //#f66\n &.warning, &.warn, &.yellow\n background-color darken(#ffe564, 35%)\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/dcfea5f2b32660281c8dee731042a1f3.json b/node_modules/vuepress/node_modules/.cache/vuepress/dcfea5f2b32660281c8dee731042a1f3.json new file mode 100644 index 00000000..c2673eba --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/dcfea5f2b32660281c8dee731042a1f3.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport NavLink from './NavLink.vue';\nexport default {\n components: {\n NavLink: NavLink\n },\n computed: {\n data: function data() {\n return this.$page.frontmatter;\n },\n actionLink: function actionLink() {\n return {\n link: this.data.actionLink,\n text: this.data.actionText\n };\n }\n }\n};",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/dd21222551a63a159ac3a6a9d3299e1d.json b/node_modules/vuepress/node_modules/.cache/vuepress/dd21222551a63a159ac3a6a9d3299e1d.json new file mode 100644 index 00000000..b97723be --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/dd21222551a63a159ac3a6a9d3299e1d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/introduction.md?vue&type=template&id=60806558&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/introduction.md","mtime":1541489249205},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_vm._ssrNode(\"<h1 id=\\\"简介\\\"><a href=\\\"#简介\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 简介</h1> <p>TBOX是一个用c语言实现的跨平台开发库。</p> <p>针对各个平台,封装了统一的接口,简化了各类开发过程中常用操作,使你在开发过程中,更加关注实际应用的开发,而不是把时间浪费在琐碎的接口兼容性上面,并且充分利用了各个平台独有的一些特性进行优化。</p> <p>这个项目的目的,是为了使C开发更加的简单高效。</p> <p>目前支持的平台有:</p> <ul><li>Windows</li> <li>Macosx</li> <li>Linux</li> <li>Android</li> <li>iOS</li></ul> \"),_vm._ssrNode(\"<p>\",\"</p>\",[_vm._ssrNode(\"通过\"),_vm._ssrNode(\"<a href=\\\"http://www.xmake.io/cn\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"xmake\"),_c('OutboundLink')],2),_vm._ssrNode(\"支持各种编译模式:\")],2),_vm._ssrNode(\" <ul><li>Release: 正式版编译,禁用调试信息、断言,各种检测机制,启用编译器优化</li> <li>Debug: 调试模式,默认启用详细调试信息、断言、内存越界检测、内存泄漏、锁竞争分析等检测机制</li> <li>Small: 最小化编译,默认禁用所有扩展模块,启用编译器最小化优化</li> <li>Micro: 针对嵌入式平台,仅仅编译tbox微内核,仅提供最基础的跨平台接口,生成库仅64K左右(内置轻量libc接口实现)</li></ul> <p>如果你想了解更多,请参考:</p> \"),_vm._ssrNode(\"<ul>\",\"</ul>\",[_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"http://www.tboox.org/cn\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"项目主页\"),_c('OutboundLink')],2)]),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"https://github.com/tboox/tbox/wiki/%E7%9B%AE%E5%BD%95\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"在线文档\"),_c('OutboundLink')],2)]),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"https://github.com/tboox/tbox\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"Github\"),_c('OutboundLink')],2)]),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"https://gitee.com/tboox/tbox\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"Gitee\"),_c('OutboundLink')],2)])],2),_vm._ssrNode(\" <h2 id=\\\"特性\\\"><a href=\\\"#特性\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 特性</h2> <h4 id=\\\"流库\\\"><a href=\\\"#流库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 流库</h4> <p>针对http、file、socket、data等流数据,实现统一接口进行读写,并且支持: 阻塞、非阻塞、异步 三种读写模式。\\n支持中间增加多层filter流进行流过滤,实现边读取,内部边进行解压、编码转换、加密等操作,极大的减少了内存使用。</p> <p>主要提供以下模块:</p> <ul><li><code>stream</code>:通用非阻塞流,用于一般的单独io处理,同时支持协程以实现异步传输。</li> <li><code>transfer</code>:流传输器,维护两路流的传输。</li> <li><code>static_stream</code>:针对静态数据buffer优化的静态流,用于轻量快速的数据解析。</li></ul> <h4 id=\\\"协程库\\\"><a href=\\\"#协程库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 协程库</h4> \"),_vm._ssrNode(\"<ul>\",\"</ul>\",[_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"快速高效的协程切换支持(具体性能参考:\"),_vm._ssrNode(\"<a href=\\\"http://tboox.org/cn/2016/10/28/benchbox-coroutine/\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"基准测试报告\"),_c('OutboundLink')],2),_vm._ssrNode(\")\")],2),_vm._ssrNode(\" <li>提供跨平台支持,核心切换算法参考boost,并且对其进行重写和优化,目前支持架构:x86, x86_64, arm, arm64, mips32</li> <li>提供channel协程间数据通信支持,基于生产、消费者模型</li> <li>提供信号量、协程锁支持</li> <li>socket、stream都模块原生支持协程,并且可在线程和协程间进行无缝切换</li> <li>提供http、file等基于协程的简单服务器实例,只需几百行代码,就可以从socket开始写个高性能io服务器,代码逻辑比异步回调模式更加清晰</li> <li>同时提供stackfull, stackless两种协程模式支持,stackless协程更加的轻量(每个协程只占用几十个bytes),切换更快(会牺牲部分易用性)</li> <li>支持epoll, kqueue, poll, select 和 IOCP</li>\")],2),_vm._ssrNode(\" <h4 id=\\\"数据库\\\"><a href=\\\"#数据库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 数据库</h4> <ul><li>统一并简化数据库操作接口,适配各种数据源,通过统一的url来自动连接打开支持的数据库,数据的枚举采用迭代器模型。</li> <li>目前支持sqlite3以及mysql两种关系型数据库,也可自定义扩展使用其他关系型数据库。</li></ul> <h4 id=\\\"xml库\\\"><a href=\\\"#xml库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> xml库</h4> <ul><li>针对xml提供DOM和SAX两种解析模式,SAX方式采用外部迭代模式,灵活性和性能更高,并且可以选择指定路径,进行解析。</li> <li>解析过程完全基于stream,所以是高度流化的,可以实现边下载、边解压、边转码、边解析一条龙服务,使用较低的内存也可以解析大规模数据。</li> <li>提供xml writer以支持对xml生成</li></ul> <h4 id=\\\"内存库\\\"><a href=\\\"#内存库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 内存库</h4> <ul><li>参考linux内核内存管理机制的实现,并对其进行各种改造和优化,所实现的TBOX独有的一整套内存池管理架构。</li> <li>调试模式下,可以轻松检测并定位内存泄露、内存越界溢出、内存重叠覆盖等常见内存问题,并对整体内存的使用进行了统计和简要分析。</li> <li>针对大块数据、小块数据、字符串数据进行了充分的利用,避免了大量外部碎片和内部碎片的产生。分配操作进行了各种优化,96%的情况下,效率都是在O(1)。</li></ul> <h4 id=\\\"容器库\\\"><a href=\\\"#容器库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 容器库</h4> <ul><li>提供哈希、链表、数组、队列、堆栈、最小最大堆等常用容器。</li> <li>支持各种常用成员类型,在原有的容器期初上,其成员类型还可以完全自定义扩展。</li> <li>所有容器都支持迭代器操作。</li> <li>大部分容器都可以支持基于stream的序列化和反序列化操作。</li></ul> <h4 id=\\\"算法库\\\"><a href=\\\"#算法库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 算法库</h4> <ul><li>提供各种排序算法:冒泡排序、堆排序、快速排序、插入排序。</li> <li>提供各种查找算法:线性遍历、二分法搜索。</li> <li>提供各种遍历、删除、统计算法。</li> <li>以迭代器为接口,实现算法和容器的分离,类似stl,但是c实现的,更加轻量。</li></ul> <h4 id=\\\"网络库\\\"><a href=\\\"#网络库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 网络库</h4> <ul><li>实现http客户端模块</li> <li>实现cookies</li> <li>实现dns解析与缓存</li> <li>实现ssl(支持openssl, polarssl, mbedtls)</li> <li>支持ipv4、ipv6</li> <li>支持通过协程实现异步模式</li></ul> <h4 id=\\\"数学运算库\\\"><a href=\\\"#数学运算库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 数学运算库</h4> <ul><li>提供各种精度的定点运算支持</li> <li>提供随机数生成器</li></ul> <h4 id=\\\"libc库\\\"><a href=\\\"#libc库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> libc库</h4> <ul><li>libc的一个轻量级实现,完全跨平台,并且针对不同架构进行了优化。</li> <li>支持大部分字符串、宽字符串操作。</li> <li>扩展字符串、宽字符串的各种大小写不敏感操作接口</li> <li>扩展<code>memset_u16</code>、<code>memset_u32</code>等接口,并对其进行高度优化,尤其适合图形渲染程序</li></ul> <h4 id=\\\"libm库\\\"><a href=\\\"#libm库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> libm库</h4> <ul><li>libm部分接口的一个轻量级实现,以及对常用系统接口的封装。(目前只实现了部分,之后有时间会完全实现掉)</li> <li>扩展部分常用接口,增加对sqrt、log2等常用函数的整数版本计算,进行高度优化,不涉及浮点运算,适合嵌入式环境使用。</li></ul> <h4 id=\\\"object库\\\"><a href=\\\"#object库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> object库</h4> <ul><li>轻量级类apple的CoreFoundation库,支持object、dictionary、array、string、number、date、data等常用对象,并且可以方便扩展自定义对象的序列化。</li> <li>支持对xml、json、binary以及apple的plist(xplist/bplist)格式序列化和反序列化。\\n并且实现自有的binary序列化格式, 针对明文进行了简单的加密,在不影响性能的前提下,序列化后的大小比bplist节省30%。</li></ul> <h4 id=\\\"平台库\\\"><a href=\\\"#平台库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 平台库</h4> <ul><li>提供file、directory、socket、thread、time等常用系统接口</li> <li>提供atomic、atomic64接口</li> <li>提供高精度、低精度定时器</li> <li>提供高性能的线程池操作</li> <li>提供event、mutex、semaphore、spinlock等事件、互斥、信号量、自旋锁操作</li> <li>提供获取函数堆栈信息的接口,方便调试和错误定位</li> <li>提供跨平台动态库加载接口(如果系统支持的话)</li> <li>提供io轮询器,针对epoll, poll, select, kqueue进行跨平台封装</li> <li>提供跨平台上下文切换接口,主要用于协程实现,切换效率非常高</li></ul> <h4 id=\\\"压缩库\\\"><a href=\\\"#压缩库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 压缩库</h4> <ul><li>支持zlib/zlibraw/gzip的压缩与解压(需要第三方zlib库支持)。</li></ul> <h4 id=\\\"字符编码库\\\"><a href=\\\"#字符编码库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 字符编码库</h4> <ul><li>支持utf8、utf16、gbk、gb2312、uc2、uc4 之间的互相转码,并且支持大小端格式。</li></ul> <h4 id=\\\"实用工具库\\\"><a href=\\\"#实用工具库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 实用工具库</h4> <ul><li>实现base64/32编解码</li> <li>实现crc32、adler32、md5、sha1等常用hash算法</li> <li>实现日志输出、断言等辅助调试工具</li> <li>实现url编解码</li> <li>实现位操作相关接口,支持各种数据格式的解析,可以对8bits、16bits、32bits、64bits、float、double以及任意bits的字段进行解析操作,并且同时支持大端、小端和本地端模式,并针对部分操作进行了优化,像static_stream、stream都有相关接口对其进行了封装,方便在流上进行快速数据解析。</li> <li>实现swap16、swap32、swap64等位交换操作,并针对各个平台进行了优化。</li> <li>实现一些高级的位处理接口,例如:位0的快速统计、前导0和前导1的快速位计数、后导01的快速位计数</li> <li>实现单例模块,可以对静态对象、实例对象进行快速的单例封装,实现全局线程安全</li> <li>实现option模块,对命令行参数进行解析,提供快速方便的命令行选项建立和解析操作,对于写终端程序还是很有帮助的</li></ul> <h4 id=\\\"正则表达式库\\\"><a href=\\\"#正则表达式库\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 正则表达式库</h4> <ul><li>支持匹配和替换操作</li> <li>支持全局、多行、大小写不敏感等模式</li> <li>使用pcre, pcre2和posix正则库</li></ul> <h2 id=\\\"项目例子\\\"><a href=\\\"#项目例子\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 项目例子</h2> <p>一些使用tbox的项目</p> \"),_vm._ssrNode(\"<ul>\",\"</ul>\",[_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"https://github.com/tboox/gbox\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"gbox\"),_c('OutboundLink')],2)]),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"https://github.com/tboox/vm86\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"vm86\"),_c('OutboundLink')],2)]),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"http://www.xmake.io/cn\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"xmake\"),_c('OutboundLink')],2)]),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"https://github.com/tboox/itrace\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"itrace\"),_c('OutboundLink')],2)]),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"<a href=\\\"https://github.com/tboox/tbox/wiki/%E4%BD%BF%E7%94%A8tbox%E7%9A%84%E5%BC%80%E6%BA%90%E5%BA%93\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"更多项目\"),_c('OutboundLink')],2)])],2),_vm._ssrNode(\" <h2 id=\\\"联系方式\\\"><a href=\\\"#联系方式\\\" aria-hidden=\\\"true\\\" class=\\\"header-anchor\\\">#</a> 联系方式</h2> \"),_vm._ssrNode(\"<ul>\",\"</ul>\",[_vm._ssrNode(\"<li>邮箱:<a href=\\\"mailto:waruqi@gmail.com\\\">waruqi@gmail.com</a></li> \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"主页:\"),_vm._ssrNode(\"<a href=\\\"http://www.tboox.org/cn\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"TBOOX开源工程\"),_c('OutboundLink')],2)],2),_vm._ssrNode(\" \"),_vm._ssrNode(\"<li>\",\"</li>\",[_vm._ssrNode(\"社区:\"),_vm._ssrNode(\"<a href=\\\"https://www.reddit.com/r/tboox/\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\",\"</a>\",[_vm._ssrNode(\"Reddit论坛\"),_c('OutboundLink')],2)],2),_vm._ssrNode(\" <li>QQ群:343118190</li> <li>微信公众号:tboox-os</li>\")],2)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/dd5ca1b1a3580859ed056c06b575fddc.json b/node_modules/vuepress/node_modules/.cache/vuepress/dd5ca1b1a3580859ed056c06b575fddc.json new file mode 100644 index 00000000..0e221aa8 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/dd5ca1b1a3580859ed056c06b575fddc.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/guide/getting-started.md?vue&type=template&id=d7bc09fe&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/guide/getting-started.md","mtime":1541554688137},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"Please install xmake first: \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _vm._m(1),\n _vm._m(2),\n _vm._v(\" \"),\n _vm._m(3)\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h1\", { attrs: { id: \"getting-started\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#getting-started\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Getting Started\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"# build for the host platform\")\n ]),\n _vm._v(\"\\n$ \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"cd\")]),\n _vm._v(\" ./tbox\\n$ xmake\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"# build for the mingw platform\")\n ]),\n _vm._v(\"\\n$ \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"cd\")]),\n _vm._v(\" ./tbox\\n$ xmake f -p mingw --sdk\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"/home/mingwsdk \\n$ xmake\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"# build for the iphoneos platform\")\n ]),\n _vm._v(\"\\n$ \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"cd\")]),\n _vm._v(\" ./tbox\\n$ xmake f -p iphoneos \\n$ xmake\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"# build for the android platform\")\n ]),\n _vm._v(\"\\n$ \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"cd\")]),\n _vm._v(\" ./tbox\\n$ xmake f -p android --ndk\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"xxxxx\\n$ xmake\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"# build for the linux cross-platform\")\n ]),\n _vm._v(\"\\n$ \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"cd\")]),\n _vm._v(\" ./tbox\\n$ xmake f -p linux --sdk\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\"/home/sdk \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"# --bin=/home/sdk/bin\")\n ]),\n _vm._v(\"\\n$ xmake\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"example\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#example\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Example\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-c extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-c\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token macro property\" } }, [\n _vm._v(\"#\"),\n _c(\"span\", { attrs: { class: \"token directive keyword\" } }, [\n _vm._v(\"include\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"tbox/tbox.h\"')\n ])\n ]),\n _vm._v(\"\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"int\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"main\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"int\")]),\n _vm._v(\" argc\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"char\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _vm._v(\" argv\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// init tbox\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"!\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_init\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"tb_null\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" tb_null\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"return\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// trace\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_trace_i\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"hello tbox\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// init vector\")\n ]),\n _vm._v(\"\\n tb_vector_ref_t vector \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_init\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_element_cstr\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"tb_true\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// insert item\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_insert_tail\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"hello\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_insert_tail\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"tbox\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// dump all items\")\n ]),\n _vm._v(\"\\n tb_for_all \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"tb_char_t \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"const\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" cstr\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// trace\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_trace_i\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"%s\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" cstr\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// exit vector\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_exit\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// init stream\")\n ]),\n _vm._v(\"\\n tb_stream_ref_t stream \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_init_from_url\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"http://www.xxx.com/file.txt\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// open stream\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_open\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// read line\")\n ]),\n _vm._v(\"\\n tb_long_t size \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n tb_char_t line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"TB_STREAM_BLOCK_MAXN\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"while\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"size \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_bread_line\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"sizeof\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\">=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// trace\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_trace_i\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"line: %s\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// exit stream\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_exit\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// wait \")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"getchar\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// exit tbox\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_exit\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"return\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/dd7bd8956ab2b79e4b729995c3549996.json b/node_modules/vuepress/node_modules/.cache/vuepress/dd7bd8956ab2b79e4b729995c3549996.json new file mode 100644 index 00000000..0756385e --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/dd7bd8956ab2b79e4b729995c3549996.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/api/introduction.md?vue&type=template&id=2d9e32d4&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/api/introduction.md","mtime":1541569045944},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm._m(0)\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _c(\"h1\", { attrs: { id: \"title1\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title1\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title1\")\n ]),\n _vm._v(\" \"),\n _c(\"p\"),\n _c(\"div\", { staticClass: \"table-of-contents\" }, [\n _c(\"ul\", [\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title2\" } }, [_vm._v(\"Title2\")]),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title3\" } }, [_vm._v(\"Title3\")])\n ]),\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title3\" } }, [_vm._v(\"Title3\")])\n ])\n ])\n ]),\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title2\" } }, [_vm._v(\"Title2\")]),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\"a\", { attrs: { href: \"#title3\" } }, [_vm._v(\"Title3\")])\n ])\n ])\n ])\n ])\n ]),\n _c(\"p\"),\n _vm._v(\" \"),\n _c(\"h2\", { attrs: { id: \"title2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title2\")\n ]),\n _vm._v(\" \"),\n _c(\"h3\", { attrs: { id: \"title3\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title3\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title3\")\n ]),\n _vm._v(\" \"),\n _c(\"h4\", { attrs: { id: \"title4\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title4\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title4\")\n ]),\n _vm._v(\" \"),\n _c(\"h5\", { attrs: { id: \"title5\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title5\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title5\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h5\", { attrs: { id: \"title5-2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title5-2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title5\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h4\", { attrs: { id: \"title4-2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title4-2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title4\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h3\", { attrs: { id: \"title3-2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title3-2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title3\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h2\", { attrs: { id: \"title2-2\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title2-2\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title2\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")]),\n _vm._v(\" \"),\n _c(\"h3\", { attrs: { id: \"title3-3\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#title3-3\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Title3\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"...\")])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/dda2cc614ff991840d89319bf4ae3b30.json b/node_modules/vuepress/node_modules/.cache/vuepress/dda2cc614ff991840d89319bf4ae3b30.json new file mode 100644 index 00000000..4f4050a6 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/dda2cc614ff991840d89319bf4ae3b30.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Navbar.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Navbar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport SidebarButton from './SidebarButton.vue';\nimport AlgoliaSearchBox from '@AlgoliaSearchBox';\nimport SearchBox from './SearchBox.vue';\nimport NavLinks from './NavLinks.vue';\nexport default {\n components: {\n SidebarButton: SidebarButton,\n NavLinks: NavLinks,\n SearchBox: SearchBox,\n AlgoliaSearchBox: AlgoliaSearchBox\n },\n data: function data() {\n return {\n linksWrapMaxWidth: null\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n var MOBILE_DESKTOP_BREAKPOINT = 719; // refer to config.styl\n\n var NAVBAR_VERTICAL_PADDING = parseInt(css(this.$el, 'paddingLeft')) + parseInt(css(this.$el, 'paddingRight'));\n\n var handleLinksWrapWidth = function handleLinksWrapWidth() {\n if (document.documentElement.clientWidth < MOBILE_DESKTOP_BREAKPOINT) {\n _this.linksWrapMaxWidth = null;\n } else {\n _this.linksWrapMaxWidth = _this.$el.offsetWidth - NAVBAR_VERTICAL_PADDING - (_this.$refs.siteName && _this.$refs.siteName.offsetWidth || 0);\n }\n };\n\n handleLinksWrapWidth();\n window.addEventListener('resize', handleLinksWrapWidth, false);\n },\n computed: {\n algolia: function algolia() {\n return this.$themeLocaleConfig.algolia || this.$site.themeConfig.algolia || {};\n },\n isAlgoliaSearch: function isAlgoliaSearch() {\n return this.algolia && this.algolia.apiKey && this.algolia.indexName;\n }\n }\n};\n\nfunction css(el, property) {\n // NOTE: Known bug, will return 'auto' if style value is 'auto'\n var win = el.ownerDocument.defaultView; // null means not to return pseudo styles\n\n return win.getComputedStyle(el, null)[property];\n}",{"version":3,"sources":["Navbar.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA,OAAA,aAAA,MAAA,qBAAA;AACA,OAAA,gBAAA,MAAA,mBAAA;AACA,OAAA,SAAA,MAAA,iBAAA;AACA,OAAA,QAAA,MAAA,gBAAA;AAEA,eAAA;AACA,cAAA;AAAA,gCAAA;AAAA,sBAAA;AAAA,wBAAA;AAAA;AAAA,GADA;AAGA,MAHA,kBAGA;AACA,WAAA;AACA,yBAAA;AADA,KAAA;AAGA,GAPA;AASA,SATA,qBASA;AAAA;;AACA,QAAA,4BAAA,GAAA,CADA,CACA;;AACA,QAAA,0BAAA,SAAA,IAAA,KAAA,GAAA,EAAA,aAAA,CAAA,IAAA,SAAA,IAAA,KAAA,GAAA,EAAA,cAAA,CAAA,CAAA;;AACA,QAAA,uBAAA,SAAA,oBAAA,GAAA;AACA,UAAA,SAAA,eAAA,CAAA,WAAA,GAAA,yBAAA,EAAA;AACA,cAAA,iBAAA,GAAA,IAAA;AACA,OAFA,MAEA;AACA,cAAA,iBAAA,GAAA,MAAA,GAAA,CAAA,WAAA,GAAA,uBAAA,IACA,MAAA,KAAA,CAAA,QAAA,IAAA,MAAA,KAAA,CAAA,QAAA,CAAA,WAAA,IAAA,CADA,CAAA;AAEA;AACA,KAPA;;AAQA;AACA,WAAA,gBAAA,CAAA,QAAA,EAAA,oBAAA,EAAA,KAAA;AACA,GAtBA;AAwBA,YAAA;AACA,WADA,qBACA;AACA,aAAA,KAAA,kBAAA,CAAA,OAAA,IAAA,KAAA,KAAA,CAAA,WAAA,CAAA,OAAA,IAAA,EAAA;AACA,KAHA;AAKA,mBALA,6BAKA;AACA,aAAA,KAAA,OAAA,IAAA,KAAA,OAAA,CAAA,MAAA,IAAA,KAAA,OAAA,CAAA,SAAA;AACA;AAPA;AAxBA,CAAA;;AAmCA,SAAA,GAAA,CAAA,EAAA,EAAA,QAAA,EAAA;AACA;AACA,MAAA,MAAA,GAAA,aAAA,CAAA,WAAA,CAFA,CAGA;;AACA,SAAA,IAAA,gBAAA,CAAA,EAAA,EAAA,IAAA,EAAA,QAAA,CAAA;AACA","sourcesContent":["<template>\n <header class=\"navbar\">\n <SidebarButton @toggle-sidebar=\"$emit('toggle-sidebar')\"/>\n\n <router-link\n :to=\"$localePath\"\n class=\"home-link\"\n >\n <img\n class=\"logo\"\n v-if=\"$site.themeConfig.logo\"\n :src=\"$withBase($site.themeConfig.logo)\"\n :alt=\"$siteTitle\"\n >\n <span\n ref=\"siteName\"\n class=\"site-name\"\n v-if=\"$siteTitle\"\n :class=\"{ 'can-hide': $site.themeConfig.logo }\"\n >{{ $siteTitle }}</span>\n </router-link>\n\n <div\n class=\"links\"\n :style=\"{\n 'max-width': linksWrapMaxWidth + 'px'\n }\"\n >\n <AlgoliaSearchBox\n v-if=\"isAlgoliaSearch\"\n :options=\"algolia\"\n />\n <SearchBox v-else-if=\"$site.themeConfig.search !== false\"/>\n <NavLinks class=\"can-hide\"/>\n </div>\n </header>\n</template>\n\n<script>\nimport SidebarButton from './SidebarButton.vue'\nimport AlgoliaSearchBox from '@AlgoliaSearchBox'\nimport SearchBox from './SearchBox.vue'\nimport NavLinks from './NavLinks.vue'\n\nexport default {\n components: { SidebarButton, NavLinks, SearchBox, AlgoliaSearchBox },\n\n data () {\n return {\n linksWrapMaxWidth: null\n }\n },\n\n mounted () {\n const MOBILE_DESKTOP_BREAKPOINT = 719 // refer to config.styl\n const NAVBAR_VERTICAL_PADDING = parseInt(css(this.$el, 'paddingLeft')) + parseInt(css(this.$el, 'paddingRight'))\n const handleLinksWrapWidth = () => {\n if (document.documentElement.clientWidth < MOBILE_DESKTOP_BREAKPOINT) {\n this.linksWrapMaxWidth = null\n } else {\n this.linksWrapMaxWidth = this.$el.offsetWidth - NAVBAR_VERTICAL_PADDING -\n (this.$refs.siteName && this.$refs.siteName.offsetWidth || 0)\n }\n }\n handleLinksWrapWidth()\n window.addEventListener('resize', handleLinksWrapWidth, false)\n },\n\n computed: {\n algolia () {\n return this.$themeLocaleConfig.algolia || this.$site.themeConfig.algolia || {}\n },\n\n isAlgoliaSearch () {\n return this.algolia && this.algolia.apiKey && this.algolia.indexName\n }\n }\n}\n\nfunction css (el, property) {\n // NOTE: Known bug, will return 'auto' if style value is 'auto'\n const win = el.ownerDocument.defaultView\n // null means not to return pseudo styles\n return win.getComputedStyle(el, null)[property]\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n$navbar-vertical-padding = 0.7rem\n$navbar-horizontal-padding = 1.5rem\n\n.navbar\n padding $navbar-vertical-padding $navbar-horizontal-padding\n line-height $navbarHeight - 1.4rem\n position relative\n a, span, img\n display inline-block\n .logo\n height $navbarHeight - 1.4rem\n min-width $navbarHeight - 1.4rem\n margin-right 0.8rem\n vertical-align top\n .site-name\n font-size 1.3rem\n font-weight 600\n color $textColor\n position relative\n .links\n padding-left 1.5rem\n box-sizing border-box\n background-color white\n white-space nowrap\n font-size 0.9rem\n position absolute\n right $navbar-horizontal-padding\n top $navbar-vertical-padding\n display flex\n .search-box\n flex: 0 0 auto\n vertical-align top\n .nav-links\n flex 1\n\n@media (max-width: $MQMobile)\n .navbar\n padding-left 4rem\n .can-hide\n display none\n .links\n padding-left 1.5rem\n</style>\n"],"sourceRoot":"node_modules/vuepress/lib/default-theme"}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/def93d5ec7d08873cb2b57f6b0cff668.json b/node_modules/vuepress/node_modules/.cache/vuepress/def93d5ec7d08873cb2b57f6b0cff668.json new file mode 100644 index 00000000..a6004011 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/def93d5ec7d08873cb2b57f6b0cff668.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport SidebarButton from './SidebarButton.vue'\nimport AlgoliaSearchBox from '@AlgoliaSearchBox'\nimport SearchBox from './SearchBox.vue'\nimport NavLinks from './NavLinks.vue'\n\nexport default {\n components: { SidebarButton, NavLinks, SearchBox, AlgoliaSearchBox },\n\n data () {\n return {\n linksWrapMaxWidth: null\n }\n },\n\n mounted () {\n const MOBILE_DESKTOP_BREAKPOINT = 719 // refer to config.styl\n const NAVBAR_VERTICAL_PADDING = parseInt(css(this.$el, 'paddingLeft')) + parseInt(css(this.$el, 'paddingRight'))\n const handleLinksWrapWidth = () => {\n if (document.documentElement.clientWidth < MOBILE_DESKTOP_BREAKPOINT) {\n this.linksWrapMaxWidth = null\n } else {\n this.linksWrapMaxWidth = this.$el.offsetWidth - NAVBAR_VERTICAL_PADDING -\n (this.$refs.siteName && this.$refs.siteName.offsetWidth || 0)\n }\n }\n handleLinksWrapWidth()\n window.addEventListener('resize', handleLinksWrapWidth, false)\n },\n\n computed: {\n algolia () {\n return this.$themeLocaleConfig.algolia || this.$site.themeConfig.algolia || {}\n },\n\n isAlgoliaSearch () {\n return this.algolia && this.algolia.apiKey && this.algolia.indexName\n }\n }\n}\n\nfunction css (el, property) {\n // NOTE: Known bug, will return 'auto' if style value is 'auto'\n const win = el.ownerDocument.defaultView\n // null means not to return pseudo styles\n return win.getComputedStyle(el, null)[property]\n}\n",{"version":3,"sources":["Navbar.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA","file":"Navbar.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <header class=\"navbar\">\n <SidebarButton @toggle-sidebar=\"$emit('toggle-sidebar')\"/>\n\n <router-link\n :to=\"$localePath\"\n class=\"home-link\"\n >\n <img\n class=\"logo\"\n v-if=\"$site.themeConfig.logo\"\n :src=\"$withBase($site.themeConfig.logo)\"\n :alt=\"$siteTitle\"\n >\n <span\n ref=\"siteName\"\n class=\"site-name\"\n v-if=\"$siteTitle\"\n :class=\"{ 'can-hide': $site.themeConfig.logo }\"\n >{{ $siteTitle }}</span>\n </router-link>\n\n <div\n class=\"links\"\n :style=\"{\n 'max-width': linksWrapMaxWidth + 'px'\n }\"\n >\n <AlgoliaSearchBox\n v-if=\"isAlgoliaSearch\"\n :options=\"algolia\"\n />\n <SearchBox v-else-if=\"$site.themeConfig.search !== false\"/>\n <NavLinks class=\"can-hide\"/>\n </div>\n </header>\n</template>\n\n<script>\nimport SidebarButton from './SidebarButton.vue'\nimport AlgoliaSearchBox from '@AlgoliaSearchBox'\nimport SearchBox from './SearchBox.vue'\nimport NavLinks from './NavLinks.vue'\n\nexport default {\n components: { SidebarButton, NavLinks, SearchBox, AlgoliaSearchBox },\n\n data () {\n return {\n linksWrapMaxWidth: null\n }\n },\n\n mounted () {\n const MOBILE_DESKTOP_BREAKPOINT = 719 // refer to config.styl\n const NAVBAR_VERTICAL_PADDING = parseInt(css(this.$el, 'paddingLeft')) + parseInt(css(this.$el, 'paddingRight'))\n const handleLinksWrapWidth = () => {\n if (document.documentElement.clientWidth < MOBILE_DESKTOP_BREAKPOINT) {\n this.linksWrapMaxWidth = null\n } else {\n this.linksWrapMaxWidth = this.$el.offsetWidth - NAVBAR_VERTICAL_PADDING -\n (this.$refs.siteName && this.$refs.siteName.offsetWidth || 0)\n }\n }\n handleLinksWrapWidth()\n window.addEventListener('resize', handleLinksWrapWidth, false)\n },\n\n computed: {\n algolia () {\n return this.$themeLocaleConfig.algolia || this.$site.themeConfig.algolia || {}\n },\n\n isAlgoliaSearch () {\n return this.algolia && this.algolia.apiKey && this.algolia.indexName\n }\n }\n}\n\nfunction css (el, property) {\n // NOTE: Known bug, will return 'auto' if style value is 'auto'\n const win = el.ownerDocument.defaultView\n // null means not to return pseudo styles\n return win.getComputedStyle(el, null)[property]\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n$navbar-vertical-padding = 0.7rem\n$navbar-horizontal-padding = 1.5rem\n\n.navbar\n padding $navbar-vertical-padding $navbar-horizontal-padding\n line-height $navbarHeight - 1.4rem\n position relative\n a, span, img\n display inline-block\n .logo\n height $navbarHeight - 1.4rem\n min-width $navbarHeight - 1.4rem\n margin-right 0.8rem\n vertical-align top\n .site-name\n font-size 1.3rem\n font-weight 600\n color $textColor\n position relative\n .links\n padding-left 1.5rem\n box-sizing border-box\n background-color white\n white-space nowrap\n font-size 0.9rem\n position absolute\n right $navbar-horizontal-padding\n top $navbar-vertical-padding\n display flex\n .search-box\n flex: 0 0 auto\n vertical-align top\n .nav-links\n flex 1\n\n@media (max-width: $MQMobile)\n .navbar\n padding-left 4rem\n .can-hide\n display none\n .links\n padding-left 1.5rem\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/df6eb7b217d31ccd3ff163cf9c15bc63.json b/node_modules/vuepress/node_modules/.cache/vuepress/df6eb7b217d31ccd3ff163cf9c15bc63.json new file mode 100644 index 00000000..81d5c69e --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/df6eb7b217d31ccd3ff163cf9c15bc63.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/index.md?vue&type=template&id=4661a084&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/index.md","mtime":1541487864525},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"introduction\"><a class=\"header-anchor\" href=\"#introduction\" aria-hidden=\"true\">#</a> Introduction</h1>\n<p>TBOX is a glib-like cross-platform C library that is simple to use yet powerful in nature.</p>\n<p>The project focuses on making C development easier and provides many modules (.e.g stream, coroutine, regex, container, algorithm ...),\nso that any developer can quickly pick it up and enjoy the productivity boost when developing in C language.</p>\n<p>It supports the following platforms:</p>\n<ul>\n<li>Windows</li>\n<li>Macosx</li>\n<li>Linux</li>\n<li>Android</li>\n<li>iOS</li>\n</ul>\n<p>And it provides many compiling options using <a href=\"http://www.xmake.io\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a>:</p>\n<ul>\n<li>Release: Disable debug information, assertion, memory checking and enable optimization.</li>\n<li>Debug: Enable debug information, assertion, memory checking and disable optimization.</li>\n<li>Small: Disable all extensional modules and enable space optimization.</li>\n<li>Micro: compiling micro library (~64K) for the embed system.</li>\n</ul>\n<p>If you want to know more, please refer to:</p>\n<ul>\n<li><a href=\"http://tboox.org\" target=\"_blank\" rel=\"noopener noreferrer\">HomePage<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/documents\" target=\"_blank\" rel=\"noopener noreferrer\">Documents<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Github<OutboundLink/></a></li>\n<li><a href=\"https://gitee.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Gitee<OutboundLink/></a></li>\n</ul>\n<h2 id=\"features\"><a class=\"header-anchor\" href=\"#features\" aria-hidden=\"true\">#</a> Features</h2>\n<h4 id=\"the-stream-library\"><a class=\"header-anchor\" href=\"#the-stream-library\" aria-hidden=\"true\">#</a> The stream library</h4>\n<ul>\n<li>Supports file, data, http and socket source</li>\n<li>Supports the stream filter for gzip, charset and...</li>\n<li>Implements stream transfer</li>\n<li>Implements the static buffer stream for parsing data</li>\n<li>Supports coroutine and implements asynchronous operation</li>\n</ul>\n<h4 id=\"the-coroutine-library\"><a class=\"header-anchor\" href=\"#the-coroutine-library\" aria-hidden=\"true\">#</a> The coroutine library</h4>\n<ul>\n<li>Provides high-performance coroutine switch(refer to <a href=\"http://tboox.org/2016/10/28/benchbox-coroutine/\" target=\"_blank\" rel=\"noopener noreferrer\">reports<OutboundLink/></a>)</li>\n<li>Supports arm, arm64, x86, x86_64 ..</li>\n<li>Provides channel interfaces</li>\n<li>Provides semaphore and lock interfaces</li>\n<li>Supports io socket and stream operation in coroutine</li>\n<li>Provides some io servers (http ..) using coroutine</li>\n<li>Provides stackfull and stackless coroutines</li>\n<li>Support epoll, kqueue, poll, select and IOCP</li>\n</ul>\n<h4 id=\"the-database-library\"><a class=\"header-anchor\" href=\"#the-database-library\" aria-hidden=\"true\">#</a> The database library</h4>\n<ul>\n<li>Supports mysql and sqlite3 database and enumerates data using the iterator mode</li>\n</ul>\n<h4 id=\"the-xml-parser-library\"><a class=\"header-anchor\" href=\"#the-xml-parser-library\" aria-hidden=\"true\">#</a> The xml parser library</h4>\n<ul>\n<li>Supports DOM and SAX mode and Supports xpath</li>\n</ul>\n<h4 id=\"the-serialization-and-deserialization-library\"><a class=\"header-anchor\" href=\"#the-serialization-and-deserialization-library\" aria-hidden=\"true\">#</a> The serialization and deserialization library</h4>\n<ul>\n<li>Supports xml, json, bplist, xplist, binary formats</li>\n</ul>\n<h4 id=\"the-memory-library\"><a class=\"header-anchor\" href=\"#the-memory-library\" aria-hidden=\"true\">#</a> The memory library</h4>\n<ul>\n<li>Implements some memory pools for optimizing memory</li>\n<li>Supports fast memory error detecting. it can detect the following types of bugs for the debug mode:\n<ul>\n<li>out-of-bounds accesses to heap and globals</li>\n<li>use-after-free</li>\n<li>double-free, invalid free</li>\n<li>memory leaks</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"the-container-library\"><a class=\"header-anchor\" href=\"#the-container-library\" aria-hidden=\"true\">#</a> The container library</h4>\n<ul>\n<li>Implements hash table, single list, double list, vector, stack, queue\nand min/max heap. Supports iterator mode for algorithm</li>\n</ul>\n<h4 id=\"the-algorithm-library\"><a class=\"header-anchor\" href=\"#the-algorithm-library\" aria-hidden=\"true\">#</a> The algorithm library</h4>\n<ul>\n<li>Uses the iterator mode</li>\n<li>Implements find, binary find and reverse find algorithm</li>\n<li>Implements sort, bubble sort, quick sort, heap sort and insert sort algorithm</li>\n<li>Implements count, walk items, reverse walk items, for_all and rfor_all</li>\n</ul>\n<h4 id=\"the-network-library\"><a class=\"header-anchor\" href=\"#the-network-library\" aria-hidden=\"true\">#</a> The network library</h4>\n<ul>\n<li>Implements dns(cached)</li>\n<li>Implements ssl(openssl, polarssl, mbedtls)</li>\n<li>Implements http</li>\n<li>Implements cookies</li>\n<li>Supports ipv4, ipv6</li>\n<li>Supports coroutine</li>\n</ul>\n<h4 id=\"the-platform-library\"><a class=\"header-anchor\" href=\"#the-platform-library\" aria-hidden=\"true\">#</a> The platform library</h4>\n<ul>\n<li>Implements timer, fast and low precision timer</li>\n<li>Implements atomic and atomic64 operation</li>\n<li>Implements spinlock, mutex, event, semaphore, thread and thread pool</li>\n<li>Implements file, socket operation</li>\n<li>Implements poller using epoll, poll, select, kqueue ...</li>\n<li>Implements switch context interfaces for coroutine</li>\n</ul>\n<h4 id=\"the-charset-library\"><a class=\"header-anchor\" href=\"#the-charset-library\" aria-hidden=\"true\">#</a> The charset library</h4>\n<ul>\n<li>Supports utf8, utf16, gbk, gb2312, uc2 and uc4</li>\n<li>Supports big endian and little endian mode</li>\n</ul>\n<h4 id=\"the-zip-library\"><a class=\"header-anchor\" href=\"#the-zip-library\" aria-hidden=\"true\">#</a> The zip library</h4>\n<ul>\n<li>Supports gzip, zlibraw, zlib formats using the zlib library if exists</li>\n<li>Implements lzsw, lz77 and rlc algorithm</li>\n</ul>\n<h4 id=\"the-utils-library\"><a class=\"header-anchor\" href=\"#the-utils-library\" aria-hidden=\"true\">#</a> The utils library</h4>\n<ul>\n<li>Implements base32, base64 encoder and decoder</li>\n<li>Implements assert and trace output for the debug mode</li>\n<li>Implements bits operation for parsing u8, u16, u32, u64 data</li>\n</ul>\n<h4 id=\"the-math-library\"><a class=\"header-anchor\" href=\"#the-math-library\" aria-hidden=\"true\">#</a> The math library</h4>\n<ul>\n<li>Implements random generator</li>\n<li>Implements fast fixed-point calculation, Supports 6-bits, 16-bits, 30-bits fixed-point number</li>\n</ul>\n<h4 id=\"the-libc-library\"><a class=\"header-anchor\" href=\"#the-libc-library\" aria-hidden=\"true\">#</a> The libc library</h4>\n<ul>\n<li>Implements lightweight libc library interfaces, the interface name contains <code>tb_xxx</code> prefix for avoiding conflict</li>\n<li>Implements strixxx strrxxx wcsixxx wcsrxxx interface extension</li>\n<li>Optimizes some frequently-used interface, .e.g. memset, memcpy, strcpy ...</li>\n<li>Implements <code>memset_u16</code>, <code>memset_u32</code>, <code>memset_u64</code> extension interfaces</li>\n</ul>\n<h4 id=\"the-libm-library\"><a class=\"header-anchor\" href=\"#the-libm-library\" aria-hidden=\"true\">#</a> The libm library</h4>\n<ul>\n<li>Implements lightweight libm library interfaces, the interface name contains <code>tb_xxx</code> prefix for avoiding conflict</li>\n<li>Supports float and double type</li>\n</ul>\n<h4 id=\"the-regex-library\"><a class=\"header-anchor\" href=\"#the-regex-library\" aria-hidden=\"true\">#</a> The regex library</h4>\n<ul>\n<li>Supports match and replace</li>\n<li>Supports global/multiline/caseless mode</li>\n<li>Uses pcre, pcre2 and posix regex modules</li>\n</ul>\n<h4 id=\"the-hash-library\"><a class=\"header-anchor\" href=\"#the-hash-library\" aria-hidden=\"true\">#</a> The hash library</h4>\n<ul>\n<li>Implements crc32, adler32, md5 and sha1 hash algorithm</li>\n<li>Implements some string hash algorithms (.e.g bkdr, fnv32, fnv64, sdbm, djb2, rshash, aphash ...)</li>\n<li>Implements uuid generator</li>\n</ul>\n<h2 id=\"projects\"><a class=\"header-anchor\" href=\"#projects\" aria-hidden=\"true\">#</a> Projects</h2>\n<p>Some projects using tbox:</p>\n<ul>\n<li><a href=\"https://github.com/tboox/gbox\" target=\"_blank\" rel=\"noopener noreferrer\">gbox<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/vm86\" target=\"_blank\" rel=\"noopener noreferrer\">vm86<OutboundLink/></a></li>\n<li><a href=\"http://www.xmake.io\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/itrace\" target=\"_blank\" rel=\"noopener noreferrer\">itrace<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/tbox-projects\" target=\"_blank\" rel=\"noopener noreferrer\">more<OutboundLink/></a></li>\n</ul>\n<h2 id=\"build\"><a class=\"header-anchor\" href=\"#build\" aria-hidden=\"true\">#</a> Build</h2>\n<p>Please install xmake first: <a href=\"https://github.com/tboox/xmake\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></p>\n<!--beforebegin--><div class=\"language-console extra-class\"><!--afterbegin--><pre v-pre class=\"language-text\"><code># build for the host platform\n$ cd ./tbox\n$ xmake\n\n# build for the mingw platform\n$ cd ./tbox\n$ xmake f -p mingw --sdk=/home/mingwsdk \n$ xmake\n\n# build for the iphoneos platform\n$ cd ./tbox\n$ xmake f -p iphoneos \n$ xmake\n\n# build for the android platform\n$ cd ./tbox\n$ xmake f -p android --ndk=xxxxx\n$ xmake\n\n# build for the linux cross-platform\n$ cd ./tbox\n$ xmake f -p linux --sdk=/home/sdk # --bin=/home/sdk/bin\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"example\"><a class=\"header-anchor\" href=\"#example\" aria-hidden=\"true\">#</a> Example</h2>\n<!--beforebegin--><div class=\"language-c extra-class\"><!--afterbegin--><pre v-pre class=\"language-c\"><code><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">\"tbox/tbox.h\"</span></span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> argc<span class=\"token punctuation\">,</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span> argv<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// init tbox</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">tb_init</span><span class=\"token punctuation\">(</span>tb_null<span class=\"token punctuation\">,</span> tb_null<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"hello tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// init vector</span>\n tb_vector_ref_t vector <span class=\"token operator\">=</span> <span class=\"token function\">tb_vector_init</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">tb_element_cstr</span><span class=\"token punctuation\">(</span>tb_true<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// insert item</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// dump all items</span>\n tb_for_all <span class=\"token punctuation\">(</span>tb_char_t <span class=\"token keyword\">const</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">,</span> vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%s\"</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit vector</span>\n <span class=\"token function\">tb_vector_exit</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// init stream</span>\n tb_stream_ref_t stream <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_init_from_url</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"http://www.xxx.com/file.txt\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// open stream</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token function\">tb_stream_open</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// read line</span>\n tb_long_t size <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n tb_char_t line<span class=\"token punctuation\">[</span>TB_STREAM_BLOCK_MAXN<span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">while</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>size <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_bread_line</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">,</span> <span class=\"token keyword\">sizeof</span><span class=\"token punctuation\">(</span>line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">>=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"line: %s\"</span><span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit stream</span>\n <span class=\"token function\">tb_stream_exit</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// wait </span>\n <span class=\"token function\">getchar</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// exit tbox</span>\n <span class=\"token function\">tb_exit</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"contacts\"><a class=\"header-anchor\" href=\"#contacts\" aria-hidden=\"true\">#</a> Contacts</h2>\n<ul>\n<li>Email:<a href=\"mailto:waruqi@gmail.com\">waruqi@gmail.com</a></li>\n<li>Homepage:<a href=\"http://www.tboox.org\" target=\"_blank\" rel=\"noopener noreferrer\">tboox.org<OutboundLink/></a></li>\n<li>Community:<a href=\"https://www.reddit.com/r/tboox/\" target=\"_blank\" rel=\"noopener noreferrer\">/r/tboox on reddit<OutboundLink/></a></li>\n</ul>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/dfb518e5cffa007c69ad938dbf13c46f.json b/node_modules/vuepress/node_modules/.cache/vuepress/dfb518e5cffa007c69ad938dbf13c46f.json new file mode 100644 index 00000000..5f149839 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/dfb518e5cffa007c69ad938dbf13c46f.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Layout.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Layout.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import \"core-js/modules/es6.function.name\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport Vue from 'vue';\nimport nprogress from 'nprogress';\nimport Home from './Home.vue';\nimport Navbar from './Navbar.vue';\nimport Page from './Page.vue';\nimport Sidebar from './Sidebar.vue';\nimport SWUpdatePopup from './SWUpdatePopup.vue';\nimport { resolveSidebarItems } from './util';\nexport default {\n components: {\n Home: Home,\n Page: Page,\n Sidebar: Sidebar,\n Navbar: Navbar,\n SWUpdatePopup: SWUpdatePopup\n },\n data: function data() {\n return {\n isSidebarOpen: false,\n swUpdateEvent: null\n };\n },\n computed: {\n shouldShowNavbar: function shouldShowNavbar() {\n var themeConfig = this.$site.themeConfig;\n var frontmatter = this.$page.frontmatter;\n\n if (frontmatter.navbar === false || themeConfig.navbar === false) {\n return false;\n }\n\n return this.$title || themeConfig.logo || themeConfig.repo || themeConfig.nav || this.$themeLocaleConfig.nav;\n },\n shouldShowSidebar: function shouldShowSidebar() {\n var frontmatter = this.$page.frontmatter;\n return !frontmatter.layout && !frontmatter.home && frontmatter.sidebar !== false && this.sidebarItems.length;\n },\n sidebarItems: function sidebarItems() {\n return resolveSidebarItems(this.$page, this.$route, this.$site, this.$localePath);\n },\n pageClasses: function pageClasses() {\n var userPageClass = this.$page.frontmatter.pageClass;\n return [{\n 'no-navbar': !this.shouldShowNavbar,\n 'sidebar-open': this.isSidebarOpen,\n 'no-sidebar': !this.shouldShowSidebar\n }, userPageClass];\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n window.addEventListener('scroll', this.onScroll); // configure progress bar\n\n nprogress.configure({\n showSpinner: false\n });\n this.$router.beforeEach(function (to, from, next) {\n if (to.path !== from.path && !Vue.component(to.name)) {\n nprogress.start();\n }\n\n next();\n });\n this.$router.afterEach(function () {\n nprogress.done();\n _this.isSidebarOpen = false;\n });\n this.$on('sw-updated', this.onSWUpdated);\n },\n methods: {\n toggleSidebar: function toggleSidebar(to) {\n this.isSidebarOpen = typeof to === 'boolean' ? to : !this.isSidebarOpen;\n },\n // side swipe\n onTouchStart: function onTouchStart(e) {\n this.touchStart = {\n x: e.changedTouches[0].clientX,\n y: e.changedTouches[0].clientY\n };\n },\n onTouchEnd: function onTouchEnd(e) {\n var dx = e.changedTouches[0].clientX - this.touchStart.x;\n var dy = e.changedTouches[0].clientY - this.touchStart.y;\n\n if (Math.abs(dx) > Math.abs(dy) && Math.abs(dx) > 40) {\n if (dx > 0 && this.touchStart.x <= 80) {\n this.toggleSidebar(true);\n } else {\n this.toggleSidebar(false);\n }\n }\n },\n onSWUpdated: function onSWUpdated(e) {\n this.swUpdateEvent = e;\n }\n }\n};",{"version":3,"sources":["node_modules/vuepress/lib/default-theme/Layout.vue"],"names":["Vue","nprogress","Home","Navbar","Page","Sidebar","SWUpdatePopup","resolveSidebarItems","components","data","isSidebarOpen","swUpdateEvent","computed","shouldShowNavbar","themeConfig","$site","frontmatter","$page","navbar","$title","logo","repo","nav","$themeLocaleConfig","shouldShowSidebar","layout","home","sidebar","sidebarItems","length","$route","$localePath","pageClasses","userPageClass","pageClass","mounted","window","addEventListener","onScroll","configure","showSpinner","$router","beforeEach","to","from","next","path","component","name","start","afterEach","done","$on","onSWUpdated","methods","toggleSidebar","onTouchStart","e","touchStart","x","changedTouches","clientX","y","clientY","onTouchEnd","dx","dy","Math","abs"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,OAAOA,GAAP,MAAgB,KAAhB;AACA,OAAOC,SAAP,MAAsB,WAAtB;AACA,OAAOC,IAAP,MAAiB,YAAjB;AACA,OAAOC,MAAP,MAAmB,cAAnB;AACA,OAAOC,IAAP,MAAiB,YAAjB;AACA,OAAOC,OAAP,MAAoB,eAApB;AACA,OAAOC,aAAP,MAA0B,qBAA1B;AACA,SAASC,mBAAT,QAAoC,QAApC;AAEA,eAAe;AACbC,cAAY;AAAEN,cAAF;AAAQE,cAAR;AAAcC,oBAAd;AAAuBF,kBAAvB;AAA+BG;AAA/B,GADC;AAGbG,MAHa,kBAGL;AACN,WAAO;AACLC,qBAAe,KADV;AAELC,qBAAe;AAFV,KAAP;AAID,GARY;AAUbC,YAAU;AACRC,oBADQ,8BACY;AAAA,UACVC,WADU,GACM,KAAKC,KADX,CACVD,WADU;AAAA,UAEVE,WAFU,GAEM,KAAKC,KAFX,CAEVD,WAFU;;AAGlB,UACEA,YAAYE,MAAZ,KAAuB,KAAvB,IACAJ,YAAYI,MAAZ,KAAuB,KAFzB,EAEgC;AAC9B,eAAO,KAAP;AACD;;AACD,aACE,KAAKC,MAAL,IACAL,YAAYM,IADZ,IAEAN,YAAYO,IAFZ,IAGAP,YAAYQ,GAHZ,IAIA,KAAKC,kBAAL,CAAwBD,GAL1B;AAOD,KAhBO;AAkBRE,qBAlBQ,+BAkBa;AAAA,UACXR,WADW,GACK,KAAKC,KADV,CACXD,WADW;AAEnB,aACE,CAACA,YAAYS,MAAb,IACA,CAACT,YAAYU,IADb,IAEAV,YAAYW,OAAZ,KAAwB,KAFxB,IAGA,KAAKC,YAAL,CAAkBC,MAJpB;AAMD,KA1BO;AA4BRD,gBA5BQ,0BA4BQ;AACd,aAAOrB,oBACL,KAAKU,KADA,EAEL,KAAKa,MAFA,EAGL,KAAKf,KAHA,EAIL,KAAKgB,WAJA,CAAP;AAMD,KAnCO;AAqCRC,eArCQ,yBAqCO;AACb,UAAMC,gBAAgB,KAAKhB,KAAL,CAAWD,WAAX,CAAuBkB,SAA7C;AACA,aAAO,CACL;AACE,qBAAa,CAAC,KAAKrB,gBADrB;AAEE,wBAAgB,KAAKH,aAFvB;AAGE,sBAAc,CAAC,KAAKc;AAHtB,OADK,EAMLS,aANK,CAAP;AAQD;AA/CO,GAVG;AA4DbE,SA5Da,qBA4DF;AAAA;;AACTC,WAAOC,gBAAP,CAAwB,QAAxB,EAAkC,KAAKC,QAAvC,EADS,CAGT;;AACArC,cAAUsC,SAAV,CAAoB;AAAEC,mBAAa;AAAf,KAApB;AAEA,SAAKC,OAAL,CAAaC,UAAb,CAAwB,UAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AAC1C,UAAIF,GAAGG,IAAH,KAAYF,KAAKE,IAAjB,IAAyB,CAAC9C,IAAI+C,SAAJ,CAAcJ,GAAGK,IAAjB,CAA9B,EAAsD;AACpD/C,kBAAUgD,KAAV;AACD;;AACDJ;AACD,KALD;AAOA,SAAKJ,OAAL,CAAaS,SAAb,CAAuB,YAAM;AAC3BjD,gBAAUkD,IAAV;AACA,YAAKzC,aAAL,GAAqB,KAArB;AACD,KAHD;AAKA,SAAK0C,GAAL,CAAS,YAAT,EAAuB,KAAKC,WAA5B;AACD,GA/EY;AAiFbC,WAAS;AACPC,iBADO,yBACQZ,EADR,EACY;AACjB,WAAKjC,aAAL,GAAqB,OAAOiC,EAAP,KAAc,SAAd,GAA0BA,EAA1B,GAA+B,CAAC,KAAKjC,aAA1D;AACD,KAHM;AAKP;AACA8C,gBANO,wBAMOC,CANP,EAMU;AACf,WAAKC,UAAL,GAAkB;AAChBC,WAAGF,EAAEG,cAAF,CAAiB,CAAjB,EAAoBC,OADP;AAEhBC,WAAGL,EAAEG,cAAF,CAAiB,CAAjB,EAAoBG;AAFP,OAAlB;AAID,KAXM;AAaPC,cAbO,sBAaKP,CAbL,EAaQ;AACb,UAAMQ,KAAKR,EAAEG,cAAF,CAAiB,CAAjB,EAAoBC,OAApB,GAA8B,KAAKH,UAAL,CAAgBC,CAAzD;AACA,UAAMO,KAAKT,EAAEG,cAAF,CAAiB,CAAjB,EAAoBG,OAApB,GAA8B,KAAKL,UAAL,CAAgBI,CAAzD;;AACA,UAAIK,KAAKC,GAAL,CAASH,EAAT,IAAeE,KAAKC,GAAL,CAASF,EAAT,CAAf,IAA+BC,KAAKC,GAAL,CAASH,EAAT,IAAe,EAAlD,EAAsD;AACpD,YAAIA,KAAK,CAAL,IAAU,KAAKP,UAAL,CAAgBC,CAAhB,IAAqB,EAAnC,EAAuC;AACrC,eAAKJ,aAAL,CAAmB,IAAnB;AACD,SAFD,MAEO;AACL,eAAKA,aAAL,CAAmB,KAAnB;AACD;AACF;AACF,KAvBM;AAyBPF,eAzBO,uBAyBMI,CAzBN,EAyBS;AACd,WAAK9C,aAAL,GAAqB8C,CAArB;AACD;AA3BM;AAjFI,CAAf","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport Vue from 'vue'\nimport nprogress from 'nprogress'\nimport Home from './Home.vue'\nimport Navbar from './Navbar.vue'\nimport Page from './Page.vue'\nimport Sidebar from './Sidebar.vue'\nimport SWUpdatePopup from './SWUpdatePopup.vue'\nimport { resolveSidebarItems } from './util'\n\nexport default {\n components: { Home, Page, Sidebar, Navbar, SWUpdatePopup },\n\n data () {\n return {\n isSidebarOpen: false,\n swUpdateEvent: null\n }\n },\n\n computed: {\n shouldShowNavbar () {\n const { themeConfig } = this.$site\n const { frontmatter } = this.$page\n if (\n frontmatter.navbar === false ||\n themeConfig.navbar === false) {\n return false\n }\n return (\n this.$title ||\n themeConfig.logo ||\n themeConfig.repo ||\n themeConfig.nav ||\n this.$themeLocaleConfig.nav\n )\n },\n\n shouldShowSidebar () {\n const { frontmatter } = this.$page\n return (\n !frontmatter.layout &&\n !frontmatter.home &&\n frontmatter.sidebar !== false &&\n this.sidebarItems.length\n )\n },\n\n sidebarItems () {\n return resolveSidebarItems(\n this.$page,\n this.$route,\n this.$site,\n this.$localePath\n )\n },\n\n pageClasses () {\n const userPageClass = this.$page.frontmatter.pageClass\n return [\n {\n 'no-navbar': !this.shouldShowNavbar,\n 'sidebar-open': this.isSidebarOpen,\n 'no-sidebar': !this.shouldShowSidebar\n },\n userPageClass\n ]\n }\n },\n\n mounted () {\n window.addEventListener('scroll', this.onScroll)\n\n // configure progress bar\n nprogress.configure({ showSpinner: false })\n\n this.$router.beforeEach((to, from, next) => {\n if (to.path !== from.path && !Vue.component(to.name)) {\n nprogress.start()\n }\n next()\n })\n\n this.$router.afterEach(() => {\n nprogress.done()\n this.isSidebarOpen = false\n })\n\n this.$on('sw-updated', this.onSWUpdated)\n },\n\n methods: {\n toggleSidebar (to) {\n this.isSidebarOpen = typeof to === 'boolean' ? to : !this.isSidebarOpen\n },\n\n // side swipe\n onTouchStart (e) {\n this.touchStart = {\n x: e.changedTouches[0].clientX,\n y: e.changedTouches[0].clientY\n }\n },\n\n onTouchEnd (e) {\n const dx = e.changedTouches[0].clientX - this.touchStart.x\n const dy = e.changedTouches[0].clientY - this.touchStart.y\n if (Math.abs(dx) > Math.abs(dy) && Math.abs(dx) > 40) {\n if (dx > 0 && this.touchStart.x <= 80) {\n this.toggleSidebar(true)\n } else {\n this.toggleSidebar(false)\n }\n }\n },\n\n onSWUpdated (e) {\n this.swUpdateEvent = e\n }\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/dfbf2b9981c5bd0acd645a2cabd49b61.json b/node_modules/vuepress/node_modules/.cache/vuepress/dfbf2b9981c5bd0acd645a2cabd49b61.json new file mode 100644 index 00000000..423eef63 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/dfbf2b9981c5bd0acd645a2cabd49b61.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/Badge.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/Badge.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render, staticRenderFns\nimport script from \"./Badge.vue?vue&type=script&lang=js&\"\nexport * from \"./Badge.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Badge.vue?vue&type=style&index=0&id=099ab69c&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"099ab69c\",\n null\n \n)\n\ncomponent.options.__file = \"Badge.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/e05ba16c7c729101af8ace33fa1d4612.json b/node_modules/vuepress/node_modules/.cache/vuepress/e05ba16c7c729101af8ace33fa1d4612.json new file mode 100644 index 00000000..809955ec --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/e05ba16c7c729101af8ace33fa1d4612.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Navbar.vue?vue&type=template&id=040599e7&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Navbar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<header class=\"navbar\">\n <SidebarButton @toggle-sidebar=\"$emit('toggle-sidebar')\"/>\n\n <router-link\n :to=\"$localePath\"\n class=\"home-link\"\n >\n <img\n class=\"logo\"\n v-if=\"$site.themeConfig.logo\"\n :src=\"$withBase($site.themeConfig.logo)\"\n :alt=\"$siteTitle\"\n >\n <span\n ref=\"siteName\"\n class=\"site-name\"\n v-if=\"$siteTitle\"\n :class=\"{ 'can-hide': $site.themeConfig.logo }\"\n >{{ $siteTitle }}</span>\n </router-link>\n\n <div\n class=\"links\"\n :style=\"{\n 'max-width': linksWrapMaxWidth + 'px'\n }\"\n >\n <AlgoliaSearchBox\n v-if=\"isAlgoliaSearch\"\n :options=\"algolia\"\n />\n <SearchBox v-else-if=\"$site.themeConfig.search !== false\"/>\n <NavLinks class=\"can-hide\"/>\n </div>\n</header>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/e08cc18a1b8ea4a10138e7989563f445.json b/node_modules/vuepress/node_modules/.cache/vuepress/e08cc18a1b8ea4a10138e7989563f445.json new file mode 100644 index 00000000..1b4ea5d0 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/e08cc18a1b8ea4a10138e7989563f445.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NavLink.vue?vue&type=template&id=32ed2476&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NavLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return !_vm.isExternal(_vm.link)\n ? _c(\n \"router-link\",\n { staticClass: \"nav-link\", attrs: { to: _vm.link, exact: _vm.exact } },\n [_vm._v(_vm._s(_vm.item.text))]\n )\n : _c(\n \"a\",\n {\n staticClass: \"nav-link external\",\n attrs: {\n href: _vm.link,\n target:\n _vm.isMailto(_vm.link) || _vm.isTel(_vm.link) ? null : \"_blank\",\n rel:\n _vm.isMailto(_vm.link) || _vm.isTel(_vm.link)\n ? null\n : \"noopener noreferrer\"\n }\n },\n [_vm._v(\"\\n \" + _vm._s(_vm.item.text) + \"\\n \"), _c(\"OutboundLink\")],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/e0f79e8c0ed565718bdba4e24bcfc4ab.json b/node_modules/vuepress/node_modules/.cache/vuepress/e0f79e8c0ed565718bdba4e24bcfc4ab.json new file mode 100644 index 00000000..e385d980 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/e0f79e8c0ed565718bdba4e24bcfc4ab.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport NavLink from './NavLink.vue';\nimport DropdownTransition from './DropdownTransition.vue';\nexport default {\n components: {\n NavLink: NavLink,\n DropdownTransition: DropdownTransition\n },\n data: function data() {\n return {\n open: false\n };\n },\n props: {\n item: {\n required: true\n }\n },\n methods: {\n toggle: function toggle() {\n this.open = !this.open;\n }\n }\n};",{"version":3,"sources":["DropdownLink.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,OAAA,OAAA,MAAA,eAAA;AACA,OAAA,kBAAA,MAAA,0BAAA;AAEA,eAAA;AACA,cAAA;AAAA,oBAAA;AAAA;AAAA,GADA;AAGA,MAHA,kBAGA;AACA,WAAA;AACA,YAAA;AADA,KAAA;AAGA,GAPA;AASA,SAAA;AACA,UAAA;AACA,gBAAA;AADA;AADA,GATA;AAeA,WAAA;AACA,UADA,oBACA;AACA,WAAA,IAAA,GAAA,CAAA,KAAA,IAAA;AACA;AAHA;AAfA,CAAA","sourcesContent":["<template>\n <div\n class=\"dropdown-wrapper\"\n :class=\"{ open }\"\n >\n <a\n class=\"dropdown-title\"\n @click=\"toggle\"\n >\n <span class=\"title\">{{ item.text }}</span>\n <span\n class=\"arrow\"\n :class=\"open ? 'down' : 'right'\"\n ></span>\n </a>\n\n <DropdownTransition>\n <ul\n class=\"nav-dropdown\"\n v-show=\"open\"\n >\n <li\n class=\"dropdown-item\"\n :key=\"subItem.link || index\"\n v-for=\"(subItem, index) in item.items\"\n >\n <h4 v-if=\"subItem.type === 'links'\">{{ subItem.text }}</h4>\n\n <ul\n class=\"dropdown-subitem-wrapper\"\n v-if=\"subItem.type === 'links'\"\n >\n <li\n class=\"dropdown-subitem\"\n :key=\"childSubItem.link\"\n v-for=\"childSubItem in subItem.items\"\n >\n <NavLink :item=\"childSubItem\"/>\n </li>\n </ul>\n\n <NavLink\n v-else\n :item=\"subItem\"\n />\n </li>\n </ul>\n </DropdownTransition>\n </div>\n</template>\n\n<script>\nimport NavLink from './NavLink.vue'\nimport DropdownTransition from './DropdownTransition.vue'\n\nexport default {\n components: { NavLink, DropdownTransition },\n\n data () {\n return {\n open: false\n }\n },\n\n props: {\n item: {\n required: true\n }\n },\n\n methods: {\n toggle () {\n this.open = !this.open\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.dropdown-wrapper\n cursor pointer\n .dropdown-title\n display block\n &:hover\n border-color transparent\n .arrow\n vertical-align middle\n margin-top -1px\n margin-left 0.4rem\n .nav-dropdown\n .dropdown-item\n color inherit\n line-height 1.7rem\n h4\n margin 0.45rem 0 0\n border-top 1px solid #eee\n padding 0.45rem 1.5rem 0 1.25rem\n .dropdown-subitem-wrapper\n padding 0\n list-style none\n .dropdown-subitem\n font-size 0.9em\n a\n display block\n line-height 1.7rem\n position relative\n border-bottom none\n font-weight 400\n margin-bottom 0\n padding 0 1.5rem 0 1.25rem\n &:hover\n color $accentColor\n &.router-link-active\n color $accentColor\n &::after\n content \"\"\n width 0\n height 0\n border-left 5px solid $accentColor\n border-top 3px solid transparent\n border-bottom 3px solid transparent\n position absolute\n top calc(50% - 2px)\n left 9px\n &:first-child h4\n margin-top 0\n padding-top 0\n border-top 0\n\n@media (max-width: $MQMobile)\n .dropdown-wrapper\n &.open .dropdown-title\n margin-bottom 0.5rem\n .nav-dropdown\n transition height .1s ease-out\n overflow hidden\n .dropdown-item\n h4\n border-top 0\n margin-top 0\n padding-top 0\n h4, & > a\n font-size 15px\n line-height 2rem\n .dropdown-subitem\n font-size 14px\n padding-left 1rem\n\n@media (min-width: $MQMobile)\n .dropdown-wrapper\n height 1.8rem\n &:hover .nav-dropdown\n // override the inline style.\n display block !important\n .dropdown-title .arrow\n // make the arrow always down at desktop\n border-left 4px solid transparent\n border-right 4px solid transparent\n border-top 6px solid $arrowBgColor\n border-bottom 0\n .nav-dropdown\n display none\n // Avoid height shaked by clicking\n height auto !important\n box-sizing border-box;\n max-height calc(100vh - 2.7rem)\n overflow-y auto\n position absolute\n top 100%\n right 0\n background-color #fff\n padding 0.6rem 0\n border 1px solid #ddd\n border-bottom-color #ccc\n text-align left\n border-radius 0.25rem\n white-space nowrap\n margin 0\n</style>\n"],"sourceRoot":"node_modules/vuepress/lib/default-theme"}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/e18e2e81131abfbf6e154f0362452705.json b/node_modules/vuepress/node_modules/.cache/vuepress/e18e2e81131abfbf6e154f0362452705.json new file mode 100644 index 00000000..cd785635 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/e18e2e81131abfbf6e154f0362452705.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n@require './styles/wrapper.styl'\n\n.page\n padding-bottom 2rem\n\n.page-edit\n @extend $wrapper\n padding-top 1rem\n padding-bottom 1rem\n overflow auto\n .edit-link\n display inline-block\n a\n color lighten($textColor, 25%)\n margin-right 0.25rem\n .last-updated\n float right\n font-size 0.9em\n .prefix\n font-weight 500\n color lighten($textColor, 25%)\n .time\n font-weight 400\n color #aaa\n\n.page-nav\n @extend $wrapper\n padding-top 1rem\n padding-bottom 0\n .inner\n min-height 2rem\n margin-top 0\n border-top 1px solid $borderColor\n padding-top 1rem\n overflow auto // clear float\n .next\n float right\n\n@media (max-width: $MQMobile)\n .page-edit\n .edit-link\n margin-bottom .5rem\n .last-updated\n font-size .8em\n float none\n text-align left\n\n",{"version":3,"sources":["Page.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqMA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"Page.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <div class=\"page\">\n <slot name=\"top\"/>\n\n <Content :custom=\"false\"/>\n\n <div class=\"page-edit\">\n <div\n class=\"edit-link\"\n v-if=\"editLink\"\n >\n <a\n :href=\"editLink\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >{{ editLinkText }}</a>\n <OutboundLink/>\n </div>\n\n <div\n class=\"last-updated\"\n v-if=\"lastUpdated\"\n >\n <span class=\"prefix\">{{ lastUpdatedText }}: </span>\n <span class=\"time\">{{ lastUpdated }}</span>\n </div>\n </div>\n\n <div class=\"page-nav\" v-if=\"prev || next\">\n <p class=\"inner\">\n <span\n v-if=\"prev\"\n class=\"prev\"\n >\n ←\n <router-link\n v-if=\"prev\"\n class=\"prev\"\n :to=\"prev.path\"\n >\n {{ prev.title || prev.path }}\n </router-link>\n </span>\n\n <span\n v-if=\"next\"\n class=\"next\"\n >\n <router-link\n v-if=\"next\"\n :to=\"next.path\"\n >\n {{ next.title || next.path }}\n </router-link>\n →\n </span>\n </p>\n </div>\n\n <slot name=\"bottom\"/>\n </div>\n</template>\n\n<script>\nimport { resolvePage, normalize, outboundRE, endingSlashRE } from './util'\n\nexport default {\n props: ['sidebarItems'],\n\n computed: {\n lastUpdated () {\n if (this.$page.lastUpdated) {\n return new Date(this.$page.lastUpdated).toLocaleString(this.$lang)\n }\n },\n\n lastUpdatedText () {\n if (typeof this.$themeLocaleConfig.lastUpdated === 'string') {\n return this.$themeLocaleConfig.lastUpdated\n }\n if (typeof this.$site.themeConfig.lastUpdated === 'string') {\n return this.$site.themeConfig.lastUpdated\n }\n return 'Last Updated'\n },\n\n prev () {\n const prev = this.$page.frontmatter.prev\n if (prev === false) {\n return\n } else if (prev) {\n return resolvePage(this.$site.pages, prev, this.$route.path)\n } else {\n return resolvePrev(this.$page, this.sidebarItems)\n }\n },\n\n next () {\n const next = this.$page.frontmatter.next\n if (next === false) {\n return\n } else if (next) {\n return resolvePage(this.$site.pages, next, this.$route.path)\n } else {\n return resolveNext(this.$page, this.sidebarItems)\n }\n },\n\n editLink () {\n if (this.$page.frontmatter.editLink === false) {\n return\n }\n const {\n repo,\n editLinks,\n docsDir = '',\n docsBranch = 'master',\n docsRepo = repo\n } = this.$site.themeConfig\n\n let path = normalize(this.$page.path)\n if (endingSlashRE.test(path)) {\n path += 'README.md'\n } else {\n path += '.md'\n }\n if (docsRepo && editLinks) {\n return this.createEditLink(repo, docsRepo, docsDir, docsBranch, path)\n }\n },\n\n editLinkText () {\n return (\n this.$themeLocaleConfig.editLinkText ||\n this.$site.themeConfig.editLinkText ||\n `Edit this page`\n )\n }\n },\n\n methods: {\n createEditLink (repo, docsRepo, docsDir, docsBranch, path) {\n const bitbucket = /bitbucket.org/\n if (bitbucket.test(repo)) {\n const base = outboundRE.test(docsRepo)\n ? docsRepo\n : repo\n return (\n base.replace(endingSlashRE, '') +\n `/${docsBranch}` +\n (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') +\n path +\n `?mode=edit&spa=0&at=${docsBranch}&fileviewer=file-view-default`\n )\n }\n\n const base = outboundRE.test(docsRepo)\n ? docsRepo\n : `https://github.com/${docsRepo}`\n\n return (\n base.replace(endingSlashRE, '') +\n `/edit/${docsBranch}` +\n (docsDir ? '/' + docsDir.replace(endingSlashRE, '') : '') +\n path\n )\n }\n }\n}\n\nfunction resolvePrev (page, items) {\n return find(page, items, -1)\n}\n\nfunction resolveNext (page, items) {\n return find(page, items, 1)\n}\n\nfunction find (page, items, offset) {\n const res = []\n items.forEach(item => {\n if (item.type === 'group') {\n res.push(...item.children || [])\n } else {\n res.push(item)\n }\n })\n for (let i = 0; i < res.length; i++) {\n const cur = res[i]\n if (cur.type === 'page' && cur.path === page.path) {\n return res[i + offset]\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n@require './styles/wrapper.styl'\n\n.page\n padding-bottom 2rem\n\n.page-edit\n @extend $wrapper\n padding-top 1rem\n padding-bottom 1rem\n overflow auto\n .edit-link\n display inline-block\n a\n color lighten($textColor, 25%)\n margin-right 0.25rem\n .last-updated\n float right\n font-size 0.9em\n .prefix\n font-weight 500\n color lighten($textColor, 25%)\n .time\n font-weight 400\n color #aaa\n\n.page-nav\n @extend $wrapper\n padding-top 1rem\n padding-bottom 0\n .inner\n min-height 2rem\n margin-top 0\n border-top 1px solid $borderColor\n padding-top 1rem\n overflow auto // clear float\n .next\n float right\n\n@media (max-width: $MQMobile)\n .page-edit\n .edit-link\n margin-bottom .5rem\n .last-updated\n font-size .8em\n float none\n text-align left\n\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/e19902c1b3abdbdd7c18b9b11b750c0a.json b/node_modules/vuepress/node_modules/.cache/vuepress/e19902c1b3abdbdd7c18b9b11b750c0a.json new file mode 100644 index 00000000..8d5d2e69 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/e19902c1b3abdbdd7c18b9b11b750c0a.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/guide/getting-started.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/guide/getting-started.md","mtime":1541554688137},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./getting-started.md?vue&type=template&id=d7bc09fe&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('d7bc09fe', component.options)\n } else {\n api.reload('d7bc09fe', component.options)\n }\n module.hot.accept(\"./getting-started.md?vue&type=template&id=d7bc09fe&\", function () {\n api.rerender('d7bc09fe', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/guide/getting-started.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/e1b5da4c757888394e9ee99391ef996b.json b/node_modules/vuepress/node_modules/.cache/vuepress/e1b5da4c757888394e9ee99391ef996b.json new file mode 100644 index 00000000..c3a74cf4 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/e1b5da4c757888394e9ee99391ef996b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/manual/index.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/manual/index.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./index.md?vue&type=template&id=c064eaca&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n \"340b86fd\"\n \n)\n\ncomponent.options.__file = \"index.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/e210f10bb27e6cc0c26310922f43defb.json b/node_modules/vuepress/node_modules/.cache/vuepress/e210f10bb27e6cc0c26310922f43defb.json new file mode 100644 index 00000000..cb676671 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/e210f10bb27e6cc0c26310922f43defb.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/Badge.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/Badge.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render, staticRenderFns\nimport script from \"./Badge.vue?vue&type=script&lang=js&\"\nexport * from \"./Badge.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Badge.vue?vue&type=style&index=0&id=23988dc6&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"23988dc6\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('23988dc6', component.options)\n } else {\n api.reload('23988dc6', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/app/components/Badge.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/e386fe21bd979af0a39e0b4031fef338.json b/node_modules/vuepress/node_modules/.cache/vuepress/e386fe21bd979af0a39e0b4031fef338.json new file mode 100644 index 00000000..f3650e7c --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/e386fe21bd979af0a39e0b4031fef338.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./NavLinks.vue?vue&type=template&id=2e630b6d&\"\nimport script from \"./NavLinks.vue?vue&type=script&lang=js&\"\nexport * from \"./NavLinks.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NavLinks.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('2e630b6d', component.options)\n } else {\n api.reload('2e630b6d', component.options)\n }\n module.hot.accept(\"./NavLinks.vue?vue&type=template&id=2e630b6d&\", function () {\n api.rerender('2e630b6d', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/default-theme/NavLinks.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/e387ac4400af0f612e98d0ee266044a6.json b/node_modules/vuepress/node_modules/.cache/vuepress/e387ac4400af0f612e98d0ee266044a6.json new file mode 100644 index 00000000..19ca605f --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/e387ac4400af0f612e98d0ee266044a6.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./Navbar.vue?vue&type=template&id=1e9bb6d3&\"\nimport script from \"./Navbar.vue?vue&type=script&lang=js&\"\nexport * from \"./Navbar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Navbar.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"Navbar.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/e4252e78bea5661b706cfae1c27a9507.json b/node_modules/vuepress/node_modules/.cache/vuepress/e4252e78bea5661b706cfae1c27a9507.json new file mode 100644 index 00000000..707a5b39 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/e4252e78bea5661b706cfae1c27a9507.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import \"core-js/modules/es6.object.assign\";\nimport \"core-js/modules/es6.array.index-of\";\nimport \"core-js/modules/es6.string.trim\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nexport default {\n data: function data() {\n return {\n query: '',\n focused: false,\n focusIndex: 0\n };\n },\n computed: {\n showSuggestions: function showSuggestions() {\n return this.focused && this.suggestions && this.suggestions.length;\n },\n suggestions: function suggestions() {\n var query = this.query.trim().toLowerCase();\n\n if (!query) {\n return;\n }\n\n var _this$$site = this.$site,\n pages = _this$$site.pages,\n themeConfig = _this$$site.themeConfig;\n var max = themeConfig.searchMaxSuggestions || 5;\n var localePath = this.$localePath;\n\n var matches = function matches(item) {\n return item.title && item.title.toLowerCase().indexOf(query) > -1;\n };\n\n var res = [];\n\n for (var i = 0; i < pages.length; i++) {\n if (res.length >= max) break;\n var p = pages[i]; // filter out results that do not match current locale\n\n if (this.getPageLocalePath(p) !== localePath) {\n continue;\n }\n\n if (matches(p)) {\n res.push(p);\n } else if (p.headers) {\n for (var j = 0; j < p.headers.length; j++) {\n if (res.length >= max) break;\n var h = p.headers[j];\n\n if (matches(h)) {\n res.push(Object.assign({}, p, {\n path: p.path + '#' + h.slug,\n header: h\n }));\n }\n }\n }\n }\n\n return res;\n },\n // make suggestions align right when there are not enough items\n alignRight: function alignRight() {\n var navCount = (this.$site.themeConfig.nav || []).length;\n var repo = this.$site.repo ? 1 : 0;\n return navCount + repo <= 2;\n }\n },\n methods: {\n getPageLocalePath: function getPageLocalePath(page) {\n for (var localePath in this.$site.locales || {}) {\n if (localePath !== '/' && page.path.indexOf(localePath) === 0) {\n return localePath;\n }\n }\n\n return '/';\n },\n onUp: function onUp() {\n if (this.showSuggestions) {\n if (this.focusIndex > 0) {\n this.focusIndex--;\n } else {\n this.focusIndex = this.suggestions.length - 1;\n }\n }\n },\n onDown: function onDown() {\n if (this.showSuggestions) {\n if (this.focusIndex < this.suggestions.length - 1) {\n this.focusIndex++;\n } else {\n this.focusIndex = 0;\n }\n }\n },\n go: function go(i) {\n if (!this.showSuggestions) {\n return;\n }\n\n this.$router.push(this.suggestions[i].path);\n this.query = '';\n this.focusIndex = 0;\n },\n focus: function focus(i) {\n this.focusIndex = i;\n },\n unfocus: function unfocus() {\n this.focusIndex = -1;\n }\n }\n};",{"version":3,"sources":["node_modules/vuepress/lib/default-theme/SearchBox.vue"],"names":["data","query","focused","focusIndex","computed","showSuggestions","suggestions","length","trim","toLowerCase","$site","pages","themeConfig","max","searchMaxSuggestions","localePath","$localePath","matches","item","title","indexOf","res","i","p","getPageLocalePath","push","headers","j","h","Object","assign","path","slug","header","alignRight","navCount","nav","repo","methods","page","locales","onUp","onDown","go","$router","focus","unfocus"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,eAAe;AACbA,MADa,kBACL;AACN,WAAO;AACLC,aAAO,EADF;AAELC,eAAS,KAFJ;AAGLC,kBAAY;AAHP,KAAP;AAKD,GAPY;AASbC,YAAU;AACRC,mBADQ,6BACW;AACjB,aACE,KAAKH,OAAL,IACA,KAAKI,WADL,IAEA,KAAKA,WAAL,CAAiBC,MAHnB;AAKD,KAPO;AASRD,eATQ,yBASO;AACb,UAAML,QAAQ,KAAKA,KAAL,CAAWO,IAAX,GAAkBC,WAAlB,EAAd;;AACA,UAAI,CAACR,KAAL,EAAY;AACV;AACD;;AAJY,wBAMkB,KAAKS,KANvB;AAAA,UAMLC,KANK,eAMLA,KANK;AAAA,UAMEC,WANF,eAMEA,WANF;AAOb,UAAMC,MAAMD,YAAYE,oBAAZ,IAAoC,CAAhD;AACA,UAAMC,aAAa,KAAKC,WAAxB;;AACA,UAAMC,UAAU,SAAVA,OAAU;AAAA,eACdC,KAAKC,KAAL,IACAD,KAAKC,KAAL,CAAWV,WAAX,GAAyBW,OAAzB,CAAiCnB,KAAjC,IAA0C,CAAC,CAF7B;AAAA,OAAhB;;AAIA,UAAMoB,MAAM,EAAZ;;AACA,WAAK,IAAIC,IAAI,CAAb,EAAgBA,IAAIX,MAAMJ,MAA1B,EAAkCe,GAAlC,EAAuC;AACrC,YAAID,IAAId,MAAJ,IAAcM,GAAlB,EAAuB;AACvB,YAAMU,IAAIZ,MAAMW,CAAN,CAAV,CAFqC,CAGrC;;AACA,YAAI,KAAKE,iBAAL,CAAuBD,CAAvB,MAA8BR,UAAlC,EAA8C;AAC5C;AACD;;AACD,YAAIE,QAAQM,CAAR,CAAJ,EAAgB;AACdF,cAAII,IAAJ,CAASF,CAAT;AACD,SAFD,MAEO,IAAIA,EAAEG,OAAN,EAAe;AACpB,eAAK,IAAIC,IAAI,CAAb,EAAgBA,IAAIJ,EAAEG,OAAF,CAAUnB,MAA9B,EAAsCoB,GAAtC,EAA2C;AACzC,gBAAIN,IAAId,MAAJ,IAAcM,GAAlB,EAAuB;AACvB,gBAAMe,IAAIL,EAAEG,OAAF,CAAUC,CAAV,CAAV;;AACA,gBAAIV,QAAQW,CAAR,CAAJ,EAAgB;AACdP,kBAAII,IAAJ,CAASI,OAAOC,MAAP,CAAc,EAAd,EAAkBP,CAAlB,EAAqB;AAC5BQ,sBAAMR,EAAEQ,IAAF,GAAS,GAAT,GAAeH,EAAEI,IADK;AAE5BC,wBAAQL;AAFoB,eAArB,CAAT;AAID;AACF;AACF;AACF;;AACD,aAAOP,GAAP;AACD,KA9CO;AAgDR;AACAa,cAjDQ,wBAiDM;AACZ,UAAMC,WAAW,CAAC,KAAKzB,KAAL,CAAWE,WAAX,CAAuBwB,GAAvB,IAA8B,EAA/B,EAAmC7B,MAApD;AACA,UAAM8B,OAAO,KAAK3B,KAAL,CAAW2B,IAAX,GAAkB,CAAlB,GAAsB,CAAnC;AACA,aAAOF,WAAWE,IAAX,IAAmB,CAA1B;AACD;AArDO,GATG;AAiEbC,WAAS;AACPd,qBADO,6BACYe,IADZ,EACkB;AACvB,WAAK,IAAMxB,UAAX,IAAyB,KAAKL,KAAL,CAAW8B,OAAX,IAAsB,EAA/C,EAAmD;AACjD,YAAIzB,eAAe,GAAf,IAAsBwB,KAAKR,IAAL,CAAUX,OAAV,CAAkBL,UAAlB,MAAkC,CAA5D,EAA+D;AAC7D,iBAAOA,UAAP;AACD;AACF;;AACD,aAAO,GAAP;AACD,KARM;AAUP0B,QAVO,kBAUC;AACN,UAAI,KAAKpC,eAAT,EAA0B;AACxB,YAAI,KAAKF,UAAL,GAAkB,CAAtB,EAAyB;AACvB,eAAKA,UAAL;AACD,SAFD,MAEO;AACL,eAAKA,UAAL,GAAkB,KAAKG,WAAL,CAAiBC,MAAjB,GAA0B,CAA5C;AACD;AACF;AACF,KAlBM;AAoBPmC,UApBO,oBAoBG;AACR,UAAI,KAAKrC,eAAT,EAA0B;AACxB,YAAI,KAAKF,UAAL,GAAkB,KAAKG,WAAL,CAAiBC,MAAjB,GAA0B,CAAhD,EAAmD;AACjD,eAAKJ,UAAL;AACD,SAFD,MAEO;AACL,eAAKA,UAAL,GAAkB,CAAlB;AACD;AACF;AACF,KA5BM;AA8BPwC,MA9BO,cA8BHrB,CA9BG,EA8BA;AACL,UAAI,CAAC,KAAKjB,eAAV,EAA2B;AACzB;AACD;;AACD,WAAKuC,OAAL,CAAanB,IAAb,CAAkB,KAAKnB,WAAL,CAAiBgB,CAAjB,EAAoBS,IAAtC;AACA,WAAK9B,KAAL,GAAa,EAAb;AACA,WAAKE,UAAL,GAAkB,CAAlB;AACD,KArCM;AAuCP0C,SAvCO,iBAuCAvB,CAvCA,EAuCG;AACR,WAAKnB,UAAL,GAAkBmB,CAAlB;AACD,KAzCM;AA2CPwB,WA3CO,qBA2CI;AACT,WAAK3C,UAAL,GAAkB,CAAC,CAAnB;AACD;AA7CM;AAjEI,CAAf","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexport default {\n data () {\n return {\n query: '',\n focused: false,\n focusIndex: 0\n }\n },\n\n computed: {\n showSuggestions () {\n return (\n this.focused &&\n this.suggestions &&\n this.suggestions.length\n )\n },\n\n suggestions () {\n const query = this.query.trim().toLowerCase()\n if (!query) {\n return\n }\n\n const { pages, themeConfig } = this.$site\n const max = themeConfig.searchMaxSuggestions || 5\n const localePath = this.$localePath\n const matches = item => (\n item.title &&\n item.title.toLowerCase().indexOf(query) > -1\n )\n const res = []\n for (let i = 0; i < pages.length; i++) {\n if (res.length >= max) break\n const p = pages[i]\n // filter out results that do not match current locale\n if (this.getPageLocalePath(p) !== localePath) {\n continue\n }\n if (matches(p)) {\n res.push(p)\n } else if (p.headers) {\n for (let j = 0; j < p.headers.length; j++) {\n if (res.length >= max) break\n const h = p.headers[j]\n if (matches(h)) {\n res.push(Object.assign({}, p, {\n path: p.path + '#' + h.slug,\n header: h\n }))\n }\n }\n }\n }\n return res\n },\n\n // make suggestions align right when there are not enough items\n alignRight () {\n const navCount = (this.$site.themeConfig.nav || []).length\n const repo = this.$site.repo ? 1 : 0\n return navCount + repo <= 2\n }\n },\n\n methods: {\n getPageLocalePath (page) {\n for (const localePath in this.$site.locales || {}) {\n if (localePath !== '/' && page.path.indexOf(localePath) === 0) {\n return localePath\n }\n }\n return '/'\n },\n\n onUp () {\n if (this.showSuggestions) {\n if (this.focusIndex > 0) {\n this.focusIndex--\n } else {\n this.focusIndex = this.suggestions.length - 1\n }\n }\n },\n\n onDown () {\n if (this.showSuggestions) {\n if (this.focusIndex < this.suggestions.length - 1) {\n this.focusIndex++\n } else {\n this.focusIndex = 0\n }\n }\n },\n\n go (i) {\n if (!this.showSuggestions) {\n return\n }\n this.$router.push(this.suggestions[i].path)\n this.query = ''\n this.focusIndex = 0\n },\n\n focus (i) {\n this.focusIndex = i\n },\n\n unfocus () {\n this.focusIndex = -1\n }\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/e46fe198fb0759205633bfc0d38de830.json b/node_modules/vuepress/node_modules/.cache/vuepress/e46fe198fb0759205633bfc0d38de830.json new file mode 100644 index 00000000..b33197c2 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/e46fe198fb0759205633bfc0d38de830.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport NavLink from './NavLink.vue'\nimport DropdownTransition from './DropdownTransition.vue'\n\nexport default {\n components: { NavLink, DropdownTransition },\n\n data () {\n return {\n open: false\n }\n },\n\n props: {\n item: {\n required: true\n }\n },\n\n methods: {\n toggle () {\n this.open = !this.open\n }\n }\n}\n",{"version":3,"sources":["DropdownLink.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA","file":"DropdownLink.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <div\n class=\"dropdown-wrapper\"\n :class=\"{ open }\"\n >\n <a\n class=\"dropdown-title\"\n @click=\"toggle\"\n >\n <span class=\"title\">{{ item.text }}</span>\n <span\n class=\"arrow\"\n :class=\"open ? 'down' : 'right'\"\n ></span>\n </a>\n\n <DropdownTransition>\n <ul\n class=\"nav-dropdown\"\n v-show=\"open\"\n >\n <li\n class=\"dropdown-item\"\n :key=\"subItem.link || index\"\n v-for=\"(subItem, index) in item.items\"\n >\n <h4 v-if=\"subItem.type === 'links'\">{{ subItem.text }}</h4>\n\n <ul\n class=\"dropdown-subitem-wrapper\"\n v-if=\"subItem.type === 'links'\"\n >\n <li\n class=\"dropdown-subitem\"\n :key=\"childSubItem.link\"\n v-for=\"childSubItem in subItem.items\"\n >\n <NavLink :item=\"childSubItem\"/>\n </li>\n </ul>\n\n <NavLink\n v-else\n :item=\"subItem\"\n />\n </li>\n </ul>\n </DropdownTransition>\n </div>\n</template>\n\n<script>\nimport NavLink from './NavLink.vue'\nimport DropdownTransition from './DropdownTransition.vue'\n\nexport default {\n components: { NavLink, DropdownTransition },\n\n data () {\n return {\n open: false\n }\n },\n\n props: {\n item: {\n required: true\n }\n },\n\n methods: {\n toggle () {\n this.open = !this.open\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.dropdown-wrapper\n cursor pointer\n .dropdown-title\n display block\n &:hover\n border-color transparent\n .arrow\n vertical-align middle\n margin-top -1px\n margin-left 0.4rem\n .nav-dropdown\n .dropdown-item\n color inherit\n line-height 1.7rem\n h4\n margin 0.45rem 0 0\n border-top 1px solid #eee\n padding 0.45rem 1.5rem 0 1.25rem\n .dropdown-subitem-wrapper\n padding 0\n list-style none\n .dropdown-subitem\n font-size 0.9em\n a\n display block\n line-height 1.7rem\n position relative\n border-bottom none\n font-weight 400\n margin-bottom 0\n padding 0 1.5rem 0 1.25rem\n &:hover\n color $accentColor\n &.router-link-active\n color $accentColor\n &::after\n content \"\"\n width 0\n height 0\n border-left 5px solid $accentColor\n border-top 3px solid transparent\n border-bottom 3px solid transparent\n position absolute\n top calc(50% - 2px)\n left 9px\n &:first-child h4\n margin-top 0\n padding-top 0\n border-top 0\n\n@media (max-width: $MQMobile)\n .dropdown-wrapper\n &.open .dropdown-title\n margin-bottom 0.5rem\n .nav-dropdown\n transition height .1s ease-out\n overflow hidden\n .dropdown-item\n h4\n border-top 0\n margin-top 0\n padding-top 0\n h4, & > a\n font-size 15px\n line-height 2rem\n .dropdown-subitem\n font-size 14px\n padding-left 1rem\n\n@media (min-width: $MQMobile)\n .dropdown-wrapper\n height 1.8rem\n &:hover .nav-dropdown\n // override the inline style.\n display block !important\n .dropdown-title .arrow\n // make the arrow always down at desktop\n border-left 4px solid transparent\n border-right 4px solid transparent\n border-top 6px solid $arrowBgColor\n border-bottom 0\n .nav-dropdown\n display none\n // Avoid height shaked by clicking\n height auto !important\n box-sizing border-box;\n max-height calc(100vh - 2.7rem)\n overflow-y auto\n position absolute\n top 100%\n right 0\n background-color #fff\n padding 0.6rem 0\n border 1px solid #ddd\n border-bottom-color #ccc\n text-align left\n border-radius 0.25rem\n white-space nowrap\n margin 0\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/e4abb61b7f0bc6afbf0c5d6e801106d5.json b/node_modules/vuepress/node_modules/.cache/vuepress/e4abb61b7f0bc6afbf0c5d6e801106d5.json new file mode 100644 index 00000000..16b7785d --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/e4abb61b7f0bc6afbf0c5d6e801106d5.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render, staticRenderFns\nimport script from \"./SidebarLink.vue?vue&type=script&lang=js&\"\nexport * from \"./SidebarLink.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SidebarLink.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"SidebarLink.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/e569a84c440ecb942dee87f693ed7864.json b/node_modules/vuepress/node_modules/.cache/vuepress/e569a84c440ecb942dee87f693ed7864.json new file mode 100644 index 00000000..c8d6aacb --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/e569a84c440ecb942dee87f693ed7864.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue?vue&type=template&id=0ec87fea&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sidebar-group\",class:{ first: _vm.first, collapsable: _vm.collapsable }},[_vm._ssrNode(\"<p\"+(_vm._ssrClass(\"sidebar-heading\",{ open: _vm.open }))+\"><span>\"+_vm._ssrEscape(_vm._s(_vm.item.title))+\"</span> \"+((_vm.collapsable)?(\"<span\"+(_vm._ssrClass(\"arrow\",_vm.open ? 'down' : 'right'))+\"></span>\"):\"<!---->\")+\"</p> \"),_c('DropdownTransition',[(_vm.open || !_vm.collapsable)?_c('ul',{ref:\"items\",staticClass:\"sidebar-group-items\"},_vm._l((_vm.item.children),function(child){return _c('li',[_c('SidebarLink',{attrs:{\"item\":child}})],1)})):_vm._e()])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/e570a4046a41e628ff07214b90b3c239.json b/node_modules/vuepress/node_modules/.cache/vuepress/e570a4046a41e628ff07214b90b3c239.json new file mode 100644 index 00000000..7d7770f0 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/e570a4046a41e628ff07214b90b3c239.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/util.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/util.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import \"core-js/modules/es6.array.index-of\";\nimport \"core-js/modules/es6.array.is-array\";\nimport \"core-js/modules/es6.array.filter\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/es6.regexp.split\";\nimport \"core-js/modules/es6.object.assign\";\nimport \"core-js/modules/es6.regexp.match\";\nimport \"core-js/modules/es6.regexp.replace\";\nexport var hashRE = /#.*$/;\nexport var extRE = /\\.(md|html)$/;\nexport var endingSlashRE = /\\/$/;\nexport var outboundRE = /^(https?:|mailto:|tel:)/;\nexport function normalize(path) {\n return decodeURI(path).replace(hashRE, '').replace(extRE, '');\n}\nexport function getHash(path) {\n var match = path.match(hashRE);\n\n if (match) {\n return match[0];\n }\n}\nexport function isExternal(path) {\n return outboundRE.test(path);\n}\nexport function isMailto(path) {\n return /^mailto:/.test(path);\n}\nexport function isTel(path) {\n return /^tel:/.test(path);\n}\nexport function ensureExt(path) {\n if (isExternal(path)) {\n return path;\n }\n\n var hashMatch = path.match(hashRE);\n var hash = hashMatch ? hashMatch[0] : '';\n var normalized = normalize(path);\n\n if (endingSlashRE.test(normalized)) {\n return path;\n }\n\n return normalized + '.html' + hash;\n}\nexport function isActive(route, path) {\n var routeHash = route.hash;\n var linkHash = getHash(path);\n\n if (linkHash && routeHash !== linkHash) {\n return false;\n }\n\n var routePath = normalize(route.path);\n var pagePath = normalize(path);\n return routePath === pagePath;\n}\nexport function resolvePage(pages, rawPath, base) {\n if (base) {\n rawPath = resolvePath(rawPath, base);\n }\n\n var path = normalize(rawPath);\n\n for (var i = 0; i < pages.length; i++) {\n if (normalize(pages[i].path) === path) {\n return Object.assign({}, pages[i], {\n type: 'page',\n path: ensureExt(rawPath)\n });\n }\n }\n\n console.error(\"[vuepress] No matching page found for sidebar item \\\"\".concat(rawPath, \"\\\"\"));\n return {};\n}\n\nfunction resolvePath(relative, base, append) {\n var firstChar = relative.charAt(0);\n\n if (firstChar === '/') {\n return relative;\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative;\n }\n\n var stack = base.split('/'); // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n } // resolve relative path\n\n\n var segments = relative.replace(/^\\//, '').split('/');\n\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n } // ensure leading slash\n\n\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/');\n}\n\nexport function resolveSidebarItems(page, route, site, localePath) {\n var pages = site.pages,\n themeConfig = site.themeConfig;\n var localeConfig = localePath && themeConfig.locales ? themeConfig.locales[localePath] || themeConfig : themeConfig;\n var pageSidebarConfig = page.frontmatter.sidebar || localeConfig.sidebar || themeConfig.sidebar;\n\n if (pageSidebarConfig === 'auto') {\n return resolveHeaders(page);\n }\n\n var sidebarConfig = localeConfig.sidebar || themeConfig.sidebar;\n\n if (!sidebarConfig) {\n return [];\n } else {\n var _resolveMatchingConfi = resolveMatchingConfig(route, sidebarConfig),\n base = _resolveMatchingConfi.base,\n config = _resolveMatchingConfi.config;\n\n return config ? config.map(function (item) {\n return resolveItem(item, pages, base);\n }) : [];\n }\n}\n\nfunction resolveHeaders(page) {\n var headers = groupHeaders(page.headers || []);\n return [{\n type: 'group',\n collapsable: false,\n title: page.title,\n children: headers.map(function (h) {\n return {\n type: 'auto',\n title: h.title,\n basePath: page.path,\n path: page.path + '#' + h.slug,\n children: h.children || []\n };\n })\n }];\n}\n\nexport function groupHeaders(headers) {\n // group h3s under h2\n headers = headers.map(function (h) {\n return Object.assign({}, h);\n });\n var lastH2;\n headers.forEach(function (h) {\n if (h.level === 2) {\n lastH2 = h;\n } else if (lastH2) {\n (lastH2.children || (lastH2.children = [])).push(h);\n }\n });\n return headers.filter(function (h) {\n return h.level === 2;\n });\n}\nexport function resolveNavLinkItem(linkItem) {\n return Object.assign(linkItem, {\n type: linkItem.items && linkItem.items.length ? 'links' : 'link'\n });\n}\nexport function resolveMatchingConfig(route, config) {\n if (Array.isArray(config)) {\n return {\n base: '/',\n config: config\n };\n }\n\n for (var base in config) {\n if (ensureEndingSlash(route.path).indexOf(base) === 0) {\n return {\n base: base,\n config: config[base]\n };\n }\n }\n\n return {};\n}\n\nfunction ensureEndingSlash(path) {\n return /(\\.html|\\/)$/.test(path) ? path : path + '/';\n}\n\nfunction resolveItem(item, pages, base, isNested) {\n if (typeof item === 'string') {\n return resolvePage(pages, item, base);\n } else if (Array.isArray(item)) {\n return Object.assign(resolvePage(pages, item[0], base), {\n title: item[1]\n });\n } else {\n if (isNested) {\n console.error('[vuepress] Nested sidebar groups are not supported. ' + 'Consider using navbar + categories instead.');\n }\n\n var children = item.children || [];\n return {\n type: 'group',\n title: item.title,\n children: children.map(function (child) {\n return resolveItem(child, pages, base, true);\n }),\n collapsable: item.collapsable !== false\n };\n }\n}",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/e572f32eb387eb99f9a72a3b4786316b.json b/node_modules/vuepress/node_modules/.cache/vuepress/e572f32eb387eb99f9a72a3b4786316b.json new file mode 100644 index 00000000..21ec6f6f --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/e572f32eb387eb99f9a72a3b4786316b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue?vue&type=template&id=2a2a1355&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div class=\"search-box\">\n <input\n @input=\"query = $event.target.value\"\n aria-label=\"Search\"\n :value=\"query\"\n :class=\"{ 'focused': focused }\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n @focus=\"focused = true\"\n @blur=\"focused = false\"\n @keyup.enter=\"go(focusIndex)\"\n @keyup.up=\"onUp\"\n @keyup.down=\"onDown\"\n >\n <ul\n class=\"suggestions\"\n v-if=\"showSuggestions\"\n :class=\"{ 'align-right': alignRight }\"\n @mouseleave=\"unfocus\"\n >\n <li\n class=\"suggestion\"\n v-for=\"(s, i) in suggestions\"\n :class=\"{ focused: i === focusIndex }\"\n @mousedown=\"go(i)\"\n @mouseenter=\"focus(i)\"\n >\n <a :href=\"s.path\" @click.prevent>\n <span class=\"page-title\">{{ s.title || s.path }}</span>\n <span v-if=\"s.header\" class=\"header\">> {{ s.header.title }}</span>\n </a>\n </li>\n </ul>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/e5e462d51fba95236043a1a40f2a5873.json b/node_modules/vuepress/node_modules/.cache/vuepress/e5e462d51fba95236043a1a40f2a5873.json new file mode 100644 index 00000000..1917833d --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/e5e462d51fba95236043a1a40f2a5873.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.dropdown-wrapper\n cursor pointer\n .dropdown-title\n display block\n &:hover\n border-color transparent\n .arrow\n vertical-align middle\n margin-top -1px\n margin-left 0.4rem\n .nav-dropdown\n .dropdown-item\n color inherit\n line-height 1.7rem\n h4\n margin 0.45rem 0 0\n border-top 1px solid #eee\n padding 0.45rem 1.5rem 0 1.25rem\n .dropdown-subitem-wrapper\n padding 0\n list-style none\n .dropdown-subitem\n font-size 0.9em\n a\n display block\n line-height 1.7rem\n position relative\n border-bottom none\n font-weight 400\n margin-bottom 0\n padding 0 1.5rem 0 1.25rem\n &:hover\n color $accentColor\n &.router-link-active\n color $accentColor\n &::after\n content \"\"\n width 0\n height 0\n border-left 5px solid $accentColor\n border-top 3px solid transparent\n border-bottom 3px solid transparent\n position absolute\n top calc(50% - 2px)\n left 9px\n &:first-child h4\n margin-top 0\n padding-top 0\n border-top 0\n\n@media (max-width: $MQMobile)\n .dropdown-wrapper\n &.open .dropdown-title\n margin-bottom 0.5rem\n .nav-dropdown\n transition height .1s ease-out\n overflow hidden\n .dropdown-item\n h4\n border-top 0\n margin-top 0\n padding-top 0\n h4, & > a\n font-size 15px\n line-height 2rem\n .dropdown-subitem\n font-size 14px\n padding-left 1rem\n\n@media (min-width: $MQMobile)\n .dropdown-wrapper\n height 1.8rem\n &:hover .nav-dropdown\n // override the inline style.\n display block !important\n .dropdown-title .arrow\n // make the arrow always down at desktop\n border-left 4px solid transparent\n border-right 4px solid transparent\n border-top 6px solid $arrowBgColor\n border-bottom 0\n .nav-dropdown\n display none\n // Avoid height shaked by clicking\n height auto !important\n box-sizing border-box;\n max-height calc(100vh - 2.7rem)\n overflow-y auto\n position absolute\n top 100%\n right 0\n background-color #fff\n padding 0.6rem 0\n border 1px solid #ddd\n border-bottom-color #ccc\n text-align left\n border-radius 0.25rem\n white-space nowrap\n margin 0\n",{"version":3,"sources":["DropdownLink.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+EA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"DropdownLink.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <div\n class=\"dropdown-wrapper\"\n :class=\"{ open }\"\n >\n <a\n class=\"dropdown-title\"\n @click=\"toggle\"\n >\n <span class=\"title\">{{ item.text }}</span>\n <span\n class=\"arrow\"\n :class=\"open ? 'down' : 'right'\"\n ></span>\n </a>\n\n <DropdownTransition>\n <ul\n class=\"nav-dropdown\"\n v-show=\"open\"\n >\n <li\n class=\"dropdown-item\"\n :key=\"subItem.link || index\"\n v-for=\"(subItem, index) in item.items\"\n >\n <h4 v-if=\"subItem.type === 'links'\">{{ subItem.text }}</h4>\n\n <ul\n class=\"dropdown-subitem-wrapper\"\n v-if=\"subItem.type === 'links'\"\n >\n <li\n class=\"dropdown-subitem\"\n :key=\"childSubItem.link\"\n v-for=\"childSubItem in subItem.items\"\n >\n <NavLink :item=\"childSubItem\"/>\n </li>\n </ul>\n\n <NavLink\n v-else\n :item=\"subItem\"\n />\n </li>\n </ul>\n </DropdownTransition>\n </div>\n</template>\n\n<script>\nimport NavLink from './NavLink.vue'\nimport DropdownTransition from './DropdownTransition.vue'\n\nexport default {\n components: { NavLink, DropdownTransition },\n\n data () {\n return {\n open: false\n }\n },\n\n props: {\n item: {\n required: true\n }\n },\n\n methods: {\n toggle () {\n this.open = !this.open\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.dropdown-wrapper\n cursor pointer\n .dropdown-title\n display block\n &:hover\n border-color transparent\n .arrow\n vertical-align middle\n margin-top -1px\n margin-left 0.4rem\n .nav-dropdown\n .dropdown-item\n color inherit\n line-height 1.7rem\n h4\n margin 0.45rem 0 0\n border-top 1px solid #eee\n padding 0.45rem 1.5rem 0 1.25rem\n .dropdown-subitem-wrapper\n padding 0\n list-style none\n .dropdown-subitem\n font-size 0.9em\n a\n display block\n line-height 1.7rem\n position relative\n border-bottom none\n font-weight 400\n margin-bottom 0\n padding 0 1.5rem 0 1.25rem\n &:hover\n color $accentColor\n &.router-link-active\n color $accentColor\n &::after\n content \"\"\n width 0\n height 0\n border-left 5px solid $accentColor\n border-top 3px solid transparent\n border-bottom 3px solid transparent\n position absolute\n top calc(50% - 2px)\n left 9px\n &:first-child h4\n margin-top 0\n padding-top 0\n border-top 0\n\n@media (max-width: $MQMobile)\n .dropdown-wrapper\n &.open .dropdown-title\n margin-bottom 0.5rem\n .nav-dropdown\n transition height .1s ease-out\n overflow hidden\n .dropdown-item\n h4\n border-top 0\n margin-top 0\n padding-top 0\n h4, & > a\n font-size 15px\n line-height 2rem\n .dropdown-subitem\n font-size 14px\n padding-left 1rem\n\n@media (min-width: $MQMobile)\n .dropdown-wrapper\n height 1.8rem\n &:hover .nav-dropdown\n // override the inline style.\n display block !important\n .dropdown-title .arrow\n // make the arrow always down at desktop\n border-left 4px solid transparent\n border-right 4px solid transparent\n border-top 6px solid $arrowBgColor\n border-bottom 0\n .nav-dropdown\n display none\n // Avoid height shaked by clicking\n height auto !important\n box-sizing border-box;\n max-height calc(100vh - 2.7rem)\n overflow-y auto\n position absolute\n top 100%\n right 0\n background-color #fff\n padding 0.6rem 0\n border 1px solid #ddd\n border-bottom-color #ccc\n text-align left\n border-radius 0.25rem\n white-space nowrap\n margin 0\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/e68747e1e478056a9171514a348567f0.json b/node_modules/vuepress/node_modules/.cache/vuepress/e68747e1e478056a9171514a348567f0.json new file mode 100644 index 00000000..5ac060d6 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/e68747e1e478056a9171514a348567f0.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue?vue&type=template&id=2e630b6d&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<nav\n class=\"nav-links\"\n v-if=\"userLinks.length || repoLink\"\n>\n <!-- user links -->\n <div\n class=\"nav-item\"\n v-for=\"item in userLinks\"\n :key=\"item.link\"\n >\n <DropdownLink\n v-if=\"item.type === 'links'\"\n :item=\"item\"\n />\n <NavLink\n v-else\n :item=\"item\"\n />\n </div>\n\n <!-- repo link -->\n <a\n v-if=\"repoLink\"\n :href=\"repoLink\"\n class=\"repo-link\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {{ repoLabel }}\n <OutboundLink/>\n </a>\n</nav>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/e6881ee6f86fd812ecd8cc9399c1ebf2.json b/node_modules/vuepress/node_modules/.cache/vuepress/e6881ee6f86fd812ecd8cc9399c1ebf2.json new file mode 100644 index 00000000..83c877ab --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/e6881ee6f86fd812ecd8cc9399c1ebf2.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/README.md?vue&type=template&id=5fa9442e&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/README.md","mtime":1541486439372},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/e6aba289fa787229aaf681519f876779.json b/node_modules/vuepress/node_modules/.cache/vuepress/e6aba289fa787229aaf681519f876779.json new file mode 100644 index 00000000..15a809a8 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/e6aba289fa787229aaf681519f876779.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/app.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/app.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import \"core-js/modules/es6.object.assign\";\nimport Vue from 'vue';\nimport Router from 'vue-router';\nimport dataMixin from './dataMixin';\nimport store from './store';\nimport { routes } from '@temp/routes';\nimport { siteData } from '@temp/siteData';\nimport enhanceApp from '@temp/enhanceApp';\nimport themeEnhanceApp from '@temp/themeEnhanceApp'; // generated from user config\n\nimport('@temp/style.styl'); // built-in components\n\nimport Content from './components/Content';\nimport OutboundLink from './components/OutboundLink.vue';\nimport ClientOnly from './components/ClientOnly'; // suggest dev server restart on base change\n\nif (module.hot) {\n var prevBase = siteData.base;\n module.hot.accept('./.temp/siteData', function () {\n if (siteData.base !== prevBase) {\n window.alert(\"[vuepress] Site base has changed. \" + \"Please restart dev server to ensure correct asset paths.\");\n }\n });\n}\n\nVue.config.productionTip = false;\nVue.use(Router); // mixin for exposing $site and $page\n\nVue.mixin(dataMixin(siteData)); // component for rendering markdown content and setting title etc.\n\nVue.component('Content', Content);\nVue.component('OutboundLink', OutboundLink);\nVue.component('Badge', function () {\n return import('./components/Badge.vue');\n}); // component for client-only content\n\nVue.component('ClientOnly', ClientOnly); // global helper for adding base path to absolute urls\n\nVue.prototype.$withBase = function (path) {\n var base = this.$site.base;\n\n if (path.charAt(0) === '/') {\n return base + path.slice(1);\n } else {\n return path;\n }\n};\n\nexport function createApp() {\n var router = new Router({\n base: siteData.base,\n mode: 'history',\n fallback: false,\n routes: routes,\n scrollBehavior: function scrollBehavior(to, from, saved) {\n if (saved) {\n return saved;\n } else if (to.hash) {\n if (store.disableScrollBehavior) {\n return false;\n }\n\n return {\n selector: to.hash\n };\n } else {\n return {\n x: 0,\n y: 0\n };\n }\n }\n }); // redirect /foo to /foo/\n\n router.beforeEach(function (to, from, next) {\n if (!/(\\/|\\.html)$/.test(to.path)) {\n next(Object.assign({}, to, {\n path: to.path + '/'\n }));\n } else {\n next();\n }\n });\n var options = {};\n themeEnhanceApp({\n Vue: Vue,\n options: options,\n router: router,\n siteData: siteData\n });\n enhanceApp({\n Vue: Vue,\n options: options,\n router: router,\n siteData: siteData\n });\n var app = new Vue(Object.assign(options, {\n router: router,\n render: function render(h) {\n return h('div', {\n attrs: {\n id: 'app'\n }\n }, [h('router-view', {\n ref: 'layout'\n })]);\n }\n }));\n return {\n app: app,\n router: router\n };\n}",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/e7225e92dda5308fc465e7dc3b8c3c5f.json b/node_modules/vuepress/node_modules/.cache/vuepress/e7225e92dda5308fc465e7dc3b8c3c5f.json new file mode 100644 index 00000000..ee55694e --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/e7225e92dda5308fc465e7dc3b8c3c5f.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NotFound.vue?vue&type=template&id=52d5a9f4&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NotFound.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div class=\"theme-container\">\n <div class=\"content\">\n <h1>404</h1>\n <blockquote>{{ getMsg() }}</blockquote>\n <router-link to=\"/\">Take me home.</router-link>\n </div>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/e72b28f8d743b685292a5687726357c3.json b/node_modules/vuepress/node_modules/.cache/vuepress/e72b28f8d743b685292a5687726357c3.json new file mode 100644 index 00000000..8f2de362 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/e72b28f8d743b685292a5687726357c3.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./DropdownLink.vue?vue&type=template&id=ba85aa8c&\"\nimport script from \"./DropdownLink.vue?vue&type=script&lang=js&\"\nexport * from \"./DropdownLink.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DropdownLink.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"DropdownLink.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/e7ddb07d38c2980e980a2262c3f79d98.json b/node_modules/vuepress/node_modules/.cache/vuepress/e7ddb07d38c2980e980a2262c3f79d98.json new file mode 100644 index 00000000..d5e0d2a2 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/e7ddb07d38c2980e980a2262c3f79d98.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/README.md?vue&type=template&id=15b97e54&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/README.md","mtime":1541488927605},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/e99e2076046916da8e5990c31ffd744f.json b/node_modules/vuepress/node_modules/.cache/vuepress/e99e2076046916da8e5990c31ffd744f.json new file mode 100644 index 00000000..7b49030c --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/e99e2076046916da8e5990c31ffd744f.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue?vue&type=template&id=2cf6a4d4&functional=true&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/components/OutboundLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<svg class=\"icon outbound\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" x=\"0px\" y=\"0px\" viewBox=\"0 0 100 100\" width=\"15\" height=\"15\">\n <path fill=\"currentColor\" d=\"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z\"></path>\n <polygon fill=\"currentColor\" points=\"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9\"></polygon>\n</svg>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/e9ba8a8499cd66c5dfaa9b8c9e4be79d.json b/node_modules/vuepress/node_modules/.cache/vuepress/e9ba8a8499cd66c5dfaa9b8c9e4be79d.json new file mode 100644 index 00000000..518196e5 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/e9ba8a8499cd66c5dfaa9b8c9e4be79d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue?vue&type=template&id=649143b0&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NavLinks.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.userLinks.length || _vm.repoLink)?_c('nav',{staticClass:\"nav-links\"},[_vm._l((_vm.userLinks),function(item){return _vm._ssrNode(\"<div class=\\\"nav-item\\\">\",\"</div>\",[(item.type === 'links')?_c('DropdownLink',{attrs:{\"item\":item}}):_c('NavLink',{attrs:{\"item\":item}})],1)}),_vm._ssrNode(\" \"),(_vm.repoLink)?_vm._ssrNode(\"<a\"+(_vm._ssrAttr(\"href\",_vm.repoLink))+\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\" class=\\\"repo-link\\\">\",\"</a>\",[_vm._ssrNode(_vm._ssrEscape(\"\\n \"+_vm._s(_vm.repoLabel)+\"\\n \")),_c('OutboundLink')],2):_vm._e()],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/e9f6ec9390360c74a13d7cec2c797c25.json b/node_modules/vuepress/node_modules/.cache/vuepress/e9f6ec9390360c74a13d7cec2c797c25.json new file mode 100644 index 00000000..42c70fc5 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/e9f6ec9390360c74a13d7cec2c797c25.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/introduction.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/guide/introduction.md","mtime":1541489249205},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./introduction.md?vue&type=template&id=29661056&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('29661056', component.options)\n } else {\n api.reload('29661056', component.options)\n }\n module.hot.accept(\"./introduction.md?vue&type=template&id=29661056&\", function () {\n api.rerender('29661056', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"docs/zh/guide/introduction.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/ea7897a29f0773593759438249980b6e.json b/node_modules/vuepress/node_modules/.cache/vuepress/ea7897a29f0773593759438249980b6e.json new file mode 100644 index 00000000..ea752c16 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/ea7897a29f0773593759438249980b6e.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/guide/introduction.md?vue&type=template&id=0b95fd94&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/guide/introduction.md","mtime":1541555923022},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"introduction\"><a class=\"header-anchor\" href=\"#introduction\" aria-hidden=\"true\">#</a> Introduction</h1>\n<p>TBOX is a glib-like cross-platform C library that is simple to use yet powerful in nature.</p>\n<p>The project focuses on making C development easier and provides many modules (.e.g stream, coroutine, regex, container, algorithm ...),\nso that any developer can quickly pick it up and enjoy the productivity boost when developing in C language.</p>\n<p>It supports the following platforms:</p>\n<ul>\n<li>Windows</li>\n<li>Macosx</li>\n<li>Linux</li>\n<li>Android</li>\n<li>iOS</li>\n</ul>\n<p>And it provides many compiling options using <a href=\"http://www.xmake.io\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a>:</p>\n<ul>\n<li>Release: Disable debug information, assertion, memory checking and enable optimization.</li>\n<li>Debug: Enable debug information, assertion, memory checking and disable optimization.</li>\n<li>Small: Disable all extensional modules and enable space optimization.</li>\n<li>Micro: compiling micro library (~64K) for the embed system.</li>\n</ul>\n<p>If you want to know more, please refer to:</p>\n<ul>\n<li><a href=\"http://tboox.org\" target=\"_blank\" rel=\"noopener noreferrer\">HomePage<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/documents\" target=\"_blank\" rel=\"noopener noreferrer\">Documents<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Github<OutboundLink/></a></li>\n<li><a href=\"https://gitee.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Gitee<OutboundLink/></a></li>\n</ul>\n<h2 id=\"features\"><a class=\"header-anchor\" href=\"#features\" aria-hidden=\"true\">#</a> Features</h2>\n<h4 id=\"the-stream-library\"><a class=\"header-anchor\" href=\"#the-stream-library\" aria-hidden=\"true\">#</a> The stream library</h4>\n<ul>\n<li>Supports file, data, http and socket source</li>\n<li>Supports the stream filter for gzip, charset and...</li>\n<li>Implements stream transfer</li>\n<li>Implements the static buffer stream for parsing data</li>\n<li>Supports coroutine and implements asynchronous operation</li>\n</ul>\n<h4 id=\"the-coroutine-library\"><a class=\"header-anchor\" href=\"#the-coroutine-library\" aria-hidden=\"true\">#</a> The coroutine library</h4>\n<ul>\n<li>Provides high-performance coroutine switch(refer to <a href=\"http://tboox.org/2016/10/28/benchbox-coroutine/\" target=\"_blank\" rel=\"noopener noreferrer\">reports<OutboundLink/></a>)</li>\n<li>Supports arm, arm64, x86, x86_64 ..</li>\n<li>Provides channel interfaces</li>\n<li>Provides semaphore and lock interfaces</li>\n<li>Supports io socket and stream operation in coroutine</li>\n<li>Provides some io servers (http ..) using coroutine</li>\n<li>Provides stackfull and stackless coroutines</li>\n<li>Support epoll, kqueue, poll, select and IOCP</li>\n</ul>\n<h4 id=\"the-database-library\"><a class=\"header-anchor\" href=\"#the-database-library\" aria-hidden=\"true\">#</a> The database library</h4>\n<ul>\n<li>Supports mysql and sqlite3 database and enumerates data using the iterator mode</li>\n</ul>\n<h4 id=\"the-xml-parser-library\"><a class=\"header-anchor\" href=\"#the-xml-parser-library\" aria-hidden=\"true\">#</a> The xml parser library</h4>\n<ul>\n<li>Supports DOM and SAX mode and Supports xpath</li>\n</ul>\n<h4 id=\"the-serialization-and-deserialization-library\"><a class=\"header-anchor\" href=\"#the-serialization-and-deserialization-library\" aria-hidden=\"true\">#</a> The serialization and deserialization library</h4>\n<ul>\n<li>Supports xml, json, bplist, xplist, binary formats</li>\n</ul>\n<h4 id=\"the-memory-library\"><a class=\"header-anchor\" href=\"#the-memory-library\" aria-hidden=\"true\">#</a> The memory library</h4>\n<ul>\n<li>Implements some memory pools for optimizing memory</li>\n<li>Supports fast memory error detecting. it can detect the following types of bugs for the debug mode:\n<ul>\n<li>out-of-bounds accesses to heap and globals</li>\n<li>use-after-free</li>\n<li>double-free, invalid free</li>\n<li>memory leaks</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"the-container-library\"><a class=\"header-anchor\" href=\"#the-container-library\" aria-hidden=\"true\">#</a> The container library</h4>\n<ul>\n<li>Implements hash table, single list, double list, vector, stack, queue\nand min/max heap. Supports iterator mode for algorithm</li>\n</ul>\n<h4 id=\"the-algorithm-library\"><a class=\"header-anchor\" href=\"#the-algorithm-library\" aria-hidden=\"true\">#</a> The algorithm library</h4>\n<ul>\n<li>Uses the iterator mode</li>\n<li>Implements find, binary find and reverse find algorithm</li>\n<li>Implements sort, bubble sort, quick sort, heap sort and insert sort algorithm</li>\n<li>Implements count, walk items, reverse walk items, for_all and rfor_all</li>\n</ul>\n<h4 id=\"the-network-library\"><a class=\"header-anchor\" href=\"#the-network-library\" aria-hidden=\"true\">#</a> The network library</h4>\n<ul>\n<li>Implements dns(cached)</li>\n<li>Implements ssl(openssl, polarssl, mbedtls)</li>\n<li>Implements http</li>\n<li>Implements cookies</li>\n<li>Supports ipv4, ipv6</li>\n<li>Supports coroutine</li>\n</ul>\n<h4 id=\"the-platform-library\"><a class=\"header-anchor\" href=\"#the-platform-library\" aria-hidden=\"true\">#</a> The platform library</h4>\n<ul>\n<li>Implements timer, fast and low precision timer</li>\n<li>Implements atomic and atomic64 operation</li>\n<li>Implements spinlock, mutex, event, semaphore, thread and thread pool</li>\n<li>Implements file, socket operation</li>\n<li>Implements poller using epoll, poll, select, kqueue ...</li>\n<li>Implements switch context interfaces for coroutine</li>\n</ul>\n<h4 id=\"the-charset-library\"><a class=\"header-anchor\" href=\"#the-charset-library\" aria-hidden=\"true\">#</a> The charset library</h4>\n<ul>\n<li>Supports utf8, utf16, gbk, gb2312, uc2 and uc4</li>\n<li>Supports big endian and little endian mode</li>\n</ul>\n<h4 id=\"the-zip-library\"><a class=\"header-anchor\" href=\"#the-zip-library\" aria-hidden=\"true\">#</a> The zip library</h4>\n<ul>\n<li>Supports gzip, zlibraw, zlib formats using the zlib library if exists</li>\n<li>Implements lzsw, lz77 and rlc algorithm</li>\n</ul>\n<h4 id=\"the-utils-library\"><a class=\"header-anchor\" href=\"#the-utils-library\" aria-hidden=\"true\">#</a> The utils library</h4>\n<ul>\n<li>Implements base32, base64 encoder and decoder</li>\n<li>Implements assert and trace output for the debug mode</li>\n<li>Implements bits operation for parsing u8, u16, u32, u64 data</li>\n</ul>\n<h4 id=\"the-math-library\"><a class=\"header-anchor\" href=\"#the-math-library\" aria-hidden=\"true\">#</a> The math library</h4>\n<ul>\n<li>Implements random generator</li>\n<li>Implements fast fixed-point calculation, Supports 6-bits, 16-bits, 30-bits fixed-point number</li>\n</ul>\n<h4 id=\"the-libc-library\"><a class=\"header-anchor\" href=\"#the-libc-library\" aria-hidden=\"true\">#</a> The libc library</h4>\n<ul>\n<li>Implements lightweight libc library interfaces, the interface name contains <code>tb_xxx</code> prefix for avoiding conflict</li>\n<li>Implements strixxx strrxxx wcsixxx wcsrxxx interface extension</li>\n<li>Optimizes some frequently-used interface, .e.g. memset, memcpy, strcpy ...</li>\n<li>Implements <code>memset_u16</code>, <code>memset_u32</code>, <code>memset_u64</code> extension interfaces</li>\n</ul>\n<h4 id=\"the-libm-library\"><a class=\"header-anchor\" href=\"#the-libm-library\" aria-hidden=\"true\">#</a> The libm library</h4>\n<ul>\n<li>Implements lightweight libm library interfaces, the interface name contains <code>tb_xxx</code> prefix for avoiding conflict</li>\n<li>Supports float and double type</li>\n</ul>\n<h4 id=\"the-regex-library\"><a class=\"header-anchor\" href=\"#the-regex-library\" aria-hidden=\"true\">#</a> The regex library</h4>\n<ul>\n<li>Supports match and replace</li>\n<li>Supports global/multiline/caseless mode</li>\n<li>Uses pcre, pcre2 and posix regex modules</li>\n</ul>\n<h4 id=\"the-hash-library\"><a class=\"header-anchor\" href=\"#the-hash-library\" aria-hidden=\"true\">#</a> The hash library</h4>\n<ul>\n<li>Implements crc32, adler32, md5 and sha1 hash algorithm</li>\n<li>Implements some string hash algorithms (.e.g bkdr, fnv32, fnv64, sdbm, djb2, rshash, aphash ...)</li>\n<li>Implements uuid generator</li>\n</ul>\n<h2 id=\"projects\"><a class=\"header-anchor\" href=\"#projects\" aria-hidden=\"true\">#</a> Projects</h2>\n<p>Some projects using tbox:</p>\n<ul>\n<li><a href=\"https://github.com/tboox/gbox\" target=\"_blank\" rel=\"noopener noreferrer\">gbox<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/vm86\" target=\"_blank\" rel=\"noopener noreferrer\">vm86<OutboundLink/></a></li>\n<li><a href=\"http://www.xmake.io\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/itrace\" target=\"_blank\" rel=\"noopener noreferrer\">itrace<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/tbox-projects\" target=\"_blank\" rel=\"noopener noreferrer\">more<OutboundLink/></a></li>\n</ul>\n<h2 id=\"contacts\"><a class=\"header-anchor\" href=\"#contacts\" aria-hidden=\"true\">#</a> Contacts</h2>\n<ul>\n<li>Email:<a href=\"mailto:waruqi@gmail.com\">waruqi@gmail.com</a></li>\n<li>Homepage:<a href=\"http://www.tboox.org\" target=\"_blank\" rel=\"noopener noreferrer\">tboox.org<OutboundLink/></a></li>\n<li>Community:<a href=\"https://www.reddit.com/r/tboox/\" target=\"_blank\" rel=\"noopener noreferrer\">/r/tboox on reddit<OutboundLink/></a></li>\n</ul>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/eb1f1d23911c55ba61fb6e94a92344de.json b/node_modules/vuepress/node_modules/.cache/vuepress/eb1f1d23911c55ba61fb6e94a92344de.json new file mode 100644 index 00000000..1cf59cc9 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/eb1f1d23911c55ba61fb6e94a92344de.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/store.js","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/store.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["// It is not yet time to use Vuex to manage the global state\n// singleton object as a global store.\nvar state = {\n disableScrollBehavior: false\n};\nexport default state;",{"version":3,"sources":["node_modules/vuepress/lib/app/store.js"],"names":["state","disableScrollBehavior"],"mappings":"AAAA;AACA;AACA,IAAMA,QAAQ;AACZC,yBAAuB;AADX,CAAd;AAIA,eAAeD,KAAf","sourceRoot":"/Users/ruki/projects/personal/xmake-docs","sourcesContent":["// It is not yet time to use Vuex to manage the global state\n// singleton object as a global store.\nconst state = {\n disableScrollBehavior: false\n}\n\nexport default state\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/eb251707940c5eabad025ccee3bb46ed.json b/node_modules/vuepress/node_modules/.cache/vuepress/eb251707940c5eabad025ccee3bb46ed.json new file mode 100644 index 00000000..f8c81bb6 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/eb251707940c5eabad025ccee3bb46ed.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/README.md?vue&type=template&id=266af043&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/README.md","mtime":1541491987988},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><!--beforebegin--><div class=\"language-c extra-class\"><!--afterbegin--><pre v-pre class=\"language-c\"><code><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">\"tbox/tbox.h\"</span></span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> argc<span class=\"token punctuation\">,</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span> argv<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// init tbox</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">tb_init</span><span class=\"token punctuation\">(</span>tb_null<span class=\"token punctuation\">,</span> tb_null<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// init vector</span>\n tb_vector_ref_t vector <span class=\"token operator\">=</span> <span class=\"token function\">tb_vector_init</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">tb_element_cstr</span><span class=\"token punctuation\">(</span>tb_true<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// insert item</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// dump all items</span>\n tb_for_all <span class=\"token punctuation\">(</span>tb_char_t <span class=\"token keyword\">const</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">,</span> vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%s\"</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit vector</span>\n <span class=\"token function\">tb_vector_exit</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/eb91adfa4ce42f379940239bbd430338.json b/node_modules/vuepress/node_modules/.cache/vuepress/eb91adfa4ce42f379940239bbd430338.json new file mode 100644 index 00000000..42a4ad01 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/eb91adfa4ce42f379940239bbd430338.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/api/introduction.md?vue&type=template&id=c58bf996&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/api/introduction.md","mtime":1541569456015},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"title1\"><a class=\"header-anchor\" href=\"#title1\" aria-hidden=\"true\">#</a> Title1</h1>\n<p><div class=\"table-of-contents\"><ul><li><a href=\"#title2\">Title2</a><ul><li><a href=\"#title3\">Title3</a></li><li><a href=\"#title3\">Title3</a></li></ul></li><li><a href=\"#title2\">Title2</a><ul><li><a href=\"#title3\">Title3</a></li></ul></li></ul></div></p>\n<h2 id=\"title2\"><a class=\"header-anchor\" href=\"#title2\" aria-hidden=\"true\">#</a> Title2</h2>\n<h3 id=\"title3\"><a class=\"header-anchor\" href=\"#title3\" aria-hidden=\"true\">#</a> Title3</h3>\n<h4 id=\"title4\"><a class=\"header-anchor\" href=\"#title4\" aria-hidden=\"true\">#</a> Title4</h4>\n<h5 id=\"title5\"><a class=\"header-anchor\" href=\"#title5\" aria-hidden=\"true\">#</a> Title5</h5>\n<p>...</p>\n<h5 id=\"title5-2\"><a class=\"header-anchor\" href=\"#title5-2\" aria-hidden=\"true\">#</a> Title5</h5>\n<p>...</p>\n<h4 id=\"title4-2\"><a class=\"header-anchor\" href=\"#title4-2\" aria-hidden=\"true\">#</a> Title4</h4>\n<p>...</p>\n<h3 id=\"title3-2\"><a class=\"header-anchor\" href=\"#title3-2\" aria-hidden=\"true\">#</a> Title3</h3>\n<p>...</p>\n<h2 id=\"title2-2\"><a class=\"header-anchor\" href=\"#title2-2\" aria-hidden=\"true\">#</a> Title2</h2>\n<p>...</p>\n<h3 id=\"title3-3\"><a class=\"header-anchor\" href=\"#title3-3\" aria-hidden=\"true\">#</a> Title3</h3>\n<p>...</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/ebb20299c31bb73ebb191a7ced97cbe8.json b/node_modules/vuepress/node_modules/.cache/vuepress/ebb20299c31bb73ebb191a7ced97cbe8.json new file mode 100644 index 00000000..2f4412e5 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/ebb20299c31bb73ebb191a7ced97cbe8.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Layout.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Layout.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import \"core-js/modules/es6.function.name\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport Vue from 'vue';\nimport nprogress from 'nprogress';\nimport Home from './Home.vue';\nimport Navbar from './Navbar.vue';\nimport Page from './Page.vue';\nimport Sidebar from './Sidebar.vue';\nimport SWUpdatePopup from './SWUpdatePopup.vue';\nimport { resolveSidebarItems } from './util';\nexport default {\n components: {\n Home: Home,\n Page: Page,\n Sidebar: Sidebar,\n Navbar: Navbar,\n SWUpdatePopup: SWUpdatePopup\n },\n data: function data() {\n return {\n isSidebarOpen: false,\n swUpdateEvent: null\n };\n },\n computed: {\n shouldShowNavbar: function shouldShowNavbar() {\n var themeConfig = this.$site.themeConfig;\n var frontmatter = this.$page.frontmatter;\n\n if (frontmatter.navbar === false || themeConfig.navbar === false) {\n return false;\n }\n\n return this.$title || themeConfig.logo || themeConfig.repo || themeConfig.nav || this.$themeLocaleConfig.nav;\n },\n shouldShowSidebar: function shouldShowSidebar() {\n var frontmatter = this.$page.frontmatter;\n return !frontmatter.layout && !frontmatter.home && frontmatter.sidebar !== false && this.sidebarItems.length;\n },\n sidebarItems: function sidebarItems() {\n return resolveSidebarItems(this.$page, this.$route, this.$site, this.$localePath);\n },\n pageClasses: function pageClasses() {\n var userPageClass = this.$page.frontmatter.pageClass;\n return [{\n 'no-navbar': !this.shouldShowNavbar,\n 'sidebar-open': this.isSidebarOpen,\n 'no-sidebar': !this.shouldShowSidebar\n }, userPageClass];\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n window.addEventListener('scroll', this.onScroll); // configure progress bar\n\n nprogress.configure({\n showSpinner: false\n });\n this.$router.beforeEach(function (to, from, next) {\n if (to.path !== from.path && !Vue.component(to.name)) {\n nprogress.start();\n }\n\n next();\n });\n this.$router.afterEach(function () {\n nprogress.done();\n _this.isSidebarOpen = false;\n });\n this.$on('sw-updated', this.onSWUpdated);\n },\n methods: {\n toggleSidebar: function toggleSidebar(to) {\n this.isSidebarOpen = typeof to === 'boolean' ? to : !this.isSidebarOpen;\n },\n // side swipe\n onTouchStart: function onTouchStart(e) {\n this.touchStart = {\n x: e.changedTouches[0].clientX,\n y: e.changedTouches[0].clientY\n };\n },\n onTouchEnd: function onTouchEnd(e) {\n var dx = e.changedTouches[0].clientX - this.touchStart.x;\n var dy = e.changedTouches[0].clientY - this.touchStart.y;\n\n if (Math.abs(dx) > Math.abs(dy) && Math.abs(dx) > 40) {\n if (dx > 0 && this.touchStart.x <= 80) {\n this.toggleSidebar(true);\n } else {\n this.toggleSidebar(false);\n }\n }\n },\n onSWUpdated: function onSWUpdated(e) {\n this.swUpdateEvent = e;\n }\n }\n};",{"version":3,"sources":["Layout.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DA,OAAA,GAAA,MAAA,KAAA;AACA,OAAA,SAAA,MAAA,WAAA;AACA,OAAA,IAAA,MAAA,YAAA;AACA,OAAA,MAAA,MAAA,cAAA;AACA,OAAA,IAAA,MAAA,YAAA;AACA,OAAA,OAAA,MAAA,eAAA;AACA,OAAA,aAAA,MAAA,qBAAA;AACA,SAAA,mBAAA,QAAA,QAAA;AAEA,eAAA;AACA,cAAA;AAAA,cAAA;AAAA,cAAA;AAAA,oBAAA;AAAA,kBAAA;AAAA;AAAA,GADA;AAGA,MAHA,kBAGA;AACA,WAAA;AACA,qBAAA,KADA;AAEA,qBAAA;AAFA,KAAA;AAIA,GARA;AAUA,YAAA;AACA,oBADA,8BACA;AAAA,UACA,WADA,GACA,KAAA,KADA,CACA,WADA;AAAA,UAEA,WAFA,GAEA,KAAA,KAFA,CAEA,WAFA;;AAGA,UACA,YAAA,MAAA,KAAA,KAAA,IACA,YAAA,MAAA,KAAA,KAFA,EAEA;AACA,eAAA,KAAA;AACA;;AACA,aACA,KAAA,MAAA,IACA,YAAA,IADA,IAEA,YAAA,IAFA,IAGA,YAAA,GAHA,IAIA,KAAA,kBAAA,CAAA,GALA;AAOA,KAhBA;AAkBA,qBAlBA,+BAkBA;AAAA,UACA,WADA,GACA,KAAA,KADA,CACA,WADA;AAEA,aACA,CAAA,YAAA,MAAA,IACA,CAAA,YAAA,IADA,IAEA,YAAA,OAAA,KAAA,KAFA,IAGA,KAAA,YAAA,CAAA,MAJA;AAMA,KA1BA;AA4BA,gBA5BA,0BA4BA;AACA,aAAA,oBACA,KAAA,KADA,EAEA,KAAA,MAFA,EAGA,KAAA,KAHA,EAIA,KAAA,WAJA,CAAA;AAMA,KAnCA;AAqCA,eArCA,yBAqCA;AACA,UAAA,gBAAA,KAAA,KAAA,CAAA,WAAA,CAAA,SAAA;AACA,aAAA,CACA;AACA,qBAAA,CAAA,KAAA,gBADA;AAEA,wBAAA,KAAA,aAFA;AAGA,sBAAA,CAAA,KAAA;AAHA,OADA,EAMA,aANA,CAAA;AAQA;AA/CA,GAVA;AA4DA,SA5DA,qBA4DA;AAAA;;AACA,WAAA,gBAAA,CAAA,QAAA,EAAA,KAAA,QAAA,EADA,CAGA;;AACA,cAAA,SAAA,CAAA;AAAA,mBAAA;AAAA,KAAA;AAEA,SAAA,OAAA,CAAA,UAAA,CAAA,UAAA,EAAA,EAAA,IAAA,EAAA,IAAA,EAAA;AACA,UAAA,GAAA,IAAA,KAAA,KAAA,IAAA,IAAA,CAAA,IAAA,SAAA,CAAA,GAAA,IAAA,CAAA,EAAA;AACA,kBAAA,KAAA;AACA;;AACA;AACA,KALA;AAOA,SAAA,OAAA,CAAA,SAAA,CAAA,YAAA;AACA,gBAAA,IAAA;AACA,YAAA,aAAA,GAAA,KAAA;AACA,KAHA;AAKA,SAAA,GAAA,CAAA,YAAA,EAAA,KAAA,WAAA;AACA,GA/EA;AAiFA,WAAA;AACA,iBADA,yBACA,EADA,EACA;AACA,WAAA,aAAA,GAAA,OAAA,EAAA,KAAA,SAAA,GAAA,EAAA,GAAA,CAAA,KAAA,aAAA;AACA,KAHA;AAKA;AACA,gBANA,wBAMA,CANA,EAMA;AACA,WAAA,UAAA,GAAA;AACA,WAAA,EAAA,cAAA,CAAA,CAAA,EAAA,OADA;AAEA,WAAA,EAAA,cAAA,CAAA,CAAA,EAAA;AAFA,OAAA;AAIA,KAXA;AAaA,cAbA,sBAaA,CAbA,EAaA;AACA,UAAA,KAAA,EAAA,cAAA,CAAA,CAAA,EAAA,OAAA,GAAA,KAAA,UAAA,CAAA,CAAA;AACA,UAAA,KAAA,EAAA,cAAA,CAAA,CAAA,EAAA,OAAA,GAAA,KAAA,UAAA,CAAA,CAAA;;AACA,UAAA,KAAA,GAAA,CAAA,EAAA,IAAA,KAAA,GAAA,CAAA,EAAA,CAAA,IAAA,KAAA,GAAA,CAAA,EAAA,IAAA,EAAA,EAAA;AACA,YAAA,KAAA,CAAA,IAAA,KAAA,UAAA,CAAA,CAAA,IAAA,EAAA,EAAA;AACA,eAAA,aAAA,CAAA,IAAA;AACA,SAFA,MAEA;AACA,eAAA,aAAA,CAAA,KAAA;AACA;AACA;AACA,KAvBA;AAyBA,eAzBA,uBAyBA,CAzBA,EAyBA;AACA,WAAA,aAAA,GAAA,CAAA;AACA;AA3BA;AAjFA,CAAA","sourcesContent":["<template>\n <div\n class=\"theme-container\"\n :class=\"pageClasses\"\n @touchstart=\"onTouchStart\"\n @touchend=\"onTouchEnd\"\n >\n <Navbar\n v-if=\"shouldShowNavbar\"\n @toggle-sidebar=\"toggleSidebar\"\n />\n\n <div\n class=\"sidebar-mask\"\n @click=\"toggleSidebar(false)\"\n ></div>\n\n <Sidebar\n :items=\"sidebarItems\"\n @toggle-sidebar=\"toggleSidebar\"\n >\n <slot\n name=\"sidebar-top\"\n slot=\"top\"\n />\n <slot\n name=\"sidebar-bottom\"\n slot=\"bottom\"\n />\n </Sidebar>\n\n <div\n class=\"custom-layout\"\n v-if=\"$page.frontmatter.layout\"\n >\n <component :is=\"$page.frontmatter.layout\"/>\n </div>\n\n <Home v-else-if=\"$page.frontmatter.home\"/>\n\n <Page\n v-else\n :sidebar-items=\"sidebarItems\"\n >\n <slot\n name=\"page-top\"\n slot=\"top\"\n />\n <slot\n name=\"page-bottom\"\n slot=\"bottom\"\n />\n </Page>\n\n <SWUpdatePopup :updateEvent=\"swUpdateEvent\"/>\n </div>\n</template>\n\n<script>\nimport Vue from 'vue'\nimport nprogress from 'nprogress'\nimport Home from './Home.vue'\nimport Navbar from './Navbar.vue'\nimport Page from './Page.vue'\nimport Sidebar from './Sidebar.vue'\nimport SWUpdatePopup from './SWUpdatePopup.vue'\nimport { resolveSidebarItems } from './util'\n\nexport default {\n components: { Home, Page, Sidebar, Navbar, SWUpdatePopup },\n\n data () {\n return {\n isSidebarOpen: false,\n swUpdateEvent: null\n }\n },\n\n computed: {\n shouldShowNavbar () {\n const { themeConfig } = this.$site\n const { frontmatter } = this.$page\n if (\n frontmatter.navbar === false ||\n themeConfig.navbar === false) {\n return false\n }\n return (\n this.$title ||\n themeConfig.logo ||\n themeConfig.repo ||\n themeConfig.nav ||\n this.$themeLocaleConfig.nav\n )\n },\n\n shouldShowSidebar () {\n const { frontmatter } = this.$page\n return (\n !frontmatter.layout &&\n !frontmatter.home &&\n frontmatter.sidebar !== false &&\n this.sidebarItems.length\n )\n },\n\n sidebarItems () {\n return resolveSidebarItems(\n this.$page,\n this.$route,\n this.$site,\n this.$localePath\n )\n },\n\n pageClasses () {\n const userPageClass = this.$page.frontmatter.pageClass\n return [\n {\n 'no-navbar': !this.shouldShowNavbar,\n 'sidebar-open': this.isSidebarOpen,\n 'no-sidebar': !this.shouldShowSidebar\n },\n userPageClass\n ]\n }\n },\n\n mounted () {\n window.addEventListener('scroll', this.onScroll)\n\n // configure progress bar\n nprogress.configure({ showSpinner: false })\n\n this.$router.beforeEach((to, from, next) => {\n if (to.path !== from.path && !Vue.component(to.name)) {\n nprogress.start()\n }\n next()\n })\n\n this.$router.afterEach(() => {\n nprogress.done()\n this.isSidebarOpen = false\n })\n\n this.$on('sw-updated', this.onSWUpdated)\n },\n\n methods: {\n toggleSidebar (to) {\n this.isSidebarOpen = typeof to === 'boolean' ? to : !this.isSidebarOpen\n },\n\n // side swipe\n onTouchStart (e) {\n this.touchStart = {\n x: e.changedTouches[0].clientX,\n y: e.changedTouches[0].clientY\n }\n },\n\n onTouchEnd (e) {\n const dx = e.changedTouches[0].clientX - this.touchStart.x\n const dy = e.changedTouches[0].clientY - this.touchStart.y\n if (Math.abs(dx) > Math.abs(dy) && Math.abs(dx) > 40) {\n if (dx > 0 && this.touchStart.x <= 80) {\n this.toggleSidebar(true)\n } else {\n this.toggleSidebar(false)\n }\n }\n },\n\n onSWUpdated (e) {\n this.swUpdateEvent = e\n }\n }\n}\n</script>\n\n<style src=\"prismjs/themes/prism-tomorrow.css\"></style>\n<style src=\"./styles/theme.styl\" lang=\"stylus\"></style>\n"],"sourceRoot":"node_modules/vuepress/lib/default-theme"}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/ec2fd720822641c644bf904cd91579ce.json b/node_modules/vuepress/node_modules/.cache/vuepress/ec2fd720822641c644bf904cd91579ce.json new file mode 100644 index 00000000..b36adcdf --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/ec2fd720822641c644bf904cd91579ce.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue?vue&type=template&id=bd900d28&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarButton.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sidebar-button\",on:{\"click\":function($event){_vm.$emit('toggle-sidebar')}}},[_c('svg',{staticClass:\"icon\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"aria-hidden\":\"true\",\"role\":\"img\",\"viewBox\":\"0 0 448 512\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z\"}})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/ecf89d3408f53dc6dc8e6eceacb48962.json b/node_modules/vuepress/node_modules/.cache/vuepress/ecf89d3408f53dc6dc8e6eceacb48962.json new file mode 100644 index 00000000..bed31dde --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/ecf89d3408f53dc6dc8e6eceacb48962.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue?vue&type=template&id=734e092b&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div class=\"home\">\n <div class=\"hero\">\n <img\n v-if=\"data.heroImage\"\n :src=\"$withBase(data.heroImage)\"\n alt=\"hero\"\n >\n\n <h1>{{ data.heroText || $title || 'Hello' }}</h1>\n\n <p class=\"description\">\n {{ data.tagline || $description || 'Welcome to your VuePress site' }}\n </p>\n\n <p\n class=\"action\"\n v-if=\"data.actionText && data.actionLink\"\n >\n <NavLink\n class=\"action-button\"\n :item=\"actionLink\"\n />\n </p>\n </div>\n\n <div\n class=\"features\"\n v-if=\"data.features && data.features.length\"\n >\n <div\n class=\"feature\"\n v-for=\"(feature, index) in data.features\"\n :key=\"index\"\n >\n <h2>{{ feature.title }}</h2>\n <p>{{ feature.details }}</p>\n </div>\n </div>\n\n <Content custom/>\n\n <div\n class=\"footer\"\n v-if=\"data.footer\"\n >\n {{ data.footer }}\n </div>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/ed5963c977690c6cf60a6a48bf9f91e9.json b/node_modules/vuepress/node_modules/.cache/vuepress/ed5963c977690c6cf60a6a48bf9f91e9.json new file mode 100644 index 00000000..927935b5 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/ed5963c977690c6cf60a6a48bf9f91e9.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n$navbar-vertical-padding = 0.7rem\n$navbar-horizontal-padding = 1.5rem\n\n.navbar\n padding $navbar-vertical-padding $navbar-horizontal-padding\n line-height $navbarHeight - 1.4rem\n position relative\n a, span, img\n display inline-block\n .logo\n height $navbarHeight - 1.4rem\n min-width $navbarHeight - 1.4rem\n margin-right 0.8rem\n vertical-align top\n .site-name\n font-size 1.3rem\n font-weight 600\n color $textColor\n position relative\n .links\n padding-left 1.5rem\n box-sizing border-box\n background-color white\n white-space nowrap\n font-size 0.9rem\n position absolute\n right $navbar-horizontal-padding\n top $navbar-vertical-padding\n display flex\n .search-box\n flex: 0 0 auto\n vertical-align top\n .nav-links\n flex 1\n\n@media (max-width: $MQMobile)\n .navbar\n padding-left 4rem\n .can-hide\n display none\n .links\n padding-left 1.5rem\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/eecb7efbf0c9ea2c56459ebb48ad8c72.json b/node_modules/vuepress/node_modules/.cache/vuepress/eecb7efbf0c9ea2c56459ebb48ad8c72.json new file mode 100644 index 00000000..5d35724f --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/eecb7efbf0c9ea2c56459ebb48ad8c72.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/README.md?vue&type=template&id=83e02194&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/README.md","mtime":1541598631436},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"img\", {\n attrs: {\n src: \"https://xmake.io/assets/img/index/showcode1.png\",\n width: \"40%\"\n }\n }),\n _vm._v(\" \"),\n _vm._m(1),\n _vm._v(\" \"),\n _c(\"img\", {\n attrs: {\n src: \"https://xmake.io/assets/img/index/add_require.png\",\n width: \"70%\"\n }\n }),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"An official xmake package repository: \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake-repo\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake-repo\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _vm._m(2),\n _vm._v(\" \"),\n _vm._m(3),\n _vm._m(4),\n _vm._v(\" \"),\n _vm._m(5),\n _vm._m(6),\n _vm._v(\" \"),\n _vm._m(7),\n _vm._m(8),\n _vm._v(\" \"),\n _vm._m(9),\n _vm._m(10),\n _vm._v(\" \"),\n _vm._m(11),\n _c(\"img\", {\n attrs: {\n src: \"https://xmake.io/assets/img/index/menuconf.png\",\n width: \"80%\"\n }\n }),\n _vm._v(\" \"),\n _vm._m(12),\n _vm._v(\" \"),\n _c(\"img\", {\n attrs: {\n src: \"https://xmake.io/assets/img/index/package_manage.png\",\n width: \"80%\"\n }\n }),\n _vm._v(\" \"),\n _vm._m(13),\n _vm._v(\" \"),\n _vm._m(14),\n _vm._v(\" \"),\n _vm._m(15),\n _vm._v(\" \"),\n _vm._m(16),\n _vm._v(\" \"),\n _vm._m(17),\n _vm._v(\" \"),\n _vm._m(18),\n _vm._v(\" \"),\n _vm._m(19),\n _vm._v(\" \"),\n _vm._m(20),\n _vm._v(\" \"),\n _vm._m(21),\n _vm._m(22),\n _vm._v(\" \"),\n _vm._m(23),\n _vm._m(24),\n _vm._v(\" \"),\n _vm._m(25),\n _vm._m(26),\n _vm._v(\" \"),\n _vm._m(27),\n _vm._m(28),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"Please download and install from the plugins repository \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake-plugins\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake-plugins\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\".\")\n ]),\n _vm._v(\" \"),\n _vm._m(29),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake-vscode\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake-vscode\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"img\", {\n attrs: {\n src:\n \"https://raw.githubusercontent.com/tboox/xmake-vscode/master/res/problem.gif\",\n width: \"60%\"\n }\n }),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake-sublime\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake-sublime\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"img\", {\n attrs: {\n src:\n \"https://raw.githubusercontent.com/tboox/xmake-sublime/master/res/problem.gif\",\n width: \"60%\"\n }\n }),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake-idea\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake-idea\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"img\", {\n attrs: {\n src:\n \"https://raw.githubusercontent.com/tboox/xmake-idea/master/res/problem.gif\",\n width: \"60%\"\n }\n }),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/luzhlon/xmake.vim\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake.vim\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\" (third-party, thanks \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/luzhlon\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"@luzhlon\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\")\")\n ])\n ]),\n _vm._v(\" \"),\n _vm._m(30),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Debug and release modes:\")]),\n _vm._v(\" \"),\n _vm._m(31),\n _c(\"p\", [_vm._v(\"Custom script:\")]),\n _vm._v(\" \"),\n _vm._m(32),\n _c(\"p\", [_vm._v(\"Extension Modules:\")]),\n _vm._v(\" \"),\n _vm._m(33),\n _vm._m(34),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Some projects using xmake:\")]),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/tbox\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"tbox\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/gbox\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"gbox\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/vm86\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"vm86\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/awesome-xmake\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"more\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm._m(35),\n _vm._v(\" \"),\n _vm._m(36),\n _vm._v(\" \"),\n _vm._m(37),\n _vm._v(\" \"),\n _c(\"ul\", [\n _vm._m(38),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Homepage:\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.tboox.org\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"tboox.org\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Community:\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://www.reddit.com/r/tboox/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"/r/tboox on reddit\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"ChatRoom:\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://t.me/tbooxorg\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Char on telegram\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\", \"),\n _c(\n \"a\",\n {\n attrs: {\n href:\n \"https://gitter.im/tboox/tboox?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Chat on gitter\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Source Code:\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Github\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\", \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://gitee.com/tboox/xmake\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Gitee\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ])\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"simple-description\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#simple-description\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Simple description\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"package-dependences\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#package-dependences\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Package dependences\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"build-project\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#build-project\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Build project\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"run-target\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#run-target\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Run target\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake run console\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"debug-target\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#debug-target\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Debug target\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake run -d console\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"configure-platform\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#configure-platform\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Configure platform\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake f -p \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"windows\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"linux\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"macosx\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"android\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"iphoneos \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"..\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _vm._v(\" -a \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"x86\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"arm64 \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"..\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _vm._v(\" -m \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"debug\"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"|\")]),\n _vm._v(\"release\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _vm._v(\"\\n$ xmake\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"menu-configuration\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#menu-configuration\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Menu configuration\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [_vm._v(\"$ xmake f --menu\\n\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"package-management\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#package-management\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Package management\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"supported-platforms\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#supported-platforms\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Supported platforms\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Windows (x86, x64)\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"macOS (i386, x86_64)\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Linux (i386, x86_64, cross-toolchains ...)\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Android (armv5te, armv6, armv7-a, armv8-a, arm64-v8a)\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"iOS (armv7, armv7s, arm64, i386, x86_64)\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"WatchOS (armv7k, i386)\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"MinGW (i386, x86_64)\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"supported-languages\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#supported-languages\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Supported Languages\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"C\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"C++\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Objective-C and Objective-C++\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Swift\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Assembly\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Golang\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Rust\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Dlang\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Cuda\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"supported-projects\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#supported-projects\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Supported Projects\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Static Library\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Shared Library\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Console\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Cuda Program\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Qt Application\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"WDK Driver (umdf/kmdf/wdm)\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"WinSDK Application\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"builtin-plugins\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#builtin-plugins\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Builtin Plugins\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"macros-script-plugin\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#macros-script-plugin\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Macros script plugin\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake m -b \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"# start to record\")\n ]),\n _vm._v(\n \"\\n$ xmake f -p iphoneos -m debug\\n$ xmake\\n$ xmake f -p android --ndk\"\n ),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\n \"~/files/android-ndk-r16b\\n$ xmake\\n$ xmake m -e \"\n ),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"# stop to record\")\n ]),\n _vm._v(\"\\n$ xmake m \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\".\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"# playback commands\")\n ]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"run-the-custom-lua-script-plugin\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: {\n href: \"#run-the-custom-lua-script-plugin\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Run the custom lua script plugin\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake l ./test.lua\\n$ xmake l -c \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v(\"\\\"print('hello xmake!')\\\"\")\n ]),\n _vm._v(\"\\n$ xmake l lib.detect.find_tool gcc\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"h4\",\n {\n attrs: {\n id: \"generate-ide-project-file-plugin(makefile-vs2002-vs2017-)\"\n }\n },\n [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: {\n href:\n \"#generate-ide-project-file-plugin(makefile-vs2002-vs2017-)\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\n \" Generate IDE project file plugin(makefile, vs2002 - vs2017 .. )\"\n )\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake project -k vs2017 -m \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"debug,release\"')\n ]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"generate-doxygen-document-plugin\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: {\n href: \"#generate-doxygen-document-plugin\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Generate doxygen document plugin\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-bash extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-bash\" } }, [\n _c(\"code\", [\n _vm._v(\"$ xmake doxygen \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"srcdir\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"more-plugins\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#more-plugins\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" More Plugins\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"ide-editor-integration\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#ide-editor-integration\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" IDE/Editor Integration\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"more-examples\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#more-examples\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" More Examples\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_rules\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"mode.debug\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"mode.release\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"console\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_kind\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"binary\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"src/*.c\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"is_plat\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"windows\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"mingw\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"then\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_defines\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"XXX\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"end\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"test\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_kind\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"static\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"src/*.cpp\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"after_build\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [\n _vm._v(\"function\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"target\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"print\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"build %s ok!\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" target\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\":\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"targetfile\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"end\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-lua extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-lua\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"target\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"test\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"set_kind\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"shared\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"add_files\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"src/*.c\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"on_load\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [\n _vm._v(\"function\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"target\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"import\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"lib.detect.find_package\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n target\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\":\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"add\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"find_package\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"zlib\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"end\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"project-examples\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#project-examples\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Project Examples\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"example-video\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#example-video\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Example Video\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"a\", { attrs: { href: \"https://asciinema.org/a/133693\" } }, [\n _c(\"img\", {\n attrs: { src: \"https://asciinema.org/a/133693.png\", width: \"60%\" }\n })\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"contacts\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#contacts\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Contacts\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"li\", [\n _vm._v(\"Email:\"),\n _c(\"a\", { attrs: { href: \"mailto:waruqi@gmail.com\" } }, [\n _vm._v(\"waruqi@gmail.com\")\n ])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/ef7b07c9290c180baa023c6433431015.json b/node_modules/vuepress/node_modules/.cache/vuepress/ef7b07c9290c180baa023c6433431015.json new file mode 100644 index 00000000..657b0441 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/ef7b07c9290c180baa023c6433431015.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/zh/README.md?vue&type=template&id=691ca007&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/zh/README.md","mtime":1534123204913},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _vm._m(1),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"TBOX是一个用c语言实现的跨平台开发库。\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"针对各个平台,封装了统一的接口,简化了各类开发过程中常用操作,使你在开发过程中,更加关注实际应用的开发,而不是把时间浪费在琐碎的接口兼容性上面,并且充分利用了各个平台独有的一些特性进行优化。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"这个项目的目的,是为了使C开发更加的简单高效。\")]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"目前支持的平台有:\")]),\n _vm._v(\" \"),\n _vm._m(2),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"通过\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.xmake.io/cn\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\"支持各种编译模式:\")\n ]),\n _vm._v(\" \"),\n _vm._m(3),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"如果你想了解更多,请参考:\")]),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.tboox.org/cn\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"项目主页\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/tbox/wiki/%E7%9B%AE%E5%BD%95\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"在线文档\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/tbox\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Github\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://gitee.com/tboox/tbox\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Gitee\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm._m(4),\n _vm._v(\" \"),\n _vm._m(5),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"针对http、file、socket、data等流数据,实现统一接口进行读写,并且支持: 阻塞、非阻塞、异步 三种读写模式。\\n支持中间增加多层filter流进行流过滤,实现边读取,内部边进行解压、编码转换、加密等操作,极大的减少了内存使用。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"主要提供以下模块:\")]),\n _vm._v(\" \"),\n _vm._m(6),\n _vm._v(\" \"),\n _vm._m(7),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"快速高效的协程切换支持(具体性能参考:\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://tboox.org/cn/2016/10/28/benchbox-coroutine/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"基准测试报告\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\")\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"提供跨平台支持,核心切换算法参考boost,并且对其进行重写和优化,目前支持架构:x86, x86_64, arm, arm64, mips32\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供channel协程间数据通信支持,基于生产、消费者模型\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供信号量、协程锁支持\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"socket、stream都模块原生支持协程,并且可在线程和协程间进行无缝切换\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"提供http、file等基于协程的简单服务器实例,只需几百行代码,就可以从socket开始写个高性能io服务器,代码逻辑比异步回调模式更加清晰\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"同时提供stackfull, stackless两种协程模式支持,stackless协程更加的轻量(每个协程只占用几十个bytes),切换更快(会牺牲部分易用性)\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"支持epoll, kqueue, poll, select 和 IOCP\")])\n ]),\n _vm._v(\" \"),\n _vm._m(8),\n _vm._v(\" \"),\n _vm._m(9),\n _vm._v(\" \"),\n _vm._m(10),\n _vm._v(\" \"),\n _vm._m(11),\n _vm._v(\" \"),\n _vm._m(12),\n _vm._v(\" \"),\n _vm._m(13),\n _vm._v(\" \"),\n _vm._m(14),\n _vm._v(\" \"),\n _vm._m(15),\n _vm._v(\" \"),\n _vm._m(16),\n _vm._v(\" \"),\n _vm._m(17),\n _vm._v(\" \"),\n _vm._m(18),\n _vm._v(\" \"),\n _vm._m(19),\n _vm._v(\" \"),\n _vm._m(20),\n _vm._v(\" \"),\n _vm._m(21),\n _vm._v(\" \"),\n _vm._m(22),\n _vm._v(\" \"),\n _vm._m(23),\n _vm._v(\" \"),\n _vm._m(24),\n _vm._v(\" \"),\n _vm._m(25),\n _vm._v(\" \"),\n _vm._m(26),\n _vm._v(\" \"),\n _vm._m(27),\n _vm._v(\" \"),\n _vm._m(28),\n _vm._v(\" \"),\n _vm._m(29),\n _vm._v(\" \"),\n _vm._m(30),\n _vm._v(\" \"),\n _vm._m(31),\n _vm._v(\" \"),\n _vm._m(32),\n _vm._v(\" \"),\n _vm._m(33),\n _vm._v(\" \"),\n _vm._m(34),\n _vm._v(\" \"),\n _vm._m(35),\n _vm._v(\" \"),\n _vm._m(36),\n _vm._v(\" \"),\n _vm._m(37),\n _vm._v(\" \"),\n _vm._m(38),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/gbox\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"gbox\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/vm86\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"vm86\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.xmake.io/cn\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/itrace\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"itrace\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href:\n \"https://github.com/tboox/tbox/wiki/%E4%BD%BF%E7%94%A8tbox%E7%9A%84%E5%BC%80%E6%BA%90%E5%BA%93\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"更多项目\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm._m(39),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"请先安装: \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _vm._m(40),\n _vm._m(41),\n _vm._v(\" \"),\n _vm._m(42),\n _vm._m(43),\n _vm._v(\" \"),\n _c(\"ul\", [\n _vm._m(44),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"主页:\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.tboox.org/cn\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"TBOOX开源工程\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"社区:\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://www.reddit.com/r/tboox/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Reddit论坛\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"QQ群:343118190\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"微信公众号:tboox-os\")])\n ])\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { align: \"center\" } }, [\n _c(\"h1\", [_vm._v(\"tbox\")]),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\"a\", { attrs: { href: \"https://travis-ci.org/tboox/tbox\" } }, [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/travis/tboox/tbox/master.svg?style=flat-square\",\n alt: \"travis-ci\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://ci.appveyor.com/project/waruqi/tbox/branch/master\"\n }\n },\n [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/appveyor/ci/waruqi/tbox/master.svg?style=flat-square\",\n alt: \"appveyor-ci\"\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\"a\", { attrs: { href: \"https://codecov.io/gh/tboox/tbox\" } }, [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/codecov/c/github/tboox/tbox/master.svg?style=flat-square\",\n alt: \"Coverage\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"a\", { attrs: { href: \"https://github.com/tboox/tbox/releases\" } }, [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/github/release/tboox/tbox.svg?style=flat-square\",\n alt: \"Github All Releases\"\n }\n })\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/tbox/blob/master/LICENSE.md\"\n }\n },\n [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/github/license/tboox/tbox.svg?colorB=f48041&style=flat-square\",\n alt: \"license\"\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\"a\", { attrs: { href: \"https://www.reddit.com/r/tboox/\" } }, [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/badge/chat-on%20reddit-ff3f34.svg?style=flat-square\",\n alt: \"Reddit\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\n \"a\",\n {\n attrs: {\n href:\n \"https://gitter.im/tboox/tboox?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\"\n }\n },\n [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/gitter/room/tboox/tboox.svg?style=flat-square&colorB=96c312\",\n alt: \"Gitter\"\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\"a\", { attrs: { href: \"https://t.me/tbooxorg\" } }, [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/badge/chat-on%20telegram-blue.svg?style=flat-square\",\n alt: \"Telegram\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"a\", { attrs: { href: \"https://jq.qq.com/?_wv=1027&k=5hpwWFv\" } }, [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/badge/chat-on%20QQ-ff69b4.svg?style=flat-square\",\n alt: \"QQ\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"a\", { attrs: { href: \"http://tboox.org/donation/\" } }, [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/badge/donate-us-orange.svg?style=flat-square\",\n alt: \"Donate\"\n }\n })\n ])\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"一个用c语言实现的跨平台开发库\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"简介\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#简介\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 简介\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Windows\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Macosx\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Linux\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Android\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"iOS\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Release: 正式版编译,禁用调试信息、断言,各种检测机制,启用编译器优化\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Debug: 调试模式,默认启用详细调试信息、断言、内存越界检测、内存泄漏、锁竞争分析等检测机制\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Small: 最小化编译,默认禁用所有扩展模块,启用编译器最小化优化\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Micro: 针对嵌入式平台,仅仅编译tbox微内核,仅提供最基础的跨平台接口,生成库仅64K左右(内置轻量libc接口实现)\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"特性\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#特性\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 特性\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"流库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#流库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 流库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _c(\"code\", [_vm._v(\"stream\")]),\n _vm._v(\n \":通用非阻塞流,用于一般的单独io处理,同时支持协程以实现异步传输。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\"code\", [_vm._v(\"transfer\")]),\n _vm._v(\":流传输器,维护两路流的传输。\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\"code\", [_vm._v(\"static_stream\")]),\n _vm._v(\":针对静态数据buffer优化的静态流,用于轻量快速的数据解析。\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"协程库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#协程库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 协程库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"数据库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#数据库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 数据库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"统一并简化数据库操作接口,适配各种数据源,通过统一的url来自动连接打开支持的数据库,数据的枚举采用迭代器模型。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"目前支持sqlite3以及mysql两种关系型数据库,也可自定义扩展使用其他关系型数据库。\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"xml库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#xml库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" xml库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"针对xml提供DOM和SAX两种解析模式,SAX方式采用外部迭代模式,灵活性和性能更高,并且可以选择指定路径,进行解析。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"解析过程完全基于stream,所以是高度流化的,可以实现边下载、边解压、边转码、边解析一条龙服务,使用较低的内存也可以解析大规模数据。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供xml writer以支持对xml生成\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"内存库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#内存库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 内存库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"参考linux内核内存管理机制的实现,并对其进行各种改造和优化,所实现的TBOX独有的一整套内存池管理架构。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"调试模式下,可以轻松检测并定位内存泄露、内存越界溢出、内存重叠覆盖等常见内存问题,并对整体内存的使用进行了统计和简要分析。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"针对大块数据、小块数据、字符串数据进行了充分的利用,避免了大量外部碎片和内部碎片的产生。分配操作进行了各种优化,96%的情况下,效率都是在O(1)。\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"容器库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#容器库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 容器库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"提供哈希、链表、数组、队列、堆栈、最小最大堆等常用容器。\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"支持各种常用成员类型,在原有的容器期初上,其成员类型还可以完全自定义扩展。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"所有容器都支持迭代器操作。\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"大部分容器都可以支持基于stream的序列化和反序列化操作。\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"算法库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#算法库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 算法库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"提供各种排序算法:冒泡排序、堆排序、快速排序、插入排序。\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供各种查找算法:线性遍历、二分法搜索。\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供各种遍历、删除、统计算法。\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"以迭代器为接口,实现算法和容器的分离,类似stl,但是c实现的,更加轻量。\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"网络库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#网络库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 网络库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"实现http客户端模块\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"实现cookies\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"实现dns解析与缓存\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"实现ssl(支持openssl, polarssl, mbedtls)\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"支持ipv4、ipv6\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"支持通过协程实现异步模式\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"数学运算库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#数学运算库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 数学运算库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"提供各种精度的定点运算支持\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供随机数生成器\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"libc库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#libc库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" libc库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"libc的一个轻量级实现,完全跨平台,并且针对不同架构进行了优化。\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"支持大部分字符串、宽字符串操作。\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"扩展字符串、宽字符串的各种大小写不敏感操作接口\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"扩展\"),\n _c(\"code\", [_vm._v(\"memset_u16\")]),\n _vm._v(\"、\"),\n _c(\"code\", [_vm._v(\"memset_u32\")]),\n _vm._v(\"等接口,并对其进行高度优化,尤其适合图形渲染程序\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"libm库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#libm库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" libm库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"libm部分接口的一个轻量级实现,以及对常用系统接口的封装。(目前只实现了部分,之后有时间会完全实现掉)\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"扩展部分常用接口,增加对sqrt、log2等常用函数的整数版本计算,进行高度优化,不涉及浮点运算,适合嵌入式环境使用。\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"object库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#object库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" object库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"轻量级类apple的CoreFoundation库,支持object、dictionary、array、string、number、date、data等常用对象,并且可以方便扩展自定义对象的序列化。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"支持对xml、json、binary以及apple的plist(xplist/bplist)格式序列化和反序列化。\\n并且实现自有的binary序列化格式, 针对明文进行了简单的加密,在不影响性能的前提下,序列化后的大小比bplist节省30%。\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"平台库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#平台库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 平台库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"提供file、directory、socket、thread、time等常用系统接口\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供atomic、atomic64接口\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供高精度、低精度定时器\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供高性能的线程池操作\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"提供event、mutex、semaphore、spinlock等事件、互斥、信号量、自旋锁操作\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供获取函数堆栈信息的接口,方便调试和错误定位\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"提供跨平台动态库加载接口(如果系统支持的话)\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"提供io轮询器,针对epoll, poll, select, kqueue进行跨平台封装\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"提供跨平台上下文切换接口,主要用于协程实现,切换效率非常高\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"压缩库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#压缩库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 压缩库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"支持zlib/zlibraw/gzip的压缩与解压(需要第三方zlib库支持)。\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"字符编码库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#字符编码库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 字符编码库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"支持utf8、utf16、gbk、gb2312、uc2、uc4 之间的互相转码,并且支持大小端格式。\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"实用工具库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#实用工具库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 实用工具库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"实现base64/32编解码\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"实现crc32、adler32、md5、sha1等常用hash算法\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"实现日志输出、断言等辅助调试工具\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"实现url编解码\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"实现位操作相关接口,支持各种数据格式的解析,可以对8bits、16bits、32bits、64bits、float、double以及任意bits的字段进行解析操作,并且同时支持大端、小端和本地端模式,并针对部分操作进行了优化,像static_stream、stream都有相关接口对其进行了封装,方便在流上进行快速数据解析。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"实现swap16、swap32、swap64等位交换操作,并针对各个平台进行了优化。\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"实现一些高级的位处理接口,例如:位0的快速统计、前导0和前导1的快速位计数、后导01的快速位计数\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"实现单例模块,可以对静态对象、实例对象进行快速的单例封装,实现全局线程安全\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"实现option模块,对命令行参数进行解析,提供快速方便的命令行选项建立和解析操作,对于写终端程序还是很有帮助的\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"正则表达式库\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#正则表达式库\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 正则表达式库\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"支持匹配和替换操作\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"支持全局、多行、大小写不敏感等模式\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"使用pcre, pcre2和posix正则库\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"一些使用tbox的项目:\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#一些使用tbox的项目:\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 一些使用tbox的项目:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"编译\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#编译\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 编译\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-console extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-text\" } }, [\n _c(\"code\", [\n _vm._v(\n \"# 默认直接编译当前主机平台\\n$ cd ./tbox\\n$ xmake\\n\\n# 编译mingw平台\\n$ cd ./tbox\\n$ xmake f -p mingw --sdk=/home/mingwsdk \\n$ xmake\\n\\n# 编译iphoneos平台\\n$ cd ./tbox\\n$ xmake f -p iphoneos \\n$ xmake\\n\\n# 编译android平台\\n$ cd ./tbox\\n$ xmake f -p android --ndk=xxxxx\\n$ xmake\\n\\n# 交叉编译\\n$ cd ./tbox\\n$ xmake f -p linux --sdk=/home/sdk #--bin=/home/sdk/bin\\n$ xmake\\n\"\n )\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"例子\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#例子\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 例子\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-c extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-c\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token macro property\" } }, [\n _vm._v(\"#\"),\n _c(\"span\", { attrs: { class: \"token directive keyword\" } }, [\n _vm._v(\"include\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"tbox/tbox.h\"')\n ])\n ]),\n _vm._v(\"\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"int\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"main\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"int\")]),\n _vm._v(\" argc\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"char\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _vm._v(\" argv\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// init tbox\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"!\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_init\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"tb_null\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" tb_null\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"return\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// trace\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_trace_i\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"hello tbox\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// init vector\")\n ]),\n _vm._v(\"\\n tb_vector_ref_t vector \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_init\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_element_cstr\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"tb_true\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// insert item\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_insert_tail\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"hello\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_insert_tail\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"tbox\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// dump all items\")\n ]),\n _vm._v(\"\\n tb_for_all \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"tb_char_t \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"const\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" cstr\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// trace\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_trace_i\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"%s\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" cstr\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// exit vector\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_exit\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// init stream\")\n ]),\n _vm._v(\"\\n tb_stream_ref_t stream \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_init_from_url\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"http://www.xxx.com/file.txt\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// open stream\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_open\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// read line\")\n ]),\n _vm._v(\"\\n tb_long_t size \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n tb_char_t line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"TB_STREAM_BLOCK_MAXN\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"while\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"size \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_bread_line\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"sizeof\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\">=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// trace\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_trace_i\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"line: %s\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// exit stream\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_exit\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// wait \")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"getchar\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// exit tbox\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_exit\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"return\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"联系方式\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#联系方式\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" 联系方式\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"li\", [\n _vm._v(\"邮箱:\"),\n _c(\"a\", { attrs: { href: \"mailto:waruqi@gmail.com\" } }, [\n _vm._v(\"waruqi@gmail.com\")\n ])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/efa47f4f903b5c0ae07602a3e0e74179.json b/node_modules/vuepress/node_modules/.cache/vuepress/efa47f4f903b5c0ae07602a3e0e74179.json new file mode 100644 index 00000000..63722285 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/efa47f4f903b5c0ae07602a3e0e74179.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/components/Badge.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/components/Badge.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["export default {\n functional: true,\n props: {\n type: {\n type: String,\n default: 'tip'\n },\n text: String,\n vertical: {\n type: String,\n default: 'top'\n }\n },\n render: function render(h, _ref) {\n var props = _ref.props,\n slots = _ref.slots;\n return h('span', {\n class: ['badge', props.type, props.vertical]\n }, props.text || slots().default);\n }\n};",{"version":3,"sources":["Badge.vue"],"names":[],"mappings":"AACA,eAAA;AACA,cAAA,IADA;AAEA,SAAA;AACA,UAAA;AACA,YAAA,MADA;AAEA,eAAA;AAFA,KADA;AAKA,UAAA,MALA;AAMA,cAAA;AACA,YAAA,MADA;AAEA,eAAA;AAFA;AANA,GAFA;AAaA,QAbA,kBAaA,CAbA,QAaA;AAAA,QAAA,KAAA,QAAA,KAAA;AAAA,QAAA,KAAA,QAAA,KAAA;AACA,WAAA,EAAA,MAAA,EAAA;AACA,aAAA,CAAA,OAAA,EAAA,MAAA,IAAA,EAAA,MAAA,QAAA;AADA,KAAA,EAEA,MAAA,IAAA,IAAA,QAAA,OAFA,CAAA;AAGA;AAjBA,CAAA","sourcesContent":["<script>\nexport default {\n functional: true,\n props: {\n type: {\n type: String,\n default: 'tip'\n },\n text: String,\n vertical: {\n type: String,\n default: 'top'\n }\n },\n render (h, { props, slots }) {\n return h('span', {\n class: ['badge', props.type, props.vertical]\n }, props.text || slots().default)\n }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n@import '../../default-theme/styles/config.styl'\n\n.badge\n display inline-block\n font-size 14px\n height 18px\n line-height 18px\n border-radius 3px\n padding 0 6px\n color white\n margin-right 5px\n background-color #42b983\n &.middle\n vertical-align middle\n &.top\n vertical-align top\n &.tip, &.green\n background-color #42b983\n &.error\n background-color #DA5961 //#f66\n &.warning, &.warn, &.yellow\n background-color darken(#ffe564, 35%)\n</style>\n"],"sourceRoot":"node_modules/vuepress/lib/app/components"}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/efbdf478be899d8a0cb6ed83667ab9dc.json b/node_modules/vuepress/node_modules/.cache/vuepress/efbdf478be899d8a0cb6ed83667ab9dc.json new file mode 100644 index 00000000..dce134f5 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/efbdf478be899d8a0cb6ed83667ab9dc.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\nimport { isActive, hashRE, groupHeaders } from './util'\n\nexport default {\n functional: true,\n\n props: ['item'],\n\n render (h, { parent: { $page, $site, $route }, props: { item }}) {\n // use custom active class matching logic\n // due to edge case of paths ending with / + hash\n const selfActive = isActive($route, item.path)\n // for sidebar: auto pages, a hash link should be active if one of its child\n // matches\n const active = item.type === 'auto'\n ? selfActive || item.children.some(c => isActive($route, item.basePath + '#' + c.slug))\n : selfActive\n const link = renderLink(h, item.path, item.title || item.path, active)\n const configDepth = $page.frontmatter.sidebarDepth != null\n ? $page.frontmatter.sidebarDepth\n : $site.themeConfig.sidebarDepth\n const maxDepth = configDepth == null ? 1 : configDepth\n const displayAllHeaders = !!$site.themeConfig.displayAllHeaders\n if (item.type === 'auto') {\n return [link, renderChildren(h, item.children, item.basePath, $route, maxDepth)]\n } else if ((active || displayAllHeaders) && item.headers && !hashRE.test(item.path)) {\n const children = groupHeaders(item.headers)\n return [link, renderChildren(h, children, item.path, $route, maxDepth)]\n } else {\n return link\n }\n }\n}\n\nfunction renderLink (h, to, text, active) {\n return h('router-link', {\n props: {\n to,\n activeClass: '',\n exactActiveClass: ''\n },\n class: {\n active,\n 'sidebar-link': true\n }\n }, text)\n}\n\nfunction renderChildren (h, children, path, route, maxDepth, depth = 1) {\n if (!children || depth > maxDepth) return null\n return h('ul', { class: 'sidebar-sub-headers' }, children.map(c => {\n const active = isActive(route, path + '#' + c.slug)\n return h('li', { class: 'sidebar-sub-header' }, [\n renderLink(h, path + '#' + c.slug, c.title, active),\n renderChildren(h, c.children, path, route, maxDepth, depth + 1)\n ])\n }))\n}\n",{"version":3,"sources":["SidebarLink.vue"],"names":[],"mappings":";AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"SidebarLink.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<script>\nimport { isActive, hashRE, groupHeaders } from './util'\n\nexport default {\n functional: true,\n\n props: ['item'],\n\n render (h, { parent: { $page, $site, $route }, props: { item }}) {\n // use custom active class matching logic\n // due to edge case of paths ending with / + hash\n const selfActive = isActive($route, item.path)\n // for sidebar: auto pages, a hash link should be active if one of its child\n // matches\n const active = item.type === 'auto'\n ? selfActive || item.children.some(c => isActive($route, item.basePath + '#' + c.slug))\n : selfActive\n const link = renderLink(h, item.path, item.title || item.path, active)\n const configDepth = $page.frontmatter.sidebarDepth != null\n ? $page.frontmatter.sidebarDepth\n : $site.themeConfig.sidebarDepth\n const maxDepth = configDepth == null ? 1 : configDepth\n const displayAllHeaders = !!$site.themeConfig.displayAllHeaders\n if (item.type === 'auto') {\n return [link, renderChildren(h, item.children, item.basePath, $route, maxDepth)]\n } else if ((active || displayAllHeaders) && item.headers && !hashRE.test(item.path)) {\n const children = groupHeaders(item.headers)\n return [link, renderChildren(h, children, item.path, $route, maxDepth)]\n } else {\n return link\n }\n }\n}\n\nfunction renderLink (h, to, text, active) {\n return h('router-link', {\n props: {\n to,\n activeClass: '',\n exactActiveClass: ''\n },\n class: {\n active,\n 'sidebar-link': true\n }\n }, text)\n}\n\nfunction renderChildren (h, children, path, route, maxDepth, depth = 1) {\n if (!children || depth > maxDepth) return null\n return h('ul', { class: 'sidebar-sub-headers' }, children.map(c => {\n const active = isActive(route, path + '#' + c.slug)\n return h('li', { class: 'sidebar-sub-header' }, [\n renderLink(h, path + '#' + c.slug, c.title, active),\n renderChildren(h, c.children, path, route, maxDepth, depth + 1)\n ])\n }))\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.sidebar .sidebar-sub-headers\n padding-left 1rem\n font-size 0.95em\n\na.sidebar-link\n font-weight 400\n display inline-block\n color $textColor\n border-left 0.25rem solid transparent\n padding 0.35rem 1rem 0.35rem 1.25rem\n line-height 1.4\n width: 100%\n box-sizing: border-box\n &:hover\n color $accentColor\n &.active\n font-weight 600\n color $accentColor\n border-left-color $accentColor\n .sidebar-group &\n padding-left 2rem\n .sidebar-sub-headers &\n padding-top 0.25rem\n padding-bottom 0.25rem\n border-left none\n &.active\n font-weight 500\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/efe9c72f33b542ca73279000b8b0956e.json b/node_modules/vuepress/node_modules/.cache/vuepress/efe9c72f33b542ca73279000b8b0956e.json new file mode 100644 index 00000000..b74703b0 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/efe9c72f33b542ca73279000b8b0956e.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/zh/guide/sponsors.md","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/zh/guide/sponsors.md","mtime":1541582153336},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./sponsors.md?vue&type=template&id=3db465ce&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('3db465ce', component.options)\n } else {\n api.reload('3db465ce', component.options)\n }\n module.hot.accept(\"./sponsors.md?vue&type=template&id=3db465ce&\", function () {\n api.rerender('3db465ce', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/zh/guide/sponsors.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/efefb64a6426b639e61ac4bedcd59468.json b/node_modules/vuepress/node_modules/.cache/vuepress/efefb64a6426b639e61ac4bedcd59468.json new file mode 100644 index 00000000..ed21406a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/efefb64a6426b639e61ac4bedcd59468.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/manual/index.md?vue&type=template&id=7862dd7e&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/manual/index.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm._m(0)\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _c(\"h1\", { attrs: { id: \"manual\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#manual\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Manual\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"[TODO]\")])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/f05c01eadbd4f3eef1b7fd205a567476.json b/node_modules/vuepress/node_modules/.cache/vuepress/f05c01eadbd4f3eef1b7fd205a567476.json new file mode 100644 index 00000000..c5e1e2f6 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/f05c01eadbd4f3eef1b7fd205a567476.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/locals.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.sidebar .sidebar-sub-headers\n padding-left 1rem\n font-size 0.95em\n\na.sidebar-link\n font-weight 400\n display inline-block\n color $textColor\n border-left 0.25rem solid transparent\n padding 0.35rem 1rem 0.35rem 1.25rem\n line-height 1.4\n width: 100%\n box-sizing: border-box\n &:hover\n color $accentColor\n &.active\n font-weight 600\n color $accentColor\n border-left-color $accentColor\n .sidebar-group &\n padding-left 2rem\n .sidebar-sub-headers &\n padding-top 0.25rem\n padding-bottom 0.25rem\n border-left none\n &.active\n font-weight 500\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/f08f438db1b8aa5cea43c35ff0750862.json b/node_modules/vuepress/node_modules/.cache/vuepress/f08f438db1b8aa5cea43c35ff0750862.json new file mode 100644 index 00000000..917416a8 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/f08f438db1b8aa5cea43c35ff0750862.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Layout.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Layout.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport Vue from 'vue'\nimport nprogress from 'nprogress'\nimport Home from './Home.vue'\nimport Navbar from './Navbar.vue'\nimport Page from './Page.vue'\nimport Sidebar from './Sidebar.vue'\nimport SWUpdatePopup from './SWUpdatePopup.vue'\nimport { resolveSidebarItems } from './util'\n\nexport default {\n components: { Home, Page, Sidebar, Navbar, SWUpdatePopup },\n\n data () {\n return {\n isSidebarOpen: false,\n swUpdateEvent: null\n }\n },\n\n computed: {\n shouldShowNavbar () {\n const { themeConfig } = this.$site\n const { frontmatter } = this.$page\n if (\n frontmatter.navbar === false ||\n themeConfig.navbar === false) {\n return false\n }\n return (\n this.$title ||\n themeConfig.logo ||\n themeConfig.repo ||\n themeConfig.nav ||\n this.$themeLocaleConfig.nav\n )\n },\n\n shouldShowSidebar () {\n const { frontmatter } = this.$page\n return (\n !frontmatter.layout &&\n !frontmatter.home &&\n frontmatter.sidebar !== false &&\n this.sidebarItems.length\n )\n },\n\n sidebarItems () {\n return resolveSidebarItems(\n this.$page,\n this.$route,\n this.$site,\n this.$localePath\n )\n },\n\n pageClasses () {\n const userPageClass = this.$page.frontmatter.pageClass\n return [\n {\n 'no-navbar': !this.shouldShowNavbar,\n 'sidebar-open': this.isSidebarOpen,\n 'no-sidebar': !this.shouldShowSidebar\n },\n userPageClass\n ]\n }\n },\n\n mounted () {\n window.addEventListener('scroll', this.onScroll)\n\n // configure progress bar\n nprogress.configure({ showSpinner: false })\n\n this.$router.beforeEach((to, from, next) => {\n if (to.path !== from.path && !Vue.component(to.name)) {\n nprogress.start()\n }\n next()\n })\n\n this.$router.afterEach(() => {\n nprogress.done()\n this.isSidebarOpen = false\n })\n\n this.$on('sw-updated', this.onSWUpdated)\n },\n\n methods: {\n toggleSidebar (to) {\n this.isSidebarOpen = typeof to === 'boolean' ? to : !this.isSidebarOpen\n },\n\n // side swipe\n onTouchStart (e) {\n this.touchStart = {\n x: e.changedTouches[0].clientX,\n y: e.changedTouches[0].clientY\n }\n },\n\n onTouchEnd (e) {\n const dx = e.changedTouches[0].clientX - this.touchStart.x\n const dy = e.changedTouches[0].clientY - this.touchStart.y\n if (Math.abs(dx) > Math.abs(dy) && Math.abs(dx) > 40) {\n if (dx > 0 && this.touchStart.x <= 80) {\n this.toggleSidebar(true)\n } else {\n this.toggleSidebar(false)\n }\n }\n },\n\n onSWUpdated (e) {\n this.swUpdateEvent = e\n }\n }\n}\n",{"version":3,"sources":["Layout.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA","file":"Layout.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <div\n class=\"theme-container\"\n :class=\"pageClasses\"\n @touchstart=\"onTouchStart\"\n @touchend=\"onTouchEnd\"\n >\n <Navbar\n v-if=\"shouldShowNavbar\"\n @toggle-sidebar=\"toggleSidebar\"\n />\n\n <div\n class=\"sidebar-mask\"\n @click=\"toggleSidebar(false)\"\n ></div>\n\n <Sidebar\n :items=\"sidebarItems\"\n @toggle-sidebar=\"toggleSidebar\"\n >\n <slot\n name=\"sidebar-top\"\n slot=\"top\"\n />\n <slot\n name=\"sidebar-bottom\"\n slot=\"bottom\"\n />\n </Sidebar>\n\n <div\n class=\"custom-layout\"\n v-if=\"$page.frontmatter.layout\"\n >\n <component :is=\"$page.frontmatter.layout\"/>\n </div>\n\n <Home v-else-if=\"$page.frontmatter.home\"/>\n\n <Page\n v-else\n :sidebar-items=\"sidebarItems\"\n >\n <slot\n name=\"page-top\"\n slot=\"top\"\n />\n <slot\n name=\"page-bottom\"\n slot=\"bottom\"\n />\n </Page>\n\n <SWUpdatePopup :updateEvent=\"swUpdateEvent\"/>\n </div>\n</template>\n\n<script>\nimport Vue from 'vue'\nimport nprogress from 'nprogress'\nimport Home from './Home.vue'\nimport Navbar from './Navbar.vue'\nimport Page from './Page.vue'\nimport Sidebar from './Sidebar.vue'\nimport SWUpdatePopup from './SWUpdatePopup.vue'\nimport { resolveSidebarItems } from './util'\n\nexport default {\n components: { Home, Page, Sidebar, Navbar, SWUpdatePopup },\n\n data () {\n return {\n isSidebarOpen: false,\n swUpdateEvent: null\n }\n },\n\n computed: {\n shouldShowNavbar () {\n const { themeConfig } = this.$site\n const { frontmatter } = this.$page\n if (\n frontmatter.navbar === false ||\n themeConfig.navbar === false) {\n return false\n }\n return (\n this.$title ||\n themeConfig.logo ||\n themeConfig.repo ||\n themeConfig.nav ||\n this.$themeLocaleConfig.nav\n )\n },\n\n shouldShowSidebar () {\n const { frontmatter } = this.$page\n return (\n !frontmatter.layout &&\n !frontmatter.home &&\n frontmatter.sidebar !== false &&\n this.sidebarItems.length\n )\n },\n\n sidebarItems () {\n return resolveSidebarItems(\n this.$page,\n this.$route,\n this.$site,\n this.$localePath\n )\n },\n\n pageClasses () {\n const userPageClass = this.$page.frontmatter.pageClass\n return [\n {\n 'no-navbar': !this.shouldShowNavbar,\n 'sidebar-open': this.isSidebarOpen,\n 'no-sidebar': !this.shouldShowSidebar\n },\n userPageClass\n ]\n }\n },\n\n mounted () {\n window.addEventListener('scroll', this.onScroll)\n\n // configure progress bar\n nprogress.configure({ showSpinner: false })\n\n this.$router.beforeEach((to, from, next) => {\n if (to.path !== from.path && !Vue.component(to.name)) {\n nprogress.start()\n }\n next()\n })\n\n this.$router.afterEach(() => {\n nprogress.done()\n this.isSidebarOpen = false\n })\n\n this.$on('sw-updated', this.onSWUpdated)\n },\n\n methods: {\n toggleSidebar (to) {\n this.isSidebarOpen = typeof to === 'boolean' ? to : !this.isSidebarOpen\n },\n\n // side swipe\n onTouchStart (e) {\n this.touchStart = {\n x: e.changedTouches[0].clientX,\n y: e.changedTouches[0].clientY\n }\n },\n\n onTouchEnd (e) {\n const dx = e.changedTouches[0].clientX - this.touchStart.x\n const dy = e.changedTouches[0].clientY - this.touchStart.y\n if (Math.abs(dx) > Math.abs(dy) && Math.abs(dx) > 40) {\n if (dx > 0 && this.touchStart.x <= 80) {\n this.toggleSidebar(true)\n } else {\n this.toggleSidebar(false)\n }\n }\n },\n\n onSWUpdated (e) {\n this.swUpdateEvent = e\n }\n }\n}\n</script>\n\n<style src=\"prismjs/themes/prism-tomorrow.css\"></style>\n<style src=\"./styles/theme.styl\" lang=\"stylus\"></style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/f12b34bac0f78e7e317f42f91504751e.json b/node_modules/vuepress/node_modules/.cache/vuepress/f12b34bac0f78e7e317f42f91504751e.json new file mode 100644 index 00000000..734ce56b --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/f12b34bac0f78e7e317f42f91504751e.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/README.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/README.md","mtime":1541513043653},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./README.md?vue&type=template&id=83e02194&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('83e02194', component.options)\n } else {\n api.reload('83e02194', component.options)\n }\n module.hot.accept(\"./README.md?vue&type=template&id=83e02194&\", function () {\n api.rerender('83e02194', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/README.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/f163d01242f78498350d69eefc78c0c0.json b/node_modules/vuepress/node_modules/.cache/vuepress/f163d01242f78498350d69eefc78c0c0.json new file mode 100644 index 00000000..4aa519ea --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/f163d01242f78498350d69eefc78c0c0.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue?vue&type=template&id=c97eee92&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sidebar\"},[_c('NavLinks'),_vm._v(\" \"),_vm._t(\"top\"),_vm._v(\" \"),(_vm.items.length)?_c('ul',{staticClass:\"sidebar-links\"},_vm._l((_vm.items),function(item,i){return _c('li',{key:i},[(item.type === 'group')?_c('SidebarGroup',{attrs:{\"item\":item,\"first\":i === 0,\"open\":i === _vm.openGroupIndex,\"collapsable\":item.collapsable || item.collapsible},on:{\"toggle\":function($event){_vm.toggleGroup(i)}}}):_c('SidebarLink',{attrs:{\"item\":item}})],1)})):_vm._e(),_vm._v(\" \"),_vm._t(\"bottom\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/f1845542516a76aee00163af778ea43d.json b/node_modules/vuepress/node_modules/.cache/vuepress/f1845542516a76aee00163af778ea43d.json new file mode 100644 index 00000000..87c64642 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/f1845542516a76aee00163af778ea43d.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/introduction.md?vue&type=template&id=2b93628e&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/introduction.md","mtime":1541488030814},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"introduction\"><a class=\"header-anchor\" href=\"#introduction\" aria-hidden=\"true\">#</a> Introduction</h1>\n<p>TBOX is a glib-like cross-platform C library that is simple to use yet powerful in nature.</p>\n<p>The project focuses on making C development easier and provides many modules (.e.g stream, coroutine, regex, container, algorithm ...),\nso that any developer can quickly pick it up and enjoy the productivity boost when developing in C language.</p>\n<p>It supports the following platforms:</p>\n<ul>\n<li>Windows</li>\n<li>Macosx</li>\n<li>Linux</li>\n<li>Android</li>\n<li>iOS</li>\n</ul>\n<p>And it provides many compiling options using <a href=\"http://www.xmake.io\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a>:</p>\n<ul>\n<li>Release: Disable debug information, assertion, memory checking and enable optimization.</li>\n<li>Debug: Enable debug information, assertion, memory checking and disable optimization.</li>\n<li>Small: Disable all extensional modules and enable space optimization.</li>\n<li>Micro: compiling micro library (~64K) for the embed system.</li>\n</ul>\n<p>If you want to know more, please refer to:</p>\n<ul>\n<li><a href=\"http://tboox.org\" target=\"_blank\" rel=\"noopener noreferrer\">HomePage<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/documents\" target=\"_blank\" rel=\"noopener noreferrer\">Documents<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Github<OutboundLink/></a></li>\n<li><a href=\"https://gitee.com/tboox/tbox\" target=\"_blank\" rel=\"noopener noreferrer\">Gitee<OutboundLink/></a></li>\n</ul>\n<h2 id=\"features\"><a class=\"header-anchor\" href=\"#features\" aria-hidden=\"true\">#</a> Features</h2>\n<h4 id=\"the-stream-library\"><a class=\"header-anchor\" href=\"#the-stream-library\" aria-hidden=\"true\">#</a> The stream library</h4>\n<ul>\n<li>Supports file, data, http and socket source</li>\n<li>Supports the stream filter for gzip, charset and...</li>\n<li>Implements stream transfer</li>\n<li>Implements the static buffer stream for parsing data</li>\n<li>Supports coroutine and implements asynchronous operation</li>\n</ul>\n<h4 id=\"the-coroutine-library\"><a class=\"header-anchor\" href=\"#the-coroutine-library\" aria-hidden=\"true\">#</a> The coroutine library</h4>\n<ul>\n<li>Provides high-performance coroutine switch(refer to <a href=\"http://tboox.org/2016/10/28/benchbox-coroutine/\" target=\"_blank\" rel=\"noopener noreferrer\">reports<OutboundLink/></a>)</li>\n<li>Supports arm, arm64, x86, x86_64 ..</li>\n<li>Provides channel interfaces</li>\n<li>Provides semaphore and lock interfaces</li>\n<li>Supports io socket and stream operation in coroutine</li>\n<li>Provides some io servers (http ..) using coroutine</li>\n<li>Provides stackfull and stackless coroutines</li>\n<li>Support epoll, kqueue, poll, select and IOCP</li>\n</ul>\n<h4 id=\"the-database-library\"><a class=\"header-anchor\" href=\"#the-database-library\" aria-hidden=\"true\">#</a> The database library</h4>\n<ul>\n<li>Supports mysql and sqlite3 database and enumerates data using the iterator mode</li>\n</ul>\n<h4 id=\"the-xml-parser-library\"><a class=\"header-anchor\" href=\"#the-xml-parser-library\" aria-hidden=\"true\">#</a> The xml parser library</h4>\n<ul>\n<li>Supports DOM and SAX mode and Supports xpath</li>\n</ul>\n<h4 id=\"the-serialization-and-deserialization-library\"><a class=\"header-anchor\" href=\"#the-serialization-and-deserialization-library\" aria-hidden=\"true\">#</a> The serialization and deserialization library</h4>\n<ul>\n<li>Supports xml, json, bplist, xplist, binary formats</li>\n</ul>\n<h4 id=\"the-memory-library\"><a class=\"header-anchor\" href=\"#the-memory-library\" aria-hidden=\"true\">#</a> The memory library</h4>\n<ul>\n<li>Implements some memory pools for optimizing memory</li>\n<li>Supports fast memory error detecting. it can detect the following types of bugs for the debug mode:\n<ul>\n<li>out-of-bounds accesses to heap and globals</li>\n<li>use-after-free</li>\n<li>double-free, invalid free</li>\n<li>memory leaks</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"the-container-library\"><a class=\"header-anchor\" href=\"#the-container-library\" aria-hidden=\"true\">#</a> The container library</h4>\n<ul>\n<li>Implements hash table, single list, double list, vector, stack, queue\nand min/max heap. Supports iterator mode for algorithm</li>\n</ul>\n<h4 id=\"the-algorithm-library\"><a class=\"header-anchor\" href=\"#the-algorithm-library\" aria-hidden=\"true\">#</a> The algorithm library</h4>\n<ul>\n<li>Uses the iterator mode</li>\n<li>Implements find, binary find and reverse find algorithm</li>\n<li>Implements sort, bubble sort, quick sort, heap sort and insert sort algorithm</li>\n<li>Implements count, walk items, reverse walk items, for_all and rfor_all</li>\n</ul>\n<h4 id=\"the-network-library\"><a class=\"header-anchor\" href=\"#the-network-library\" aria-hidden=\"true\">#</a> The network library</h4>\n<ul>\n<li>Implements dns(cached)</li>\n<li>Implements ssl(openssl, polarssl, mbedtls)</li>\n<li>Implements http</li>\n<li>Implements cookies</li>\n<li>Supports ipv4, ipv6</li>\n<li>Supports coroutine</li>\n</ul>\n<h4 id=\"the-platform-library\"><a class=\"header-anchor\" href=\"#the-platform-library\" aria-hidden=\"true\">#</a> The platform library</h4>\n<ul>\n<li>Implements timer, fast and low precision timer</li>\n<li>Implements atomic and atomic64 operation</li>\n<li>Implements spinlock, mutex, event, semaphore, thread and thread pool</li>\n<li>Implements file, socket operation</li>\n<li>Implements poller using epoll, poll, select, kqueue ...</li>\n<li>Implements switch context interfaces for coroutine</li>\n</ul>\n<h4 id=\"the-charset-library\"><a class=\"header-anchor\" href=\"#the-charset-library\" aria-hidden=\"true\">#</a> The charset library</h4>\n<ul>\n<li>Supports utf8, utf16, gbk, gb2312, uc2 and uc4</li>\n<li>Supports big endian and little endian mode</li>\n</ul>\n<h4 id=\"the-zip-library\"><a class=\"header-anchor\" href=\"#the-zip-library\" aria-hidden=\"true\">#</a> The zip library</h4>\n<ul>\n<li>Supports gzip, zlibraw, zlib formats using the zlib library if exists</li>\n<li>Implements lzsw, lz77 and rlc algorithm</li>\n</ul>\n<h4 id=\"the-utils-library\"><a class=\"header-anchor\" href=\"#the-utils-library\" aria-hidden=\"true\">#</a> The utils library</h4>\n<ul>\n<li>Implements base32, base64 encoder and decoder</li>\n<li>Implements assert and trace output for the debug mode</li>\n<li>Implements bits operation for parsing u8, u16, u32, u64 data</li>\n</ul>\n<h4 id=\"the-math-library\"><a class=\"header-anchor\" href=\"#the-math-library\" aria-hidden=\"true\">#</a> The math library</h4>\n<ul>\n<li>Implements random generator</li>\n<li>Implements fast fixed-point calculation, Supports 6-bits, 16-bits, 30-bits fixed-point number</li>\n</ul>\n<h4 id=\"the-libc-library\"><a class=\"header-anchor\" href=\"#the-libc-library\" aria-hidden=\"true\">#</a> The libc library</h4>\n<ul>\n<li>Implements lightweight libc library interfaces, the interface name contains <code>tb_xxx</code> prefix for avoiding conflict</li>\n<li>Implements strixxx strrxxx wcsixxx wcsrxxx interface extension</li>\n<li>Optimizes some frequently-used interface, .e.g. memset, memcpy, strcpy ...</li>\n<li>Implements <code>memset_u16</code>, <code>memset_u32</code>, <code>memset_u64</code> extension interfaces</li>\n</ul>\n<h4 id=\"the-libm-library\"><a class=\"header-anchor\" href=\"#the-libm-library\" aria-hidden=\"true\">#</a> The libm library</h4>\n<ul>\n<li>Implements lightweight libm library interfaces, the interface name contains <code>tb_xxx</code> prefix for avoiding conflict</li>\n<li>Supports float and double type</li>\n</ul>\n<h4 id=\"the-regex-library\"><a class=\"header-anchor\" href=\"#the-regex-library\" aria-hidden=\"true\">#</a> The regex library</h4>\n<ul>\n<li>Supports match and replace</li>\n<li>Supports global/multiline/caseless mode</li>\n<li>Uses pcre, pcre2 and posix regex modules</li>\n</ul>\n<h4 id=\"the-hash-library\"><a class=\"header-anchor\" href=\"#the-hash-library\" aria-hidden=\"true\">#</a> The hash library</h4>\n<ul>\n<li>Implements crc32, adler32, md5 and sha1 hash algorithm</li>\n<li>Implements some string hash algorithms (.e.g bkdr, fnv32, fnv64, sdbm, djb2, rshash, aphash ...)</li>\n<li>Implements uuid generator</li>\n</ul>\n<h2 id=\"projects\"><a class=\"header-anchor\" href=\"#projects\" aria-hidden=\"true\">#</a> Projects</h2>\n<p>Some projects using tbox:</p>\n<ul>\n<li><a href=\"https://github.com/tboox/gbox\" target=\"_blank\" rel=\"noopener noreferrer\">gbox<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/vm86\" target=\"_blank\" rel=\"noopener noreferrer\">vm86<OutboundLink/></a></li>\n<li><a href=\"http://www.xmake.io\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/itrace\" target=\"_blank\" rel=\"noopener noreferrer\">itrace<OutboundLink/></a></li>\n<li><a href=\"https://github.com/tboox/tbox/wiki/tbox-projects\" target=\"_blank\" rel=\"noopener noreferrer\">more<OutboundLink/></a></li>\n</ul>\n<h2 id=\"contacts\"><a class=\"header-anchor\" href=\"#contacts\" aria-hidden=\"true\">#</a> Contacts</h2>\n<ul>\n<li>Email:<a href=\"mailto:waruqi@gmail.com\">waruqi@gmail.com</a></li>\n<li>Homepage:<a href=\"http://www.tboox.org\" target=\"_blank\" rel=\"noopener noreferrer\">tboox.org<OutboundLink/></a></li>\n<li>Community:<a href=\"https://www.reddit.com/r/tboox/\" target=\"_blank\" rel=\"noopener noreferrer\">/r/tboox on reddit<OutboundLink/></a></li>\n</ul>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/f1d236ba4a9993d163fe6346d7039cd6.json b/node_modules/vuepress/node_modules/.cache/vuepress/f1d236ba4a9993d163fe6346d7039cd6.json new file mode 100644 index 00000000..42803964 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/f1d236ba4a9993d163fe6346d7039cd6.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/manual/index.md?vue&type=template&id=115631ce&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/manual/index.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"manual\"><a class=\"header-anchor\" href=\"#manual\" aria-hidden=\"true\">#</a> Manual</h1>\n<p>[TODO]</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/f1d6a111321b4188149482dc16dc19bf.json b/node_modules/vuepress/node_modules/.cache/vuepress/f1d6a111321b4188149482dc16dc19bf.json new file mode 100644 index 00000000..20e458cb --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/f1d6a111321b4188149482dc16dc19bf.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/guide/faq.md","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/guide/faq.md","mtime":1541582363508},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./faq.md?vue&type=template&id=ddec2fba&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('ddec2fba', component.options)\n } else {\n api.reload('ddec2fba', component.options)\n }\n module.hot.accept(\"./faq.md?vue&type=template&id=ddec2fba&\", function () {\n api.rerender('ddec2fba', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/guide/faq.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/f1d75a5f08f3b5ece5ef6b28e0a81a0e.json b/node_modules/vuepress/node_modules/.cache/vuepress/f1d75a5f08f3b5ece5ef6b28e0a81a0e.json new file mode 100644 index 00000000..45643068 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/f1d75a5f08f3b5ece5ef6b28e0a81a0e.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/index.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/index.md","mtime":1541487864525},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./index.md?vue&type=template&id=4661a084&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('4661a084', component.options)\n } else {\n api.reload('4661a084', component.options)\n }\n module.hot.accept(\"./index.md?vue&type=template&id=4661a084&\", function () {\n api.rerender('4661a084', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"docs/guide/index.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/f21f494cacc5b3a022d7f240c3380ece.json b/node_modules/vuepress/node_modules/.cache/vuepress/f21f494cacc5b3a022d7f240c3380ece.json new file mode 100644 index 00000000..dbfdb2f3 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/f21f494cacc5b3a022d7f240c3380ece.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/css-loader/locals.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n@require './styles/wrapper.styl'\n\n.page\n padding-bottom 2rem\n\n.page-edit\n @extend $wrapper\n padding-top 1rem\n padding-bottom 1rem\n overflow auto\n .edit-link\n display inline-block\n a\n color lighten($textColor, 25%)\n margin-right 0.25rem\n .last-updated\n float right\n font-size 0.9em\n .prefix\n font-weight 500\n color lighten($textColor, 25%)\n .time\n font-weight 400\n color #aaa\n\n.page-nav\n @extend $wrapper\n padding-top 1rem\n padding-bottom 0\n .inner\n min-height 2rem\n margin-top 0\n border-top 1px solid $borderColor\n padding-top 1rem\n overflow auto // clear float\n .next\n float right\n\n@media (max-width: $MQMobile)\n .page-edit\n .edit-link\n margin-bottom .5rem\n .last-updated\n font-size .8em\n float none\n text-align left\n\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/f2396ece1b14b5c0c6d2cb805098bdc0.json b/node_modules/vuepress/node_modules/.cache/vuepress/f2396ece1b14b5c0c6d2cb805098bdc0.json new file mode 100644 index 00000000..757dbebd --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/f2396ece1b14b5c0c6d2cb805098bdc0.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/manual/index.md?vue&type=template&id=6a456338&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/manual/index.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"manual\"><a class=\"header-anchor\" href=\"#manual\" aria-hidden=\"true\">#</a> Manual</h1>\n<p>[TODO]</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/f335694d66a25bc1e71be05bb3ef7915.json b/node_modules/vuepress/node_modules/.cache/vuepress/f335694d66a25bc1e71be05bb3ef7915.json new file mode 100644 index 00000000..ac00ca36 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/f335694d66a25bc1e71be05bb3ef7915.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NavLink.vue","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/NavLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./NavLink.vue?vue&type=template&id=32ed2476&\"\nimport script from \"./NavLink.vue?vue&type=script&lang=js&\"\nexport * from \"./NavLink.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('32ed2476', component.options)\n } else {\n api.reload('32ed2476', component.options)\n }\n module.hot.accept(\"./NavLink.vue?vue&type=template&id=32ed2476&\", function () {\n api.rerender('32ed2476', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/default-theme/NavLink.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/f3a92eecbc29b4b976decd804ea68cf1.json b/node_modules/vuepress/node_modules/.cache/vuepress/f3a92eecbc29b4b976decd804ea68cf1.json new file mode 100644 index 00000000..93061a7e --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/f3a92eecbc29b4b976decd804ea68cf1.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/noopModule.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/noopModule.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["export default {};",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/f3c95f86e1219ed32e050367a0eead96.json b/node_modules/vuepress/node_modules/.cache/vuepress/f3c95f86e1219ed32e050367a0eead96.json new file mode 100644 index 00000000..28da121b --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/f3c95f86e1219ed32e050367a0eead96.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport SidebarLink from './SidebarLink.vue'\nimport DropdownTransition from './DropdownTransition.vue'\n\nexport default {\n name: 'SidebarGroup',\n props: ['item', 'first', 'open', 'collapsable'],\n components: { SidebarLink, DropdownTransition }\n}\n",{"version":3,"sources":["SidebarGroup.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA;AACA;;AAEA;AACA;AACA;AACA;AACA","file":"SidebarGroup.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <div\n class=\"sidebar-group\"\n :class=\"{ first, collapsable }\"\n >\n <p\n class=\"sidebar-heading\"\n :class=\"{ open }\"\n @click=\"$emit('toggle')\"\n >\n <span>{{ item.title }}</span>\n <span\n class=\"arrow\"\n v-if=\"collapsable\"\n :class=\"open ? 'down' : 'right'\">\n </span>\n </p>\n\n <DropdownTransition>\n <ul\n ref=\"items\"\n class=\"sidebar-group-items\"\n v-if=\"open || !collapsable\"\n >\n <li v-for=\"child in item.children\">\n <SidebarLink :item=\"child\"/>\n </li>\n </ul>\n </DropdownTransition>\n </div>\n</template>\n\n<script>\nimport SidebarLink from './SidebarLink.vue'\nimport DropdownTransition from './DropdownTransition.vue'\n\nexport default {\n name: 'SidebarGroup',\n props: ['item', 'first', 'open', 'collapsable'],\n components: { SidebarLink, DropdownTransition }\n}\n</script>\n\n<style lang=\"stylus\">\n.sidebar-group\n &:not(.first)\n margin-top 1em\n .sidebar-group\n padding-left 0.5em\n &:not(.collapsable)\n .sidebar-heading\n cursor auto\n color inherit\n\n.sidebar-heading\n color #999\n transition color .15s ease\n cursor pointer\n font-size 1.1em\n font-weight bold\n // text-transform uppercase\n padding 0 1.5rem\n margin-top 0\n margin-bottom 0.5rem\n &.open, &:hover\n color inherit\n .arrow\n position relative\n top -0.12em\n left 0.5em\n &:.open .arrow\n top -0.18em\n\n.sidebar-group-items\n transition height .1s ease-out\n overflow hidden\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/f3ccd24688f4b9d3e808f93183db2b04.json b/node_modules/vuepress/node_modules/.cache/vuepress/f3ccd24688f4b9d3e808f93183db2b04.json new file mode 100644 index 00000000..3ec425fa --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/f3ccd24688f4b9d3e808f93183db2b04.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NotFound.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NotFound.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar msgs = [\"There's nothing here.\", \"How did we get here?\", \"That's a Four-Oh-Four.\", \"Looks like we've got some broken links.\"];\nexport default {\n methods: {\n getMsg: function getMsg() {\n return msgs[Math.floor(Math.random() * msgs.length)];\n }\n }\n};",{"version":3,"sources":["node_modules/vuepress/lib/default-theme/NotFound.vue"],"names":["msgs","methods","getMsg","Math","floor","random","length"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,IAAMA,OAAO,sHAAb;AAOA,eAAe;AACbC,WAAS;AACPC,UADO,oBACG;AACR,aAAOF,KAAKG,KAAKC,KAAL,CAAWD,KAAKE,MAAL,KAAgBL,KAAKM,MAAhC,CAAL,CAAP;AACD;AAHM;AADI,CAAf","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nconst msgs = [\n `There's nothing here.`,\n `How did we get here?`,\n `That's a Four-Oh-Four.`,\n `Looks like we've got some broken links.`\n]\n\nexport default {\n methods: {\n getMsg () {\n return msgs[Math.floor(Math.random() * msgs.length)]\n }\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/f3de7f08bc3548157c8988c590721b44.json b/node_modules/vuepress/node_modules/.cache/vuepress/f3de7f08bc3548157c8988c590721b44.json new file mode 100644 index 00000000..a0d4143e --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/f3de7f08bc3548157c8988c590721b44.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue?vue&type=template&id=2a2a1355&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"search-box\"},[_vm._ssrNode(\"<input aria-label=\\\"Search\\\" autocomplete=\\\"off\\\" spellcheck=\\\"false\\\"\"+(_vm._ssrAttr(\"value\",_vm.query))+(_vm._ssrClass(null,{ 'focused': _vm.focused }))+\"> \"+((_vm.showSuggestions)?(\"<ul\"+(_vm._ssrClass(\"suggestions\",{ 'align-right': _vm.alignRight }))+\">\"+(_vm._ssrList((_vm.suggestions),function(s,i){return (\"<li\"+(_vm._ssrClass(\"suggestion\",{ focused: i === _vm.focusIndex }))+\"><a\"+(_vm._ssrAttr(\"href\",s.path))+\"><span class=\\\"page-title\\\">\"+_vm._ssrEscape(_vm._s(s.title || s.path))+\"</span> \"+((s.header)?(\"<span class=\\\"header\\\">\"+_vm._ssrEscape(\"> \"+_vm._s(s.header.title))+\"</span>\"):\"<!---->\")+\"</a></li>\")}))+\"</ul>\"):\"<!---->\"))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/f43ed8da3d8ec0f496d4f71481686a74.json b/node_modules/vuepress/node_modules/.cache/vuepress/f43ed8da3d8ec0f496d4f71481686a74.json new file mode 100644 index 00000000..fe8c507a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/f43ed8da3d8ec0f496d4f71481686a74.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/guide/introduction.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/guide/introduction.md","mtime":1541555923022},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./introduction.md?vue&type=template&id=0b95fd94&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"introduction.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/f53136947d12af0b71d136ea5eee3e87.json b/node_modules/vuepress/node_modules/.cache/vuepress/f53136947d12af0b71d136ea5eee3e87.json new file mode 100644 index 00000000..c0f9198e --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/f53136947d12af0b71d136ea5eee3e87.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/zh/manual/index.md","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/zh/manual/index.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./index.md?vue&type=template&id=115631ce&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('115631ce', component.options)\n } else {\n api.reload('115631ce', component.options)\n }\n module.hot.accept(\"./index.md?vue&type=template&id=115631ce&\", function () {\n api.rerender('115631ce', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"docs/zh/manual/index.md\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/f5e041d5bbaec00724717c5e0f4a6a59.json b/node_modules/vuepress/node_modules/.cache/vuepress/f5e041d5bbaec00724717c5e0f4a6a59.json new file mode 100644 index 00000000..d935b40f --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/f5e041d5bbaec00724717c5e0f4a6a59.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/index的副本.md?vue&type=template&id=08252036&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/index的副本.md","mtime":1534123204890},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\n \"h2\",\n { attrs: { id: \"introduction-中文\" } },\n [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#introduction-中文\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Introduction (\"),\n _c(\"router-link\", { attrs: { to: \"/README_zh.html\" } }, [\n _vm._v(\"中文\")\n ]),\n _vm._v(\")\")\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"TBOX is a glib-like cross-platform C library that is simple to use yet powerful in nature.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"The project focuses on making C development easier and provides many modules (.e.g stream, coroutine, regex, container, algorithm ...),\\nso that any developer can quickly pick it up and enjoy the productivity boost when developing in C language.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"It supports the following platforms:\")]),\n _vm._v(\" \"),\n _vm._m(1),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"And it provides many compiling options using \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.xmake.io\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\":\")\n ]),\n _vm._v(\" \"),\n _vm._m(2),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"If you want to know more, please refer to:\")]),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://tboox.org\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"HomePage\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/tbox/wiki/documents\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Documents\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/tbox\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Github\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://gitee.com/tboox/tbox\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Gitee\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm._m(3),\n _vm._v(\" \"),\n _vm._m(4),\n _vm._v(\" \"),\n _vm._m(5),\n _vm._v(\" \"),\n _vm._m(6),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"Provides high-performance coroutine switch(refer to \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://tboox.org/2016/10/28/benchbox-coroutine/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"reports\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\")\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports arm, arm64, x86, x86_64 ..\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Provides channel interfaces\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Provides semaphore and lock interfaces\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Supports io socket and stream operation in coroutine\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Provides some io servers (http ..) using coroutine\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Provides stackfull and stackless coroutines\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Support epoll, kqueue, poll, select and IOCP\")])\n ]),\n _vm._v(\" \"),\n _vm._m(7),\n _vm._v(\" \"),\n _vm._m(8),\n _vm._v(\" \"),\n _vm._m(9),\n _vm._v(\" \"),\n _vm._m(10),\n _vm._v(\" \"),\n _vm._m(11),\n _vm._v(\" \"),\n _vm._m(12),\n _vm._v(\" \"),\n _vm._m(13),\n _vm._v(\" \"),\n _vm._m(14),\n _vm._v(\" \"),\n _vm._m(15),\n _vm._v(\" \"),\n _vm._m(16),\n _vm._v(\" \"),\n _vm._m(17),\n _vm._v(\" \"),\n _vm._m(18),\n _vm._v(\" \"),\n _vm._m(19),\n _vm._v(\" \"),\n _vm._m(20),\n _vm._v(\" \"),\n _vm._m(21),\n _vm._v(\" \"),\n _vm._m(22),\n _vm._v(\" \"),\n _vm._m(23),\n _vm._v(\" \"),\n _vm._m(24),\n _vm._v(\" \"),\n _vm._m(25),\n _vm._v(\" \"),\n _vm._m(26),\n _vm._v(\" \"),\n _vm._m(27),\n _vm._v(\" \"),\n _vm._m(28),\n _vm._v(\" \"),\n _vm._m(29),\n _vm._v(\" \"),\n _vm._m(30),\n _vm._v(\" \"),\n _vm._m(31),\n _vm._v(\" \"),\n _vm._m(32),\n _vm._v(\" \"),\n _vm._m(33),\n _vm._v(\" \"),\n _vm._m(34),\n _vm._v(\" \"),\n _vm._m(35),\n _vm._v(\" \"),\n _vm._m(36),\n _vm._v(\" \"),\n _vm._m(37),\n _vm._v(\" \"),\n _vm._m(38),\n _vm._v(\" \"),\n _vm._m(39),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Some projects using tbox:\")]),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/gbox\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"gbox\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/vm86\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"vm86\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.xmake.io\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/itrace\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"itrace\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/tbox/wiki/tbox-projects\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"more\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm._m(40),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"Please install xmake first: \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/xmake\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _vm._m(41),\n _vm._m(42),\n _vm._v(\" \"),\n _vm._m(43),\n _vm._m(44),\n _vm._v(\" \"),\n _c(\"ul\", [\n _vm._m(45),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Homepage:\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.tboox.org\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"tboox.org\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Community:\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://www.reddit.com/r/tboox/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"/r/tboox on reddit\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ])\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { align: \"center\" } }, [\n _c(\"h1\", [_vm._v(\"tbox\")]),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\"a\", { attrs: { href: \"https://travis-ci.org/tboox/tbox\" } }, [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/travis/tboox/tbox/master.svg?style=flat-square\",\n alt: \"travis-ci\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://ci.appveyor.com/project/waruqi/tbox/branch/master\"\n }\n },\n [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/appveyor/ci/waruqi/tbox/master.svg?style=flat-square\",\n alt: \"appveyor-ci\"\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\"a\", { attrs: { href: \"https://codecov.io/gh/tboox/tbox\" } }, [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/codecov/c/github/tboox/tbox/master.svg?style=flat-square\",\n alt: \"Coverage\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"a\", { attrs: { href: \"https://github.com/tboox/tbox/releases\" } }, [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/github/release/tboox/tbox.svg?style=flat-square\",\n alt: \"Github All Releases\"\n }\n })\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/tbox/blob/master/LICENSE.md\"\n }\n },\n [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/github/license/tboox/tbox.svg?colorB=f48041&style=flat-square\",\n alt: \"license\"\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\"a\", { attrs: { href: \"https://www.reddit.com/r/tboox/\" } }, [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/badge/chat-on%20reddit-ff3f34.svg?style=flat-square\",\n alt: \"Reddit\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\n \"a\",\n {\n attrs: {\n href:\n \"https://gitter.im/tboox/tboox?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\"\n }\n },\n [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/gitter/room/tboox/tboox.svg?style=flat-square&colorB=96c312\",\n alt: \"Gitter\"\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\"a\", { attrs: { href: \"https://t.me/tbooxorg\" } }, [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/badge/chat-on%20telegram-blue.svg?style=flat-square\",\n alt: \"Telegram\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"a\", { attrs: { href: \"https://jq.qq.com/?_wv=1027&k=5hpwWFv\" } }, [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/badge/chat-on%20QQ-ff69b4.svg?style=flat-square\",\n alt: \"QQ\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"a\", { attrs: { href: \"http://tboox.org/donation/\" } }, [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/badge/donate-us-orange.svg?style=flat-square\",\n alt: \"Donate\"\n }\n })\n ])\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"A glib-like cross-platform C library\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Windows\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Macosx\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Linux\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Android\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"iOS\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Release: Disable debug information, assertion, memory checking and enable optimization.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Debug: Enable debug information, assertion, memory checking and disable optimization.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Small: Disable all extensional modules and enable space optimization.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Micro: compiling micro library (~64K) for the embed system.\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"features\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#features\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Features\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-stream-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-stream-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The stream library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Supports file, data, http and socket source\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports the stream filter for gzip, charset and...\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements stream transfer\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements the static buffer stream for parsing data\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Supports coroutine and implements asynchronous operation\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-coroutine-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-coroutine-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The coroutine library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-database-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-database-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The database library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Supports mysql and sqlite3 database and enumerates data using the iterator mode\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-xml-parser-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-xml-parser-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The xml parser library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Supports DOM and SAX mode and Supports xpath\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"h4\",\n { attrs: { id: \"the-serialization-and-deserialization-library\" } },\n [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: {\n href: \"#the-serialization-and-deserialization-library\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The serialization and deserialization library\")\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Supports xml, json, bplist, xplist, binary formats\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-memory-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-memory-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The memory library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Implements some memory pools for optimizing memory\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Supports fast memory error detecting. it can detect the following types of bugs for the debug mode:\\n\"\n ),\n _c(\"ul\", [\n _c(\"li\", [_vm._v(\"out-of-bounds accesses to heap and globals\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"use-after-free\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"double-free, invalid free\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"memory leaks\")])\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-container-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-container-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The container library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Implements hash table, single list, double list, vector, stack, queue\\nand min/max heap. Supports iterator mode for algorithm\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-algorithm-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-algorithm-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The algorithm library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Uses the iterator mode\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements find, binary find and reverse find algorithm\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Implements sort, bubble sort, quick sort, heap sort and insert sort algorithm\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Implements count, walk items, reverse walk items, for_all and rfor_all\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-network-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-network-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The network library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Implements dns(cached)\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements ssl(openssl, polarssl, mbedtls)\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements http\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements cookies\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports ipv4, ipv6\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports coroutine\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-platform-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-platform-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The platform library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Implements timer, fast and low precision timer\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements atomic and atomic64 operation\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Implements spinlock, mutex, event, semaphore, thread and thread pool\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements file, socket operation\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements poller using epoll, poll, select, kqueue ...\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements switch context interfaces for coroutine\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-charset-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-charset-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The charset library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Supports utf8, utf16, gbk, gb2312, uc2 and uc4\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports big endian and little endian mode\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-zip-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-zip-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The zip library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Supports gzip, zlibraw, zlib formats using the zlib library if exists\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements lzsw, lz77 and rlc algorithm\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-utils-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-utils-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The utils library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Implements base32, base64 encoder and decoder\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements assert and trace output for the debug mode\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements bits operation for parsing u8, u16, u32, u64 data\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-math-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-math-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The math library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Implements random generator\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Implements fast fixed-point calculation, Supports 6-bits, 16-bits, 30-bits fixed-point number\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-libc-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-libc-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The libc library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Implements lightweight libc library interfaces, the interface name contains \"\n ),\n _c(\"code\", [_vm._v(\"tb_xxx\")]),\n _vm._v(\" prefix for avoiding conflict\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements strixxx strrxxx wcsixxx wcsrxxx interface extension\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Optimizes some frequently-used interface, .e.g. memset, memcpy, strcpy ...\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements \"),\n _c(\"code\", [_vm._v(\"memset_u16\")]),\n _vm._v(\", \"),\n _c(\"code\", [_vm._v(\"memset_u32\")]),\n _vm._v(\", \"),\n _c(\"code\", [_vm._v(\"memset_u64\")]),\n _vm._v(\" extension interfaces\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-libm-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-libm-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The libm library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Implements lightweight libm library interfaces, the interface name contains \"\n ),\n _c(\"code\", [_vm._v(\"tb_xxx\")]),\n _vm._v(\" prefix for avoiding conflict\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports float and double type\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-regex-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-regex-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The regex library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Supports match and replace\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports global/multiline/caseless mode\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Uses pcre, pcre2 and posix regex modules\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-hash-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-hash-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The hash library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"Implements crc32, adler32, md5 and sha1 hash algorithm\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Implements some string hash algorithms (.e.g bkdr, fnv32, fnv64, sdbm, djb2, rshash, aphash ...)\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements uuid generator\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"projects\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#projects\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Projects\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"build\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#build\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Build\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-console extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-text\" } }, [\n _c(\"code\", [\n _vm._v(\n \"# build for the host platform\\n$ cd ./tbox\\n$ xmake\\n\\n# build for the mingw platform\\n$ cd ./tbox\\n$ xmake f -p mingw --sdk=/home/mingwsdk \\n$ xmake\\n\\n# build for the iphoneos platform\\n$ cd ./tbox\\n$ xmake f -p iphoneos \\n$ xmake\\n\\n# build for the android platform\\n$ cd ./tbox\\n$ xmake f -p android --ndk=xxxxx\\n$ xmake\\n\\n# build for the linux cross-platform\\n$ cd ./tbox\\n$ xmake f -p linux --sdk=/home/sdk # --bin=/home/sdk/bin\\n$ xmake\\n\"\n )\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"example\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#example\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Example\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"language-c extra-class\" }, [\n _c(\"pre\", { pre: true, attrs: { class: \"language-c\" } }, [\n _c(\"code\", [\n _c(\"span\", { attrs: { class: \"token macro property\" } }, [\n _vm._v(\"#\"),\n _c(\"span\", { attrs: { class: \"token directive keyword\" } }, [\n _vm._v(\"include\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"tbox/tbox.h\"')\n ])\n ]),\n _vm._v(\"\\n\\n\"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"int\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [_vm._v(\"main\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"int\")]),\n _vm._v(\" argc\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"char\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _vm._v(\" argv\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// init tbox\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"!\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_init\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"tb_null\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" tb_null\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"return\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// trace\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_trace_i\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"hello tbox\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// init vector\")\n ]),\n _vm._v(\"\\n tb_vector_ref_t vector \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_init\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_element_cstr\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"tb_true\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// insert item\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_insert_tail\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"hello\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_insert_tail\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"tbox\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// dump all items\")\n ]),\n _vm._v(\"\\n tb_for_all \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"tb_char_t \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"const\")]),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"*\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" cstr\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// trace\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_trace_i\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [_vm._v('\"%s\"')]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" cstr\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// exit vector\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_vector_exit\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"vector\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// init stream\")\n ]),\n _vm._v(\"\\n tb_stream_ref_t stream \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_init_from_url\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"http://www.xxx.com/file.txt\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// open stream\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"if\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_open\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// read line\")\n ]),\n _vm._v(\"\\n tb_long_t size \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n tb_char_t line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"[\")]),\n _vm._v(\"TB_STREAM_BLOCK_MAXN\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"]\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"while\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"size \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\"=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_bread_line\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"sizeof\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token operator\" } }, [_vm._v(\">=\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"{\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// trace\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_trace_i\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token string\" } }, [\n _vm._v('\"line: %s\"')\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\",\")]),\n _vm._v(\" line\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// exit stream\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_stream_exit\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _vm._v(\"stream\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// wait \")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"getchar\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\\n \"),\n _c(\"span\", { attrs: { class: \"token comment\" } }, [\n _vm._v(\"// exit tbox\")\n ]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token function\" } }, [\n _vm._v(\"tb_exit\")\n ]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"(\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\")\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n \"),\n _c(\"span\", { attrs: { class: \"token keyword\" } }, [_vm._v(\"return\")]),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { class: \"token number\" } }, [_vm._v(\"0\")]),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\";\")]),\n _vm._v(\"\\n\"),\n _c(\"span\", { attrs: { class: \"token punctuation\" } }, [_vm._v(\"}\")]),\n _vm._v(\"\\n\")\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"contacts\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#contacts\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Contacts\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"li\", [\n _vm._v(\"Email:\"),\n _c(\"a\", { attrs: { href: \"mailto:waruqi@gmail.com\" } }, [\n _vm._v(\"waruqi@gmail.com\")\n ])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/f65b7840005827a1def9db68b574fad4.json b/node_modules/vuepress/node_modules/.cache/vuepress/f65b7840005827a1def9db68b574fad4.json new file mode 100644 index 00000000..de320909 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/f65b7840005827a1def9db68b574fad4.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/manual/index.md?vue&type=template&id=7862dd7e&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/manual/index.md","mtime":1541487535210},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"manual\"><a class=\"header-anchor\" href=\"#manual\" aria-hidden=\"true\">#</a> Manual</h1>\n<p>[TODO]</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/f667b8db9b5b5192c9ad9586aaaee786.json b/node_modules/vuepress/node_modules/.cache/vuepress/f667b8db9b5b5192c9ad9586aaaee786.json new file mode 100644 index 00000000..1705f387 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/f667b8db9b5b5192c9ad9586aaaee786.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/README.md?vue&type=template&id=266af043&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/README.md","mtime":1541491987988},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"language-c extra-class\"},[_c('pre',{pre:true,attrs:{\"class\":\"language-c\"}},[_c('code',[_c('span',{attrs:{\"class\":\"token macro property\"}},[_vm._v(\"#\"),_c('span',{attrs:{\"class\":\"token directive keyword\"}},[_vm._v(\"include\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"tbox/tbox.h\\\"\")])]),_vm._v(\"\\n\\n\"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"int\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"main\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"int\")]),_vm._v(\" argc\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"char\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"*\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"*\")]),_vm._v(\" argv\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// init tbox\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"!\")]),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_init\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"tb_null\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" tb_null\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"return\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// init vector\")]),_vm._v(\"\\n tb_vector_ref_t vector \"),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"=\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_init\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token number\"}},[_vm._v(\"0\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_element_cstr\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"tb_true\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"if\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// insert item\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_insert_tail\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"hello\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_insert_tail\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" \"),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"tbox\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// dump all items\")]),_vm._v(\"\\n tb_for_all \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"tb_char_t \"),_c('span',{attrs:{\"class\":\"token keyword\"}},[_vm._v(\"const\")]),_c('span',{attrs:{\"class\":\"token operator\"}},[_vm._v(\"*\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" cstr\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"{\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// trace\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_trace_i\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_c('span',{attrs:{\"class\":\"token string\"}},[_vm._v(\"\\\"%s\\\"\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\",\")]),_vm._v(\" cstr\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\\n \"),_c('span',{attrs:{\"class\":\"token comment\"}},[_vm._v(\"// exit vector\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token function\"}},[_vm._v(\"tb_vector_exit\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"(\")]),_vm._v(\"vector\"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\")\")]),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\";\")]),_vm._v(\"\\n \"),_c('span',{attrs:{\"class\":\"token punctuation\"}},[_vm._v(\"}\")]),_vm._v(\"\\n\")])])])])}]\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/f71ab52a3f1f8899c7bc1e0a3925e3b1.json b/node_modules/vuepress/node_modules/.cache/vuepress/f71ab52a3f1f8899c7bc1e0a3925e3b1.json new file mode 100644 index 00000000..a0ee6910 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/f71ab52a3f1f8899c7bc1e0a3925e3b1.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue?vue&type=template&id=b8539214&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Home.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n<div class=\"home\">\n <div class=\"hero\">\n <img\n v-if=\"data.heroImage\"\n :src=\"$withBase(data.heroImage)\"\n alt=\"hero\"\n >\n\n <h1>{{ data.heroText || $title || 'Hello' }}</h1>\n\n <p class=\"description\">\n {{ data.tagline || $description || 'Welcome to your VuePress site' }}\n </p>\n\n <p\n class=\"action\"\n v-if=\"data.actionText && data.actionLink\"\n >\n <NavLink\n class=\"action-button\"\n :item=\"actionLink\"\n />\n </p>\n </div>\n\n <div\n class=\"features\"\n v-if=\"data.features && data.features.length\"\n >\n <div\n class=\"feature\"\n v-for=\"(feature, index) in data.features\"\n :key=\"index\"\n >\n <h2>{{ feature.title }}</h2>\n <p>{{ feature.details }}</p>\n </div>\n </div>\n\n <Content custom/>\n\n <div\n class=\"footer\"\n v-if=\"data.footer\"\n >\n {{ data.footer }}\n </div>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/f783fa6ce0d3974de8ae96c856637103.json b/node_modules/vuepress/node_modules/.cache/vuepress/f783fa6ce0d3974de8ae96c856637103.json new file mode 100644 index 00000000..fbab81e2 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/f783fa6ce0d3974de8ae96c856637103.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexport default {\n data () {\n return {\n query: '',\n focused: false,\n focusIndex: 0\n }\n },\n\n computed: {\n showSuggestions () {\n return (\n this.focused &&\n this.suggestions &&\n this.suggestions.length\n )\n },\n\n suggestions () {\n const query = this.query.trim().toLowerCase()\n if (!query) {\n return\n }\n\n const { pages, themeConfig } = this.$site\n const max = themeConfig.searchMaxSuggestions || 5\n const localePath = this.$localePath\n const matches = item => (\n item.title &&\n item.title.toLowerCase().indexOf(query) > -1\n )\n const res = []\n for (let i = 0; i < pages.length; i++) {\n if (res.length >= max) break\n const p = pages[i]\n // filter out results that do not match current locale\n if (this.getPageLocalePath(p) !== localePath) {\n continue\n }\n if (matches(p)) {\n res.push(p)\n } else if (p.headers) {\n for (let j = 0; j < p.headers.length; j++) {\n if (res.length >= max) break\n const h = p.headers[j]\n if (matches(h)) {\n res.push(Object.assign({}, p, {\n path: p.path + '#' + h.slug,\n header: h\n }))\n }\n }\n }\n }\n return res\n },\n\n // make suggestions align right when there are not enough items\n alignRight () {\n const navCount = (this.$site.themeConfig.nav || []).length\n const repo = this.$site.repo ? 1 : 0\n return navCount + repo <= 2\n }\n },\n\n methods: {\n getPageLocalePath (page) {\n for (const localePath in this.$site.locales || {}) {\n if (localePath !== '/' && page.path.indexOf(localePath) === 0) {\n return localePath\n }\n }\n return '/'\n },\n\n onUp () {\n if (this.showSuggestions) {\n if (this.focusIndex > 0) {\n this.focusIndex--\n } else {\n this.focusIndex = this.suggestions.length - 1\n }\n }\n },\n\n onDown () {\n if (this.showSuggestions) {\n if (this.focusIndex < this.suggestions.length - 1) {\n this.focusIndex++\n } else {\n this.focusIndex = 0\n }\n }\n },\n\n go (i) {\n if (!this.showSuggestions) {\n return\n }\n this.$router.push(this.suggestions[i].path)\n this.query = ''\n this.focusIndex = 0\n },\n\n focus (i) {\n this.focusIndex = i\n },\n\n unfocus () {\n this.focusIndex = -1\n }\n }\n}\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/f7ad98849560e7fb5e34187475658aa1.json b/node_modules/vuepress/node_modules/.cache/vuepress/f7ad98849560e7fb5e34187475658aa1.json new file mode 100644 index 00000000..6841c9cc --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/f7ad98849560e7fb5e34187475658aa1.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue?vue&type=style&index=0&lang=stylus&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/css-loader/index.js","mtime":1541484124425},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/postcss-loader/lib/index.js","mtime":1541484125155},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/stylus-loader/index.js","mtime":1541484125198},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import './styles/config.styl'\n\n.sidebar\n ul\n padding 0\n margin 0\n list-style-type none\n a\n display inline-block\n .nav-links\n display none\n border-bottom 1px solid $borderColor\n padding 0.5rem 0 0.75rem 0\n a\n font-weight 600\n .nav-item, .repo-link\n display block\n line-height 1.25rem\n font-size 1.1em\n padding 0.5rem 0 0.5rem 1.5rem\n .sidebar-links\n padding 1.5rem 0\n\n@media (max-width: $MQMobile)\n .sidebar\n .nav-links\n display block\n .dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active::after\n top calc(1rem - 2px)\n .sidebar-links\n padding 1rem 0\n",{"version":3,"sources":["Sidebar.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiFA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"Sidebar.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <div class=\"sidebar\">\n <NavLinks/>\n <slot name=\"top\"/>\n <ul class=\"sidebar-links\" v-if=\"items.length\">\n <li v-for=\"(item, i) in items\" :key=\"i\">\n <SidebarGroup\n v-if=\"item.type === 'group'\"\n :item=\"item\"\n :first=\"i === 0\"\n :open=\"i === openGroupIndex\"\n :collapsable=\"item.collapsable || item.collapsible\"\n @toggle=\"toggleGroup(i)\"\n />\n <SidebarLink v-else :item=\"item\"/>\n </li>\n </ul>\n <slot name=\"bottom\"/>\n </div>\n</template>\n\n<script>\nimport SidebarGroup from './SidebarGroup.vue'\nimport SidebarLink from './SidebarLink.vue'\nimport NavLinks from './NavLinks.vue'\nimport { isActive } from './util'\n\nexport default {\n components: { SidebarGroup, SidebarLink, NavLinks },\n\n props: ['items'],\n\n data () {\n return {\n openGroupIndex: 0\n }\n },\n\n created () {\n this.refreshIndex()\n },\n\n watch: {\n '$route' () {\n this.refreshIndex()\n }\n },\n\n methods: {\n refreshIndex () {\n const index = resolveOpenGroupIndex(\n this.$route,\n this.items\n )\n if (index > -1) {\n this.openGroupIndex = index\n }\n },\n\n toggleGroup (index) {\n this.openGroupIndex = index === this.openGroupIndex ? -1 : index\n },\n\n isActive (page) {\n return isActive(this.$route, page.path)\n }\n }\n}\n\nfunction resolveOpenGroupIndex (route, items) {\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n if (item.type === 'group' && item.children.some(c => isActive(route, c.path))) {\n return i\n }\n }\n return -1\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.sidebar\n ul\n padding 0\n margin 0\n list-style-type none\n a\n display inline-block\n .nav-links\n display none\n border-bottom 1px solid $borderColor\n padding 0.5rem 0 0.75rem 0\n a\n font-weight 600\n .nav-item, .repo-link\n display block\n line-height 1.25rem\n font-size 1.1em\n padding 0.5rem 0 0.5rem 1.5rem\n .sidebar-links\n padding 1.5rem 0\n\n@media (max-width: $MQMobile)\n .sidebar\n .nav-links\n display block\n .dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active::after\n top calc(1rem - 2px)\n .sidebar-links\n padding 1rem 0\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/f8d7f9b391d4b485579ab37ac9c355b6.json b/node_modules/vuepress/node_modules/.cache/vuepress/f8d7f9b391d4b485579ab37ac9c355b6.json new file mode 100644 index 00000000..da313e16 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/f8d7f9b391d4b485579ab37ac9c355b6.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/.temp/siteData.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/.temp/siteData.js","mtime":1541576694589},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["export var siteData = {\n \"title\": \"\",\n \"description\": \"\",\n \"base\": \"/\",\n \"pages\": [{\n \"key\": \"v-8ec055619cc9c\",\n \"path\": \"/\",\n \"lastUpdated\": 1541517835000,\n \"title\": \"Home\",\n \"frontmatter\": {\n \"home\": true,\n \"actionText\": \"Get Started →\",\n \"actionLink\": \"/guide/getting-started\",\n \"features\": [{\n \"title\": \"Why\",\n \"details\": \"Making C development easier, so that any developer can quickly pick it up and enjoy the productivity boost when developing in C language.\"\n }, {\n \"title\": \"Powerful\",\n \"details\": \"Provides lots of modules (e.g. stream, coroutine, regex, container, algorithm and etc).\"\n }, {\n \"title\": \"Cross-platform\",\n \"details\": \"Supports windows, macOS, linux, android and ios.\"\n }],\n \"footer\": \"Apache-2.0 Licensed | Copyright © 2009-present tboox.org\"\n }\n }, {\n \"key\": \"v-9b37f125fa1b5\",\n \"path\": \"/api/introduction.html\",\n \"lastUpdated\": 1541569543000,\n \"title\": \"Title1\",\n \"headers\": [{\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2\"\n }, {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3\"\n }, {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-2\"\n }, {\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2-2\"\n }, {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-3\"\n }]\n }, {\n \"key\": \"v-fdaadba91de5a\",\n \"path\": \"/guide/getting-started.html\",\n \"lastUpdated\": 1541555081000,\n \"title\": \"Getting Started\",\n \"headers\": [{\n \"level\": 2,\n \"title\": \"Example\",\n \"slug\": \"example\"\n }]\n }, {\n \"key\": \"v-8d2a8fad62319\",\n \"path\": \"/guide/introduction.html\",\n \"lastUpdated\": 1541491338000,\n \"title\": \"Introduction\",\n \"headers\": [{\n \"level\": 2,\n \"title\": \"Features\",\n \"slug\": \"features\"\n }, {\n \"level\": 2,\n \"title\": \"Projects\",\n \"slug\": \"projects\"\n }, {\n \"level\": 2,\n \"title\": \"Contacts\",\n \"slug\": \"contacts\"\n }]\n }, {\n \"key\": \"v-9d03d1a24c541\",\n \"path\": \"/zh/\",\n \"lastUpdated\": 1541517835000,\n \"title\": \"Home\",\n \"frontmatter\": {\n \"home\": true,\n \"actionText\": \"快速上手 →\",\n \"actionLink\": \"/zh/guide/getting-started\",\n \"features\": [{\n \"title\": \"为什么使用\",\n \"details\": \"针对各个平台,封装了统一的接口,简化了各类开发过程中常用操作,使C开发更加的简单高效\"\n }, {\n \"title\": \"强大\",\n \"details\": \"提供大量的实用模块(例如:流处理,协程,正则, 容器,算法,数据库等常用模块)\"\n }, {\n \"title\": \"跨平台\",\n \"details\": \"支持windows, macOS, linux, android, ios\"\n }],\n \"footer\": \"Apache-2.0 Licensed | Copyright © 2009-present tboox.org\"\n }\n }, {\n \"key\": \"v-34ac182d991\",\n \"path\": \"/zh/api/introduction.html\",\n \"lastUpdated\": 1541569543000,\n \"title\": \"Title1\",\n \"headers\": [{\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2\"\n }, {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3\"\n }, {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-2\"\n }, {\n \"level\": 2,\n \"title\": \"Title2\",\n \"slug\": \"title2-2\"\n }, {\n \"level\": 3,\n \"title\": \"Title3\",\n \"slug\": \"title3-3\"\n }]\n }, {\n \"key\": \"v-819b7a4c7f128\",\n \"path\": \"/zh/guide/getting-started.html\",\n \"lastUpdated\": 1541555081000,\n \"title\": \"快速开始\",\n \"headers\": [{\n \"level\": 2,\n \"title\": \"编译\",\n \"slug\": \"编译\"\n }, {\n \"level\": 2,\n \"title\": \"例子\",\n \"slug\": \"例子\"\n }]\n }, {\n \"key\": \"v-5a469fda81a59\",\n \"path\": \"/zh/guide/introduction.html\",\n \"lastUpdated\": 1541491338000,\n \"title\": \"简介\",\n \"headers\": [{\n \"level\": 2,\n \"title\": \"特性\",\n \"slug\": \"特性\"\n }, {\n \"level\": 2,\n \"title\": \"项目例子\",\n \"slug\": \"项目例子\"\n }, {\n \"level\": 2,\n \"title\": \"联系方式\",\n \"slug\": \"联系方式\"\n }]\n }],\n \"themeConfig\": {\n \"repo\": \"tboox/tbox\",\n \"docsRepo\": \"tboox/tbox-docs\",\n \"docsDir\": \"src\",\n \"editLinks\": true,\n \"sidebarDepth\": 2,\n \"locales\": {\n \"/\": {\n \"label\": \"English\",\n \"selectText\": \"Languages\",\n \"editLinkText\": \"Edit this page on GitHub\",\n \"lastUpdated\": \"Last Updated\",\n \"nav\": [{\n \"text\": \"Guide\",\n \"link\": \"/guide/introduction\"\n }, {\n \"text\": \"API\",\n \"link\": \"/api/introduction\"\n }, {\n \"text\": \"Articles\",\n \"link\": \"http://www.tboox.org/category/#tbox\"\n }, {\n \"text\": \"Feedback\",\n \"link\": \"https://github.com/tboox/xmake/issues\"\n }, {\n \"text\": \"Community\",\n \"link\": \"https://www.reddit.com/r/tboox/\"\n }, {\n \"text\": \"Donation\",\n \"link\": \"http://tboox.org/cn/donation/\"\n }],\n \"sidebar\": {\n \"/guide/\": [\"introduction\", \"getting-started\"],\n \"/api/\": [\"introduction\"]\n }\n },\n \"/zh/\": {\n \"label\": \"简体中文\",\n \"selectText\": \"选择语言\",\n \"editLinkText\": \"在 GitHub 上编辑此页\",\n \"lastUpdated\": \"上次更新\",\n \"nav\": [{\n \"text\": \"指南\",\n \"link\": \"/zh/guide/introduction\"\n }, {\n \"text\": \"接口\",\n \"link\": \"/zh/api/introduction\"\n }, {\n \"text\": \"文章\",\n \"link\": \"http://www.tboox.org/cn/category/#tbox\"\n }, {\n \"text\": \"反馈\",\n \"link\": \"https://github.com/tboox/xmake/issues\"\n }, {\n \"text\": \"社区\",\n \"link\": \"https://www.reddit.com/r/tboox/\"\n }, {\n \"text\": \"捐助\",\n \"link\": \"http://tboox.org/cn/donation/\"\n }],\n \"sidebar\": {\n \"/zh/guide/\": [\"introduction\", \"getting-started\"],\n \"/zh/api/\": [\"introduction\"]\n }\n }\n }\n },\n \"locales\": {\n \"/\": {\n \"lang\": \"en-US\",\n \"title\": \"TBOX\",\n \"description\": \"A glib-like cross-platform C library\"\n },\n \"/zh/\": {\n \"lang\": \"zh-CN\",\n \"title\": \"TBOX\",\n \"description\": \"一个用c语言实现的跨平台开发库\"\n }\n }\n};",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/f8e2f99ae0d6638c3096db869a4de3db.json b/node_modules/vuepress/node_modules/.cache/vuepress/f8e2f99ae0d6638c3096db869a4de3db.json new file mode 100644 index 00000000..853afb3a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/f8e2f99ae0d6638c3096db869a4de3db.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Layout.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Layout.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport Vue from 'vue'\nimport nprogress from 'nprogress'\nimport Home from './Home.vue'\nimport Navbar from './Navbar.vue'\nimport Page from './Page.vue'\nimport Sidebar from './Sidebar.vue'\nimport SWUpdatePopup from './SWUpdatePopup.vue'\nimport { resolveSidebarItems } from './util'\n\nexport default {\n components: { Home, Page, Sidebar, Navbar, SWUpdatePopup },\n\n data () {\n return {\n isSidebarOpen: false,\n swUpdateEvent: null\n }\n },\n\n computed: {\n shouldShowNavbar () {\n const { themeConfig } = this.$site\n const { frontmatter } = this.$page\n if (\n frontmatter.navbar === false ||\n themeConfig.navbar === false) {\n return false\n }\n return (\n this.$title ||\n themeConfig.logo ||\n themeConfig.repo ||\n themeConfig.nav ||\n this.$themeLocaleConfig.nav\n )\n },\n\n shouldShowSidebar () {\n const { frontmatter } = this.$page\n return (\n !frontmatter.layout &&\n !frontmatter.home &&\n frontmatter.sidebar !== false &&\n this.sidebarItems.length\n )\n },\n\n sidebarItems () {\n return resolveSidebarItems(\n this.$page,\n this.$route,\n this.$site,\n this.$localePath\n )\n },\n\n pageClasses () {\n const userPageClass = this.$page.frontmatter.pageClass\n return [\n {\n 'no-navbar': !this.shouldShowNavbar,\n 'sidebar-open': this.isSidebarOpen,\n 'no-sidebar': !this.shouldShowSidebar\n },\n userPageClass\n ]\n }\n },\n\n mounted () {\n window.addEventListener('scroll', this.onScroll)\n\n // configure progress bar\n nprogress.configure({ showSpinner: false })\n\n this.$router.beforeEach((to, from, next) => {\n if (to.path !== from.path && !Vue.component(to.name)) {\n nprogress.start()\n }\n next()\n })\n\n this.$router.afterEach(() => {\n nprogress.done()\n this.isSidebarOpen = false\n })\n\n this.$on('sw-updated', this.onSWUpdated)\n },\n\n methods: {\n toggleSidebar (to) {\n this.isSidebarOpen = typeof to === 'boolean' ? to : !this.isSidebarOpen\n },\n\n // side swipe\n onTouchStart (e) {\n this.touchStart = {\n x: e.changedTouches[0].clientX,\n y: e.changedTouches[0].clientY\n }\n },\n\n onTouchEnd (e) {\n const dx = e.changedTouches[0].clientX - this.touchStart.x\n const dy = e.changedTouches[0].clientY - this.touchStart.y\n if (Math.abs(dx) > Math.abs(dy) && Math.abs(dx) > 40) {\n if (dx > 0 && this.touchStart.x <= 80) {\n this.toggleSidebar(true)\n } else {\n this.toggleSidebar(false)\n }\n }\n },\n\n onSWUpdated (e) {\n this.swUpdateEvent = e\n }\n }\n}\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/f90d34699a9442bd2ada88ac540bb438.json b/node_modules/vuepress/node_modules/.cache/vuepress/f90d34699a9442bd2ada88ac540bb438.json new file mode 100644 index 00000000..02c897b7 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/f90d34699a9442bd2ada88ac540bb438.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue?vue&type=template&id=040599e7&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Navbar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"header\",\n { staticClass: \"navbar\" },\n [\n _c(\"SidebarButton\", {\n on: {\n \"toggle-sidebar\": function($event) {\n _vm.$emit(\"toggle-sidebar\")\n }\n }\n }),\n _vm._v(\" \"),\n _c(\n \"router-link\",\n { staticClass: \"home-link\", attrs: { to: _vm.$localePath } },\n [\n _vm.$site.themeConfig.logo\n ? _c(\"img\", {\n staticClass: \"logo\",\n attrs: {\n src: _vm.$withBase(_vm.$site.themeConfig.logo),\n alt: _vm.$siteTitle\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.$siteTitle\n ? _c(\n \"span\",\n {\n ref: \"siteName\",\n staticClass: \"site-name\",\n class: { \"can-hide\": _vm.$site.themeConfig.logo }\n },\n [_vm._v(_vm._s(_vm.$siteTitle))]\n )\n : _vm._e()\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"links\",\n style: {\n \"max-width\": _vm.linksWrapMaxWidth + \"px\"\n }\n },\n [\n _vm.isAlgoliaSearch\n ? _c(\"AlgoliaSearchBox\", { attrs: { options: _vm.algolia } })\n : _vm.$site.themeConfig.search !== false\n ? _c(\"SearchBox\")\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"NavLinks\", { staticClass: \"can-hide\" })\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/f95c6da22c26912d6f3ecc95f0203e7b.json b/node_modules/vuepress/node_modules/.cache/vuepress/f95c6da22c26912d6f3ecc95f0203e7b.json new file mode 100644 index 00000000..662c378a --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/f95c6da22c26912d6f3ecc95f0203e7b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/guide/sponsors.md?vue&type=template&id=5a182250&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/guide/sponsors.md","mtime":1541582225811},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"sponsors\"><a class=\"header-anchor\" href=\"#sponsors\" aria-hidden=\"true\">#</a> Sponsors</h1>\n<p>Thank you to all our backers! 🙏 [<a href=\"https://opencollective.com/xmake#backer\" target=\"_blank\" rel=\"noopener noreferrer\">Become a backer<OutboundLink/></a>]</p>\n<p><a href=\"https://opencollective.com/xmake#backers\" target=\"_blank\"><img src=\"https://opencollective.com/xmake/backers.svg?width=890\"></a></p>\n<p>Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [<a href=\"https://opencollective.com/xmake#sponsor\" target=\"_blank\" rel=\"noopener noreferrer\">Become a sponsor<OutboundLink/></a>]</p>\n<p><a href=\"https://opencollective.com/xmake/sponsor/0/website\" target=\"_blank\"><img src=\"https://opencollective.com/xmake/sponsor/0/avatar.svg\"></a>\n<a href=\"https://opencollective.com/xmake/sponsor/1/website\" target=\"_blank\"><img src=\"https://opencollective.com/xmake/sponsor/1/avatar.svg\"></a>\n<a href=\"https://opencollective.com/xmake/sponsor/2/website\" target=\"_blank\"><img src=\"https://opencollective.com/xmake/sponsor/2/avatar.svg\"></a>\n<a href=\"https://opencollective.com/xmake/sponsor/3/website\" target=\"_blank\"><img src=\"https://opencollective.com/xmake/sponsor/3/avatar.svg\"></a>\n<a href=\"https://opencollective.com/xmake/sponsor/4/website\" target=\"_blank\"><img src=\"https://opencollective.com/xmake/sponsor/4/avatar.svg\"></a>\n<a href=\"https://opencollective.com/xmake/sponsor/5/website\" target=\"_blank\"><img src=\"https://opencollective.com/xmake/sponsor/5/avatar.svg\"></a>\n<a href=\"https://opencollective.com/xmake/sponsor/6/website\" target=\"_blank\"><img src=\"https://opencollective.com/xmake/sponsor/6/avatar.svg\"></a>\n<a href=\"https://opencollective.com/xmake/sponsor/7/website\" target=\"_blank\"><img src=\"https://opencollective.com/xmake/sponsor/7/avatar.svg\"></a>\n<a href=\"https://opencollective.com/xmake/sponsor/8/website\" target=\"_blank\"><img src=\"https://opencollective.com/xmake/sponsor/8/avatar.svg\"></a>\n<a href=\"https://opencollective.com/xmake/sponsor/9/website\" target=\"_blank\"><img src=\"https://opencollective.com/xmake/sponsor/9/avatar.svg\"></a></p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/f9627def6951b8d7a1d7514d6b11f10b.json b/node_modules/vuepress/node_modules/.cache/vuepress/f9627def6951b8d7a1d7514d6b11f10b.json new file mode 100644 index 00000000..e7291956 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/f9627def6951b8d7a1d7514d6b11f10b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NotFound.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NotFound.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./NotFound.vue?vue&type=template&id=52d5a9f4&\"\nimport script from \"./NotFound.vue?vue&type=script&lang=js&\"\nexport * from \"./NotFound.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('52d5a9f4', component.options)\n } else {\n api.reload('52d5a9f4', component.options)\n }\n module.hot.accept(\"./NotFound.vue?vue&type=template&id=52d5a9f4&\", function () {\n api.rerender('52d5a9f4', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/default-theme/NotFound.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/f9a70bfc7f753d527b853ecd923828d1.json b/node_modules/vuepress/node_modules/.cache/vuepress/f9a70bfc7f753d527b853ecd923828d1.json new file mode 100644 index 00000000..6ecb1208 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/f9a70bfc7f753d527b853ecd923828d1.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Sidebar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport SidebarGroup from './SidebarGroup.vue'\nimport SidebarLink from './SidebarLink.vue'\nimport NavLinks from './NavLinks.vue'\nimport { isActive } from './util'\n\nexport default {\n components: { SidebarGroup, SidebarLink, NavLinks },\n\n props: ['items'],\n\n data () {\n return {\n openGroupIndex: 0\n }\n },\n\n created () {\n this.refreshIndex()\n },\n\n watch: {\n '$route' () {\n this.refreshIndex()\n }\n },\n\n methods: {\n refreshIndex () {\n const index = resolveOpenGroupIndex(\n this.$route,\n this.items\n )\n if (index > -1) {\n this.openGroupIndex = index\n }\n },\n\n toggleGroup (index) {\n this.openGroupIndex = index === this.openGroupIndex ? -1 : index\n },\n\n isActive (page) {\n return isActive(this.$route, page.path)\n }\n }\n}\n\nfunction resolveOpenGroupIndex (route, items) {\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n if (item.type === 'group' && item.children.some(c => isActive(route, c.path))) {\n return i\n }\n }\n return -1\n}\n",{"version":3,"sources":["Sidebar.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAsBA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"Sidebar.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <div class=\"sidebar\">\n <NavLinks/>\n <slot name=\"top\"/>\n <ul class=\"sidebar-links\" v-if=\"items.length\">\n <li v-for=\"(item, i) in items\" :key=\"i\">\n <SidebarGroup\n v-if=\"item.type === 'group'\"\n :item=\"item\"\n :first=\"i === 0\"\n :open=\"i === openGroupIndex\"\n :collapsable=\"item.collapsable || item.collapsible\"\n @toggle=\"toggleGroup(i)\"\n />\n <SidebarLink v-else :item=\"item\"/>\n </li>\n </ul>\n <slot name=\"bottom\"/>\n </div>\n</template>\n\n<script>\nimport SidebarGroup from './SidebarGroup.vue'\nimport SidebarLink from './SidebarLink.vue'\nimport NavLinks from './NavLinks.vue'\nimport { isActive } from './util'\n\nexport default {\n components: { SidebarGroup, SidebarLink, NavLinks },\n\n props: ['items'],\n\n data () {\n return {\n openGroupIndex: 0\n }\n },\n\n created () {\n this.refreshIndex()\n },\n\n watch: {\n '$route' () {\n this.refreshIndex()\n }\n },\n\n methods: {\n refreshIndex () {\n const index = resolveOpenGroupIndex(\n this.$route,\n this.items\n )\n if (index > -1) {\n this.openGroupIndex = index\n }\n },\n\n toggleGroup (index) {\n this.openGroupIndex = index === this.openGroupIndex ? -1 : index\n },\n\n isActive (page) {\n return isActive(this.$route, page.path)\n }\n }\n}\n\nfunction resolveOpenGroupIndex (route, items) {\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n if (item.type === 'group' && item.children.some(c => isActive(route, c.path))) {\n return i\n }\n }\n return -1\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.sidebar\n ul\n padding 0\n margin 0\n list-style-type none\n a\n display inline-block\n .nav-links\n display none\n border-bottom 1px solid $borderColor\n padding 0.5rem 0 0.75rem 0\n a\n font-weight 600\n .nav-item, .repo-link\n display block\n line-height 1.25rem\n font-size 1.1em\n padding 0.5rem 0 0.5rem 1.5rem\n .sidebar-links\n padding 1.5rem 0\n\n@media (max-width: $MQMobile)\n .sidebar\n .nav-links\n display block\n .dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active::after\n top calc(1rem - 2px)\n .sidebar-links\n padding 1rem 0\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/fa0dee08b8113dc1445cf5161969ae06.json b/node_modules/vuepress/node_modules/.cache/vuepress/fa0dee08b8113dc1445cf5161969ae06.json new file mode 100644 index 00000000..d02a7015 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/fa0dee08b8113dc1445cf5161969ae06.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Page.vue?vue&type=template&id=17e966b4&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Page.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"page\" },\n [\n _vm._t(\"top\"),\n _vm._v(\" \"),\n _c(\"Content\", { attrs: { custom: false } }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"page-edit\" }, [\n _vm.editLink\n ? _c(\n \"div\",\n { staticClass: \"edit-link\" },\n [\n _c(\n \"a\",\n {\n attrs: {\n href: _vm.editLink,\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(_vm._s(_vm.editLinkText))]\n ),\n _vm._v(\" \"),\n _c(\"OutboundLink\")\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.lastUpdated\n ? _c(\"div\", { staticClass: \"last-updated\" }, [\n _c(\"span\", { staticClass: \"prefix\" }, [\n _vm._v(_vm._s(_vm.lastUpdatedText) + \": \")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"time\" }, [\n _vm._v(_vm._s(_vm.lastUpdated))\n ])\n ])\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _vm.prev || _vm.next\n ? _c(\"div\", { staticClass: \"page-nav\" }, [\n _c(\"p\", { staticClass: \"inner\" }, [\n _vm.prev\n ? _c(\n \"span\",\n { staticClass: \"prev\" },\n [\n _vm._v(\"\\n ←\\n \"),\n _vm.prev\n ? _c(\n \"router-link\",\n {\n staticClass: \"prev\",\n attrs: { to: _vm.prev.path }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.prev.title || _vm.prev.path) +\n \"\\n \"\n )\n ]\n )\n : _vm._e()\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.next\n ? _c(\n \"span\",\n { staticClass: \"next\" },\n [\n _vm.next\n ? _c(\"router-link\", { attrs: { to: _vm.next.path } }, [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.next.title || _vm.next.path) +\n \"\\n \"\n )\n ])\n : _vm._e(),\n _vm._v(\"\\n →\\n \")\n ],\n 1\n )\n : _vm._e()\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm._t(\"bottom\")\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/fabae57340c56f1d4ac71c8d05a6d9c5.json b/node_modules/vuepress/node_modules/.cache/vuepress/fabae57340c56f1d4ac71c8d05a6d9c5.json new file mode 100644 index 00000000..ed60ccf6 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/fabae57340c56f1d4ac71c8d05a6d9c5.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport NavLink from './NavLink.vue'\nimport DropdownTransition from './DropdownTransition.vue'\n\nexport default {\n components: { NavLink, DropdownTransition },\n\n data () {\n return {\n open: false\n }\n },\n\n props: {\n item: {\n required: true\n }\n },\n\n methods: {\n toggle () {\n this.open = !this.open\n }\n }\n}\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/fb217a1b925544b1d8a91986ffdc2f22.json b/node_modules/vuepress/node_modules/.cache/vuepress/fb217a1b925544b1d8a91986ffdc2f22.json new file mode 100644 index 00000000..c7b2a12c --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/fb217a1b925544b1d8a91986ffdc2f22.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/guide/getting-started.md?vue&type=template&id=527ea621&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/guide/getting-started.md","mtime":1541554688137},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"getting-started\"><a class=\"header-anchor\" href=\"#getting-started\" aria-hidden=\"true\">#</a> Getting Started</h1>\n<p>Please install xmake first: <a href=\"https://github.com/tboox/xmake\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></p>\n<!--beforebegin--><div class=\"language-bash extra-class\"><!--afterbegin--><pre v-pre class=\"language-bash\"><code><span class=\"token comment\"># build for the host platform</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake\n\n<span class=\"token comment\"># build for the mingw platform</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake f -p mingw --sdk<span class=\"token operator\">=</span>/home/mingwsdk \n$ xmake\n\n<span class=\"token comment\"># build for the iphoneos platform</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake f -p iphoneos \n$ xmake\n\n<span class=\"token comment\"># build for the android platform</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake f -p android --ndk<span class=\"token operator\">=</span>xxxxx\n$ xmake\n\n<span class=\"token comment\"># build for the linux cross-platform</span>\n$ <span class=\"token function\">cd</span> ./tbox\n$ xmake f -p linux --sdk<span class=\"token operator\">=</span>/home/sdk <span class=\"token comment\"># --bin=/home/sdk/bin</span>\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"example\"><a class=\"header-anchor\" href=\"#example\" aria-hidden=\"true\">#</a> Example</h2>\n<!--beforebegin--><div class=\"language-c extra-class\"><!--afterbegin--><pre v-pre class=\"language-c\"><code><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">\"tbox/tbox.h\"</span></span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> argc<span class=\"token punctuation\">,</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span> argv<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// init tbox</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">tb_init</span><span class=\"token punctuation\">(</span>tb_null<span class=\"token punctuation\">,</span> tb_null<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"hello tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// init vector</span>\n tb_vector_ref_t vector <span class=\"token operator\">=</span> <span class=\"token function\">tb_vector_init</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">tb_element_cstr</span><span class=\"token punctuation\">(</span>tb_true<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// insert item</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// dump all items</span>\n tb_for_all <span class=\"token punctuation\">(</span>tb_char_t <span class=\"token keyword\">const</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">,</span> vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%s\"</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit vector</span>\n <span class=\"token function\">tb_vector_exit</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// init stream</span>\n tb_stream_ref_t stream <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_init_from_url</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"http://www.xxx.com/file.txt\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// open stream</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token function\">tb_stream_open</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// read line</span>\n tb_long_t size <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n tb_char_t line<span class=\"token punctuation\">[</span>TB_STREAM_BLOCK_MAXN<span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">while</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>size <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_bread_line</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">,</span> <span class=\"token keyword\">sizeof</span><span class=\"token punctuation\">(</span>line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">>=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"line: %s\"</span><span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit stream</span>\n <span class=\"token function\">tb_stream_exit</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// wait </span>\n <span class=\"token function\">getchar</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// exit tbox</span>\n <span class=\"token function\">tb_exit</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/fb91bb601907fa2094f62e528aac5639.json b/node_modules/vuepress/node_modules/.cache/vuepress/fb91bb601907fa2094f62e528aac5639.json new file mode 100644 index 00000000..550329e3 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/fb91bb601907fa2094f62e528aac5639.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Navbar.vue?vue&type=template&id=040599e7&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/Navbar.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"header\",\n { staticClass: \"navbar\" },\n [\n _c(\"SidebarButton\", {\n on: {\n \"toggle-sidebar\": function($event) {\n _vm.$emit(\"toggle-sidebar\")\n }\n }\n }),\n _vm._v(\" \"),\n _c(\n \"router-link\",\n { staticClass: \"home-link\", attrs: { to: _vm.$localePath } },\n [\n _vm.$site.themeConfig.logo\n ? _c(\"img\", {\n staticClass: \"logo\",\n attrs: {\n src: _vm.$withBase(_vm.$site.themeConfig.logo),\n alt: _vm.$siteTitle\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.$siteTitle\n ? _c(\n \"span\",\n {\n ref: \"siteName\",\n staticClass: \"site-name\",\n class: { \"can-hide\": _vm.$site.themeConfig.logo }\n },\n [_vm._v(_vm._s(_vm.$siteTitle))]\n )\n : _vm._e()\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"links\",\n style: {\n \"max-width\": _vm.linksWrapMaxWidth + \"px\"\n }\n },\n [\n _vm.isAlgoliaSearch\n ? _c(\"AlgoliaSearchBox\", { attrs: { options: _vm.algolia } })\n : _vm.$site.themeConfig.search !== false\n ? _c(\"SearchBox\")\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"NavLinks\", { staticClass: \"can-hide\" })\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/fbe2b894bb05280c1b0d9ab6cbb8568b.json b/node_modules/vuepress/node_modules/.cache/vuepress/fbe2b894bb05280c1b0d9ab6cbb8568b.json new file mode 100644 index 00000000..ea87e741 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/fbe2b894bb05280c1b0d9ab6cbb8568b.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/dataMixin.js","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/app/dataMixin.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import \"core-js/modules/es6.object.freeze\";\nimport \"core-js/modules/es6.array.iterator\";\nimport \"core-js/modules/es6.object.keys\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.function.name\";\nimport \"core-js/modules/es6.array.filter\";\nimport \"core-js/modules/es6.array.index-of\";\nimport Vue from 'vue';\nimport { findPageForPath } from './util';\nexport default function dataMixin(siteData) {\n prepare(siteData);\n var store = new Vue({\n data: {\n siteData: siteData\n }\n });\n\n if (module.hot) {\n module.hot.accept('./.temp/siteData', function () {\n prepare(siteData);\n store.siteData = siteData;\n });\n }\n\n return {\n computed: {\n $site: function $site() {\n return store.siteData;\n },\n $localeConfig: function $localeConfig() {\n var _this$$site$locales = this.$site.locales,\n locales = _this$$site$locales === void 0 ? {} : _this$$site$locales;\n var targetLang;\n var defaultLang;\n\n for (var path in locales) {\n if (path === '/') {\n defaultLang = locales[path];\n } else if (this.$page.path.indexOf(path) === 0) {\n targetLang = locales[path];\n }\n }\n\n return targetLang || defaultLang || {};\n },\n $siteTitle: function $siteTitle() {\n return this.$localeConfig.title || this.$site.title || '';\n },\n $title: function $title() {\n var page = this.$page;\n var siteTitle = this.$siteTitle;\n var selfTitle = page.frontmatter.home ? null : page.frontmatter.title || // explicit title\n page.title // inferred title\n ;\n return siteTitle ? selfTitle ? selfTitle + ' | ' + siteTitle : siteTitle : selfTitle || 'VuePress';\n },\n $description: function $description() {\n // #565 hoist description from meta\n if (this.$page.frontmatter.meta) {\n var descriptionMeta = this.$page.frontmatter.meta.filter(function (item) {\n return item.name === 'description';\n })[0];\n if (descriptionMeta) return descriptionMeta.content;\n }\n\n return this.$page.frontmatter.description || this.$localeConfig.description || this.$site.description || '';\n },\n $lang: function $lang() {\n return this.$page.frontmatter.lang || this.$localeConfig.lang || 'en-US';\n },\n $localePath: function $localePath() {\n return this.$localeConfig.path || '/';\n },\n $themeLocaleConfig: function $themeLocaleConfig() {\n return (this.$site.themeConfig.locales || {})[this.$localePath] || {};\n },\n $page: function $page() {\n return findPageForPath(this.$site.pages, this.$route.path);\n }\n }\n };\n}\n\nfunction prepare(siteData) {\n siteData.pages.forEach(function (page) {\n if (!page.frontmatter) {\n page.frontmatter = {};\n }\n });\n\n if (siteData.locales) {\n Object.keys(siteData.locales).forEach(function (path) {\n siteData.locales[path].path = path;\n });\n }\n\n Object.freeze(siteData);\n}",{"version":3,"sources":["node_modules/vuepress/lib/app/dataMixin.js"],"names":["Vue","findPageForPath","dataMixin","siteData","prepare","store","data","module","hot","accept","computed","$site","$localeConfig","locales","targetLang","defaultLang","path","$page","indexOf","$siteTitle","title","$title","page","siteTitle","selfTitle","frontmatter","home","$description","meta","descriptionMeta","filter","item","name","content","description","$lang","lang","$localePath","$themeLocaleConfig","themeConfig","pages","$route","forEach","Object","keys","freeze"],"mappings":";;;;;;;;AAAA,OAAOA,GAAP,MAAgB,KAAhB;AACA,SAASC,eAAT,QAAgC,QAAhC;AAEA,eAAe,SAASC,SAAT,CAAoBC,QAApB,EAA8B;AAC3CC,UAAQD,QAAR;AACA,MAAME,QAAQ,IAAIL,GAAJ,CAAQ;AACpBM,UAAM;AAAEH;AAAF;AADc,GAAR,CAAd;;AAIA,MAAII,OAAOC,GAAX,EAAgB;AACdD,WAAOC,GAAP,CAAWC,MAAX,CAAkB,kBAAlB,EAAsC,YAAM;AAC1CL,cAAQD,QAAR;AACAE,YAAMF,QAAN,GAAiBA,QAAjB;AACD,KAHD;AAID;;AAED,SAAO;AACLO,cAAU;AACRC,WADQ,mBACC;AACP,eAAON,MAAMF,QAAb;AACD,OAHO;AAIRS,mBAJQ,2BAIS;AAAA,kCACS,KAAKD,KADd,CACPE,OADO;AAAA,YACPA,OADO,oCACG,EADH;AAEf,YAAIC,UAAJ;AACA,YAAIC,WAAJ;;AACA,aAAK,IAAMC,IAAX,IAAmBH,OAAnB,EAA4B;AAC1B,cAAIG,SAAS,GAAb,EAAkB;AAChBD,0BAAcF,QAAQG,IAAR,CAAd;AACD,WAFD,MAEO,IAAI,KAAKC,KAAL,CAAWD,IAAX,CAAgBE,OAAhB,CAAwBF,IAAxB,MAAkC,CAAtC,EAAyC;AAC9CF,yBAAaD,QAAQG,IAAR,CAAb;AACD;AACF;;AACD,eAAOF,cAAcC,WAAd,IAA6B,EAApC;AACD,OAhBO;AAiBRI,gBAjBQ,wBAiBM;AACZ,eAAO,KAAKP,aAAL,CAAmBQ,KAAnB,IAA4B,KAAKT,KAAL,CAAWS,KAAvC,IAAgD,EAAvD;AACD,OAnBO;AAoBRC,YApBQ,oBAoBE;AACR,YAAMC,OAAO,KAAKL,KAAlB;AACA,YAAMM,YAAY,KAAKJ,UAAvB;AACA,YAAMK,YAAYF,KAAKG,WAAL,CAAiBC,IAAjB,GAAwB,IAAxB,GAChBJ,KAAKG,WAAL,CAAiBL,KAAjB,IAA0B;AAC1BE,aAAKF,KAFW,CAEL;AAFb;AAIA,eAAOG,YACHC,YACGA,YAAY,KAAZ,GAAoBD,SADvB,GAEEA,SAHC,GAIHC,aAAa,UAJjB;AAKD,OAhCO;AAiCRG,kBAjCQ,0BAiCQ;AACd;AACA,YAAI,KAAKV,KAAL,CAAWQ,WAAX,CAAuBG,IAA3B,EAAiC;AAC/B,cAAMC,kBAAkB,KAAKZ,KAAL,CAAWQ,WAAX,CAAuBG,IAAvB,CAA4BE,MAA5B,CAAmC;AAAA,mBAAQC,KAAKC,IAAL,KAAc,aAAtB;AAAA,WAAnC,EAAwE,CAAxE,CAAxB;AACA,cAAIH,eAAJ,EAAqB,OAAOA,gBAAgBI,OAAvB;AACtB;;AACD,eAAO,KAAKhB,KAAL,CAAWQ,WAAX,CAAuBS,WAAvB,IAAsC,KAAKtB,aAAL,CAAmBsB,WAAzD,IAAwE,KAAKvB,KAAL,CAAWuB,WAAnF,IAAkG,EAAzG;AACD,OAxCO;AAyCRC,WAzCQ,mBAyCC;AACP,eAAO,KAAKlB,KAAL,CAAWQ,WAAX,CAAuBW,IAAvB,IAA+B,KAAKxB,aAAL,CAAmBwB,IAAlD,IAA0D,OAAjE;AACD,OA3CO;AA4CRC,iBA5CQ,yBA4CO;AACb,eAAO,KAAKzB,aAAL,CAAmBI,IAAnB,IAA2B,GAAlC;AACD,OA9CO;AA+CRsB,wBA/CQ,gCA+Cc;AACpB,eAAO,CAAC,KAAK3B,KAAL,CAAW4B,WAAX,CAAuB1B,OAAvB,IAAkC,EAAnC,EAAuC,KAAKwB,WAA5C,KAA4D,EAAnE;AACD,OAjDO;AAkDRpB,WAlDQ,mBAkDC;AACP,eAAOhB,gBACL,KAAKU,KAAL,CAAW6B,KADN,EAEL,KAAKC,MAAL,CAAYzB,IAFP,CAAP;AAID;AAvDO;AADL,GAAP;AA2DD;;AAED,SAASZ,OAAT,CAAkBD,QAAlB,EAA4B;AAC1BA,WAASqC,KAAT,CAAeE,OAAf,CAAuB,gBAAQ;AAC7B,QAAI,CAACpB,KAAKG,WAAV,EAAuB;AACrBH,WAAKG,WAAL,GAAmB,EAAnB;AACD;AACF,GAJD;;AAKA,MAAItB,SAASU,OAAb,EAAsB;AACpB8B,WAAOC,IAAP,CAAYzC,SAASU,OAArB,EAA8B6B,OAA9B,CAAsC,gBAAQ;AAC5CvC,eAASU,OAAT,CAAiBG,IAAjB,EAAuBA,IAAvB,GAA8BA,IAA9B;AACD,KAFD;AAGD;;AACD2B,SAAOE,MAAP,CAAc1C,QAAd;AACD","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["import Vue from 'vue'\nimport { findPageForPath } from './util'\n\nexport default function dataMixin (siteData) {\n prepare(siteData)\n const store = new Vue({\n data: { siteData }\n })\n\n if (module.hot) {\n module.hot.accept('./.temp/siteData', () => {\n prepare(siteData)\n store.siteData = siteData\n })\n }\n\n return {\n computed: {\n $site () {\n return store.siteData\n },\n $localeConfig () {\n const { locales = {}} = this.$site\n let targetLang\n let defaultLang\n for (const path in locales) {\n if (path === '/') {\n defaultLang = locales[path]\n } else if (this.$page.path.indexOf(path) === 0) {\n targetLang = locales[path]\n }\n }\n return targetLang || defaultLang || {}\n },\n $siteTitle () {\n return this.$localeConfig.title || this.$site.title || ''\n },\n $title () {\n const page = this.$page\n const siteTitle = this.$siteTitle\n const selfTitle = page.frontmatter.home ? null : (\n page.frontmatter.title || // explicit title\n page.title // inferred title\n )\n return siteTitle\n ? selfTitle\n ? (selfTitle + ' | ' + siteTitle)\n : siteTitle\n : selfTitle || 'VuePress'\n },\n $description () {\n // #565 hoist description from meta\n if (this.$page.frontmatter.meta) {\n const descriptionMeta = this.$page.frontmatter.meta.filter(item => item.name === 'description')[0]\n if (descriptionMeta) return descriptionMeta.content\n }\n return this.$page.frontmatter.description || this.$localeConfig.description || this.$site.description || ''\n },\n $lang () {\n return this.$page.frontmatter.lang || this.$localeConfig.lang || 'en-US'\n },\n $localePath () {\n return this.$localeConfig.path || '/'\n },\n $themeLocaleConfig () {\n return (this.$site.themeConfig.locales || {})[this.$localePath] || {}\n },\n $page () {\n return findPageForPath(\n this.$site.pages,\n this.$route.path\n )\n }\n }\n }\n}\n\nfunction prepare (siteData) {\n siteData.pages.forEach(page => {\n if (!page.frontmatter) {\n page.frontmatter = {}\n }\n })\n if (siteData.locales) {\n Object.keys(siteData.locales).forEach(path => {\n siteData.locales[path].path = path\n })\n }\n Object.freeze(siteData)\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/fc702a5cddb6e0bdc55e03d50a5f39b8.json b/node_modules/vuepress/node_modules/.cache/vuepress/fc702a5cddb6e0bdc55e03d50a5f39b8.json new file mode 100644 index 00000000..48622d53 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/fc702a5cddb6e0bdc55e03d50a5f39b8.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/util.js","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/util.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import _toConsumableArray from \"/Users/ruki/projects/personal/xmake-docs/node_modules/@babel/runtime/helpers/builtin/es6/toConsumableArray\";\nexport function injectMixins(options, mixins) {\n var _options$mixins;\n\n if (!options.mixins) {\n options.mixins = [];\n }\n\n (_options$mixins = options.mixins).push.apply(_options$mixins, _toConsumableArray(mixins));\n}\nexport function findPageForPath(pages, path) {\n for (var i = 0; i < pages.length; i++) {\n var page = pages[i];\n\n if (page.path === path) {\n return page;\n }\n }\n\n return {\n path: '',\n frontmatter: {}\n };\n}",{"version":3,"sources":["node_modules/vuepress/lib/app/util.js"],"names":["injectMixins","options","mixins","push","findPageForPath","pages","path","i","length","page","frontmatter"],"mappings":";AAAA,OAAO,SAASA,YAAT,CAAuBC,OAAvB,EAAgCC,MAAhC,EAAwC;AAAA;;AAC7C,MAAI,CAACD,QAAQC,MAAb,EAAqB;AACnBD,YAAQC,MAAR,GAAiB,EAAjB;AACD;;AACD,6BAAQA,MAAR,EAAeC,IAAf,2CAAuBD,MAAvB;AACD;AAED,OAAO,SAASE,eAAT,CAA0BC,KAA1B,EAAiCC,IAAjC,EAAuC;AAC5C,OAAK,IAAIC,IAAI,CAAb,EAAgBA,IAAIF,MAAMG,MAA1B,EAAkCD,GAAlC,EAAuC;AACrC,QAAME,OAAOJ,MAAME,CAAN,CAAb;;AACA,QAAIE,KAAKH,IAAL,KAAcA,IAAlB,EAAwB;AACtB,aAAOG,IAAP;AACD;AACF;;AACD,SAAO;AACLH,UAAM,EADD;AAELI,iBAAa;AAFR,GAAP;AAID","sourceRoot":"/Users/ruki/projects/personal/xmake-docs","sourcesContent":["export function injectMixins (options, mixins) {\n if (!options.mixins) {\n options.mixins = []\n }\n options.mixins.push(...mixins)\n}\n\nexport function findPageForPath (pages, path) {\n for (let i = 0; i < pages.length; i++) {\n const page = pages[i]\n if (page.path === path) {\n return page\n }\n }\n return {\n path: '',\n frontmatter: {}\n }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/fcc5fae4ff4acb29099a3c146512e82e.json b/node_modules/vuepress/node_modules/.cache/vuepress/fcc5fae4ff4acb29099a3c146512e82e.json new file mode 100644 index 00000000..503b7acf --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/fcc5fae4ff4acb29099a3c146512e82e.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/src/zh/guide/getting-started.md?vue&type=template&id=07d4db43&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/src/zh/guide/getting-started.md","mtime":1541489096650},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"快速开始\"><a class=\"header-anchor\" href=\"#快速开始\" aria-hidden=\"true\">#</a> 快速开始</h1>\n<h2 id=\"编译\"><a class=\"header-anchor\" href=\"#编译\" aria-hidden=\"true\">#</a> 编译</h2>\n<p>请先安装: <a href=\"https://github.com/tboox/xmake\" target=\"_blank\" rel=\"noopener noreferrer\">xmake<OutboundLink/></a></p>\n<!--beforebegin--><div class=\"language-console extra-class\"><!--afterbegin--><pre v-pre class=\"language-text\"><code># 默认直接编译当前主机平台\n$ cd ./tbox\n$ xmake\n\n# 编译mingw平台\n$ cd ./tbox\n$ xmake f -p mingw --sdk=/home/mingwsdk \n$ xmake\n\n# 编译iphoneos平台\n$ cd ./tbox\n$ xmake f -p iphoneos \n$ xmake\n\n# 编译android平台\n$ cd ./tbox\n$ xmake f -p android --ndk=xxxxx\n$ xmake\n\n# 交叉编译\n$ cd ./tbox\n$ xmake f -p linux --sdk=/home/sdk #--bin=/home/sdk/bin\n$ xmake\n</code></pre>\n<!--beforeend--></div><!--afterend--><h2 id=\"例子\"><a class=\"header-anchor\" href=\"#例子\" aria-hidden=\"true\">#</a> 例子</h2>\n<!--beforebegin--><div class=\"language-c extra-class\"><!--afterbegin--><pre v-pre class=\"language-c\"><code><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">\"tbox/tbox.h\"</span></span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> argc<span class=\"token punctuation\">,</span> <span class=\"token keyword\">char</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span> argv<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// init tbox</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">tb_init</span><span class=\"token punctuation\">(</span>tb_null<span class=\"token punctuation\">,</span> tb_null<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"hello tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// init vector</span>\n tb_vector_ref_t vector <span class=\"token operator\">=</span> <span class=\"token function\">tb_vector_init</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">tb_element_cstr</span><span class=\"token punctuation\">(</span>tb_true<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// insert item</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token function\">tb_vector_insert_tail</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">,</span> <span class=\"token string\">\"tbox\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// dump all items</span>\n tb_for_all <span class=\"token punctuation\">(</span>tb_char_t <span class=\"token keyword\">const</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">,</span> vector<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%s\"</span><span class=\"token punctuation\">,</span> cstr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit vector</span>\n <span class=\"token function\">tb_vector_exit</span><span class=\"token punctuation\">(</span>vector<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// init stream</span>\n tb_stream_ref_t stream <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_init_from_url</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"http://www.xxx.com/file.txt\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// open stream</span>\n <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token function\">tb_stream_open</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// read line</span>\n tb_long_t size <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n tb_char_t line<span class=\"token punctuation\">[</span>TB_STREAM_BLOCK_MAXN<span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">while</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>size <span class=\"token operator\">=</span> <span class=\"token function\">tb_stream_bread_line</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">,</span> <span class=\"token keyword\">sizeof</span><span class=\"token punctuation\">(</span>line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">>=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span>\n <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// trace</span>\n <span class=\"token function\">tb_trace_i</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"line: %s\"</span><span class=\"token punctuation\">,</span> line<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// exit stream</span>\n <span class=\"token function\">tb_stream_exit</span><span class=\"token punctuation\">(</span>stream<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n\n <span class=\"token comment\">// wait </span>\n <span class=\"token function\">getchar</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n <span class=\"token comment\">// exit tbox</span>\n <span class=\"token function\">tb_exit</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n</code></pre>\n<!--beforeend--></div><!--afterend--></div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/fceddf61b2763d2263035cabc698d9b3.json b/node_modules/vuepress/node_modules/.cache/vuepress/fceddf61b2763d2263035cabc698d9b3.json new file mode 100644 index 00000000..53ab5c7d --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/fceddf61b2763d2263035cabc698d9b3.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NotFound.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/NotFound.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nconst msgs = [\n `There's nothing here.`,\n `How did we get here?`,\n `That's a Four-Oh-Four.`,\n `Looks like we've got some broken links.`\n]\n\nexport default {\n methods: {\n getMsg () {\n return msgs[Math.floor(Math.random() * msgs.length)]\n }\n }\n}\n",{"version":3,"sources":["NotFound.vue"],"names":[],"mappings":";;;;;;;;;;;AAWA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA","file":"NotFound.vue","sourceRoot":"node_modules/vuepress/lib/default-theme","sourcesContent":["<template>\n <div class=\"theme-container\">\n <div class=\"content\">\n <h1>404</h1>\n <blockquote>{{ getMsg() }}</blockquote>\n <router-link to=\"/\">Take me home.</router-link>\n </div>\n </div>\n</template>\n\n<script>\nconst msgs = [\n `There's nothing here.`,\n `How did we get here?`,\n `That's a Four-Oh-Four.`,\n `Looks like we've got some broken links.`\n]\n\nexport default {\n methods: {\n getMsg () {\n return msgs[Math.floor(Math.random() * msgs.length)]\n }\n }\n}\n</script>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/fdd3f3e6107319ee5ba1616b6498ff07.json b/node_modules/vuepress/node_modules/.cache/vuepress/fdd3f3e6107319ee5ba1616b6498ff07.json new file mode 100644 index 00000000..ccd251b9 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/fdd3f3e6107319ee5ba1616b6498ff07.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/SidebarGroup.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport SidebarLink from './SidebarLink.vue';\nimport DropdownTransition from './DropdownTransition.vue';\nexport default {\n name: 'SidebarGroup',\n props: ['item', 'first', 'open', 'collapsable'],\n components: {\n SidebarLink: SidebarLink,\n DropdownTransition: DropdownTransition\n }\n};",{"version":3,"sources":["node_modules/vuepress/lib/default-theme/SidebarGroup.vue"],"names":["SidebarLink","DropdownTransition","name","props","components"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,OAAOA,WAAP,MAAwB,mBAAxB;AACA,OAAOC,kBAAP,MAA+B,0BAA/B;AAEA,eAAe;AACbC,QAAM,cADO;AAEbC,SAAO,CAAC,MAAD,EAAS,OAAT,EAAkB,MAAlB,EAA0B,aAA1B,CAFM;AAGbC,cAAY;AAAEJ,4BAAF;AAAeC;AAAf;AAHC,CAAf","sourceRoot":"/Users/ruki/projects/personal/tbox-docs","sourcesContent":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport SidebarLink from './SidebarLink.vue'\nimport DropdownTransition from './DropdownTransition.vue'\n\nexport default {\n name: 'SidebarGroup',\n props: ['item', 'first', 'open', 'collapsable'],\n components: { SidebarLink, DropdownTransition }\n}\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/fe65b2807cb1a32e7ba5c032016c0430.json b/node_modules/vuepress/node_modules/.cache/vuepress/fe65b2807cb1a32e7ba5c032016c0430.json new file mode 100644 index 00000000..87daf8c7 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/fe65b2807cb1a32e7ba5c032016c0430.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/components/Badge.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/components/Badge.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["\nexport default {\n functional: true,\n props: {\n type: {\n type: String,\n default: 'tip'\n },\n text: String,\n vertical: {\n type: String,\n default: 'top'\n }\n },\n render (h, { props, slots }) {\n return h('span', {\n class: ['badge', props.type, props.vertical]\n }, props.text || slots().default)\n }\n}\n",{"version":3,"sources":["Badge.vue"],"names":[],"mappings":";AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"Badge.vue","sourceRoot":"node_modules/vuepress/lib/app/components","sourcesContent":["<script>\nexport default {\n functional: true,\n props: {\n type: {\n type: String,\n default: 'tip'\n },\n text: String,\n vertical: {\n type: String,\n default: 'top'\n }\n },\n render (h, { props, slots }) {\n return h('span', {\n class: ['badge', props.type, props.vertical]\n }, props.text || slots().default)\n }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n@import '../../default-theme/styles/config.styl'\n\n.badge\n display inline-block\n font-size 14px\n height 18px\n line-height 18px\n border-radius 3px\n padding 0 6px\n color white\n margin-right 5px\n background-color #42b983\n &.middle\n vertical-align middle\n &.top\n vertical-align top\n &.tip, &.green\n background-color #42b983\n &.error\n background-color #DA5961 //#f66\n &.warning, &.warn, &.yellow\n background-color darken(#ffe564, 35%)\n</style>\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/fe75d0aa192f2ca914e1779fa77f8db7.json b/node_modules/vuepress/node_modules/.cache/vuepress/fe75d0aa192f2ca914e1779fa77f8db7.json new file mode 100644 index 00000000..90ddab48 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/fe75d0aa192f2ca914e1779fa77f8db7.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/DropdownTransition.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./DropdownTransition.vue?vue&type=template&id=02a4f89d&\"\nimport script from \"./DropdownTransition.vue?vue&type=script&lang=js&\"\nexport * from \"./DropdownTransition.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DropdownTransition.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('02a4f89d', component.options)\n } else {\n api.reload('02a4f89d', component.options)\n }\n module.hot.accept(\"./DropdownTransition.vue?vue&type=template&id=02a4f89d&\", function () {\n api.rerender('02a4f89d', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/default-theme/DropdownTransition.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/fe85cb62f1963638e91be8f365df72da.json b/node_modules/vuepress/node_modules/.cache/vuepress/fe85cb62f1963638e91be8f365df72da.json new file mode 100644 index 00000000..ef65559b --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/fe85cb62f1963638e91be8f365df72da.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue?vue&type=template&id=7eb32c3c&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/Page.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page\"},[_vm._t(\"top\"),_vm._ssrNode(\" \"),_c('Content',{attrs:{\"custom\":false}}),_vm._ssrNode(\" \"),_vm._ssrNode(\"<div class=\\\"page-edit\\\">\",\"</div>\",[(_vm.editLink)?_vm._ssrNode(\"<div class=\\\"edit-link\\\">\",\"</div>\",[_vm._ssrNode(\"<a\"+(_vm._ssrAttr(\"href\",_vm.editLink))+\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\"+_vm._ssrEscape(_vm._s(_vm.editLinkText))+\"</a> \"),_c('OutboundLink')],2):_vm._e(),_vm._ssrNode(\" \"+((_vm.lastUpdated)?(\"<div class=\\\"last-updated\\\"><span class=\\\"prefix\\\">\"+_vm._ssrEscape(_vm._s(_vm.lastUpdatedText)+\": \")+\"</span> <span class=\\\"time\\\">\"+_vm._ssrEscape(_vm._s(_vm.lastUpdated))+\"</span></div>\"):\"<!---->\"))],2),_vm._ssrNode(\" \"),(_vm.prev || _vm.next)?_vm._ssrNode(\"<div class=\\\"page-nav\\\">\",\"</div>\",[_vm._ssrNode(\"<p class=\\\"inner\\\">\",\"</p>\",[(_vm.prev)?_vm._ssrNode(\"<span class=\\\"prev\\\">\",\"</span>\",[_vm._ssrNode(\"\\n ←\\n \"),(_vm.prev)?_c('router-link',{staticClass:\"prev\",attrs:{\"to\":_vm.prev.path}},[_vm._v(\"\\n \"+_vm._s(_vm.prev.title || _vm.prev.path)+\"\\n \")]):_vm._e()],2):_vm._e(),_vm._ssrNode(\" \"),(_vm.next)?_vm._ssrNode(\"<span class=\\\"next\\\">\",\"</span>\",[(_vm.next)?_c('router-link',{attrs:{\"to\":_vm.next.path}},[_vm._v(\"\\n \"+_vm._s(_vm.next.title || _vm.next.path)+\"\\n \")]):_vm._e(),_vm._ssrNode(\"\\n →\\n \")],2):_vm._e()],2)]):_vm._e(),_vm._ssrNode(\" \"),_vm._t(\"bottom\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/fee3e27040ac81f53fbd21d7d5870fae.json b/node_modules/vuepress/node_modules/.cache/vuepress/fee3e27040ac81f53fbd21d7d5870fae.json new file mode 100644 index 00000000..240cb5c1 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/fee3e27040ac81f53fbd21d7d5870fae.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/api.md?vue&type=template&id=1be9b2ee&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/api.md","mtime":1541485547569},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"api\"><a class=\"header-anchor\" href=\"#api\" aria-hidden=\"true\">#</a> API</h1>\n<p>[TODO]</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/fefae51fb0ba3d3276a0468df6749bfc.json b/node_modules/vuepress/node_modules/.cache/vuepress/fefae51fb0ba3d3276a0468df6749bfc.json new file mode 100644 index 00000000..9b48b4ee --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/fefae51fb0ba3d3276a0468df6749bfc.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/clientEntry.js","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/app/clientEntry.js","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240}],"contextDependencies":[],"result":["import \"core-js/modules/es6.promise\";\n\n/* global BASE_URL, GA_ID, ga, SW_ENABLED, VUEPRESS_VERSION, LAST_COMMIT_HASH*/\nimport { createApp } from './app';\nimport SWUpdateEvent from './SWUpdateEvent';\nimport { register } from 'register-service-worker';\n\nvar _createApp = createApp(),\n app = _createApp.app,\n router = _createApp.router;\n\nwindow.__VUEPRESS_VERSION__ = {\n version: VUEPRESS_VERSION,\n hash: LAST_COMMIT_HASH // Google analytics integration\n\n};\n\nif (process.env.NODE_ENV === 'production' && GA_ID) {\n (function (i, s, o, g, r, a, m) {\n i['GoogleAnalyticsObject'] = r;\n\n i[r] = i[r] || function () {\n (i[r].q = i[r].q || []).push(arguments);\n };\n\n i[r].l = 1 * new Date();\n a = s.createElement(o);\n m = s.getElementsByTagName(o)[0];\n a.async = 1;\n a.src = g;\n m.parentNode.insertBefore(a, m);\n })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');\n\n ga('create', GA_ID, 'auto');\n ga('send', 'pageview');\n router.afterEach(function (to) {\n ga('set', 'page', app.$withBase(to.fullPath));\n ga('send', 'pageview');\n });\n}\n\nrouter.onReady(function () {\n app.$mount('#app'); // Register service worker\n\n if (process.env.NODE_ENV === 'production' && SW_ENABLED && window.location.protocol === 'https:') {\n register(\"\".concat(BASE_URL, \"service-worker.js\"), {\n ready: function ready() {\n console.log('[vuepress:sw] Service worker is active.');\n app.$refs.layout.$emit('sw-ready');\n },\n cached: function cached(registration) {\n console.log('[vuepress:sw] Content has been cached for offline use.');\n app.$refs.layout.$emit('sw-cached', new SWUpdateEvent(registration));\n },\n updated: function updated(registration) {\n console.log('[vuepress:sw] Content updated.');\n app.$refs.layout.$emit('sw-updated', new SWUpdateEvent(registration));\n },\n offline: function offline() {\n console.log('[vuepress:sw] No internet connection found. App is running in offline mode.');\n app.$refs.layout.$emit('sw-offline');\n },\n error: function error(err) {\n console.error('[vuepress:sw] Error during service worker registration:', err);\n app.$refs.layout.$emit('sw-error', err);\n\n if (GA_ID) {\n ga('send', 'exception', {\n exDescription: err.message,\n exFatal: false\n });\n }\n }\n });\n }\n});",{"version":3,"sources":["node_modules/vuepress/lib/app/clientEntry.js"],"names":["createApp","SWUpdateEvent","register","app","router","window","__VUEPRESS_VERSION__","version","VUEPRESS_VERSION","hash","LAST_COMMIT_HASH","process","env","NODE_ENV","GA_ID","i","s","o","g","r","a","m","q","push","arguments","l","Date","createElement","getElementsByTagName","async","src","parentNode","insertBefore","document","ga","afterEach","to","$withBase","fullPath","onReady","$mount","SW_ENABLED","location","protocol","BASE_URL","ready","console","log","$refs","layout","$emit","cached","registration","updated","offline","error","err","exDescription","message","exFatal"],"mappings":";;AAAA;AAEA,SAASA,SAAT,QAA0B,OAA1B;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,SAASC,QAAT,QAAyB,yBAAzB;;iBAEwBF,W;IAAhBG,G,cAAAA,G;IAAKC,M,cAAAA,M;;AAEbC,OAAOC,oBAAP,GAA8B;AAC5BC,WAASC,gBADmB;AAE5BC,QAAMC,gBAFsB,CAK9B;;AAL8B,CAA9B;;AAMA,IAAIC,QAAQC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,IAAyCC,KAA7C,EAAoD;AAClD,GAAC,UAAUC,CAAV,EAAaC,CAAb,EAAgBC,CAAhB,EAAmBC,CAAnB,EAAsBC,CAAtB,EAAyBC,CAAzB,EAA4BC,CAA5B,EAA+B;AAC9BN,MAAE,uBAAF,IAA6BI,CAA7B;;AACAJ,MAAEI,CAAF,IAAOJ,EAAEI,CAAF,KAAQ,YAAY;AACzB,OAACJ,EAAEI,CAAF,EAAKG,CAAL,GAASP,EAAEI,CAAF,EAAKG,CAAL,IAAU,EAApB,EAAwBC,IAAxB,CAA6BC,SAA7B;AACD,KAFD;;AAGAT,MAAEI,CAAF,EAAKM,CAAL,GAAS,IAAI,IAAIC,IAAJ,EAAb;AACAN,QAAIJ,EAAEW,aAAF,CAAgBV,CAAhB,CAAJ;AACAI,QAAIL,EAAEY,oBAAF,CAAuBX,CAAvB,EAA0B,CAA1B,CAAJ;AACAG,MAAES,KAAF,GAAU,CAAV;AACAT,MAAEU,GAAF,GAAQZ,CAAR;AACAG,MAAEU,UAAF,CAAaC,YAAb,CAA0BZ,CAA1B,EAA6BC,CAA7B;AACD,GAXD,EAWGhB,MAXH,EAWW4B,QAXX,EAWqB,QAXrB,EAW+B,+CAX/B,EAWgF,IAXhF;;AAaAC,KAAG,QAAH,EAAapB,KAAb,EAAoB,MAApB;AACAoB,KAAG,MAAH,EAAW,UAAX;AAEA9B,SAAO+B,SAAP,CAAiB,UAAUC,EAAV,EAAc;AAC7BF,OAAG,KAAH,EAAU,MAAV,EAAkB/B,IAAIkC,SAAJ,CAAcD,GAAGE,QAAjB,CAAlB;AACAJ,OAAG,MAAH,EAAW,UAAX;AACD,GAHD;AAID;;AAED9B,OAAOmC,OAAP,CAAe,YAAM;AACnBpC,MAAIqC,MAAJ,CAAW,MAAX,EADmB,CAGnB;;AACA,MAAI7B,QAAQC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,IACF4B,UADE,IAEFpC,OAAOqC,QAAP,CAAgBC,QAAhB,KAA6B,QAF/B,EAEyC;AACvCzC,uBAAY0C,QAAZ,wBAAyC;AACvCC,WADuC,mBAC9B;AACPC,gBAAQC,GAAR,CAAY,yCAAZ;AACA5C,YAAI6C,KAAJ,CAAUC,MAAV,CAAiBC,KAAjB,CAAuB,UAAvB;AACD,OAJsC;AAKvCC,YALuC,kBAK/BC,YAL+B,EAKjB;AACpBN,gBAAQC,GAAR,CAAY,wDAAZ;AACA5C,YAAI6C,KAAJ,CAAUC,MAAV,CAAiBC,KAAjB,CAAuB,WAAvB,EAAoC,IAAIjD,aAAJ,CAAkBmD,YAAlB,CAApC;AACD,OARsC;AASvCC,aATuC,mBAS9BD,YAT8B,EAShB;AACrBN,gBAAQC,GAAR,CAAY,gCAAZ;AACA5C,YAAI6C,KAAJ,CAAUC,MAAV,CAAiBC,KAAjB,CAAuB,YAAvB,EAAqC,IAAIjD,aAAJ,CAAkBmD,YAAlB,CAArC;AACD,OAZsC;AAavCE,aAbuC,qBAa5B;AACTR,gBAAQC,GAAR,CAAY,6EAAZ;AACA5C,YAAI6C,KAAJ,CAAUC,MAAV,CAAiBC,KAAjB,CAAuB,YAAvB;AACD,OAhBsC;AAiBvCK,WAjBuC,iBAiBhCC,GAjBgC,EAiB3B;AACVV,gBAAQS,KAAR,CAAc,yDAAd,EAAyEC,GAAzE;AACArD,YAAI6C,KAAJ,CAAUC,MAAV,CAAiBC,KAAjB,CAAuB,UAAvB,EAAmCM,GAAnC;;AACA,YAAI1C,KAAJ,EAAW;AACToB,aAAG,MAAH,EAAW,WAAX,EAAwB;AACtBuB,2BAAeD,IAAIE,OADG;AAEtBC,qBAAS;AAFa,WAAxB;AAID;AACF;AA1BsC,KAAzC;AA4BD;AACF,CApCD","sourceRoot":"/Users/ruki/projects/personal/xmake-docs","sourcesContent":["/* global BASE_URL, GA_ID, ga, SW_ENABLED, VUEPRESS_VERSION, LAST_COMMIT_HASH*/\n\nimport { createApp } from './app'\nimport SWUpdateEvent from './SWUpdateEvent'\nimport { register } from 'register-service-worker'\n\nconst { app, router } = createApp()\n\nwindow.__VUEPRESS_VERSION__ = {\n version: VUEPRESS_VERSION,\n hash: LAST_COMMIT_HASH\n}\n\n// Google analytics integration\nif (process.env.NODE_ENV === 'production' && GA_ID) {\n (function (i, s, o, g, r, a, m) {\n i['GoogleAnalyticsObject'] = r\n i[r] = i[r] || function () {\n (i[r].q = i[r].q || []).push(arguments)\n }\n i[r].l = 1 * new Date()\n a = s.createElement(o)\n m = s.getElementsByTagName(o)[0]\n a.async = 1\n a.src = g\n m.parentNode.insertBefore(a, m)\n })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga')\n\n ga('create', GA_ID, 'auto')\n ga('send', 'pageview')\n\n router.afterEach(function (to) {\n ga('set', 'page', app.$withBase(to.fullPath))\n ga('send', 'pageview')\n })\n}\n\nrouter.onReady(() => {\n app.$mount('#app')\n\n // Register service worker\n if (process.env.NODE_ENV === 'production' &&\n SW_ENABLED &&\n window.location.protocol === 'https:') {\n register(`${BASE_URL}service-worker.js`, {\n ready () {\n console.log('[vuepress:sw] Service worker is active.')\n app.$refs.layout.$emit('sw-ready')\n },\n cached (registration) {\n console.log('[vuepress:sw] Content has been cached for offline use.')\n app.$refs.layout.$emit('sw-cached', new SWUpdateEvent(registration))\n },\n updated (registration) {\n console.log('[vuepress:sw] Content updated.')\n app.$refs.layout.$emit('sw-updated', new SWUpdateEvent(registration))\n },\n offline () {\n console.log('[vuepress:sw] No internet connection found. App is running in offline mode.')\n app.$refs.layout.$emit('sw-offline')\n },\n error (err) {\n console.error('[vuepress:sw] Error during service worker registration:', err)\n app.$refs.layout.$emit('sw-error', err)\n if (GA_ID) {\n ga('send', 'exception', {\n exDescription: err.message,\n exFatal: false\n })\n }\n }\n })\n }\n})\n"]}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/ff011a29484b72124c6fab3c5488073a.json b/node_modules/vuepress/node_modules/.cache/vuepress/ff011a29484b72124c6fab3c5488073a.json new file mode 100644 index 00000000..39618bc3 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/ff011a29484b72124c6fab3c5488073a.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/default-theme/DropdownLink.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import { render, staticRenderFns } from \"./DropdownLink.vue?vue&type=template&id=4e56f67c&\"\nimport script from \"./DropdownLink.vue?vue&type=script&lang=js&\"\nexport * from \"./DropdownLink.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DropdownLink.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('4e56f67c', component.options)\n } else {\n api.reload('4e56f67c', component.options)\n }\n module.hot.accept(\"./DropdownLink.vue?vue&type=template&id=4e56f67c&\", function () {\n api.rerender('4e56f67c', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/vuepress/lib/default-theme/DropdownLink.vue\"\nexport default component.exports"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/ff5cfe8f685fb0d905ad102b9f0c87a6.json b/node_modules/vuepress/node_modules/.cache/vuepress/ff5cfe8f685fb0d905ad102b9f0c87a6.json new file mode 100644 index 00000000..ca4be06c --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/ff5cfe8f685fb0d905ad102b9f0c87a6.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/xmake-docs/src/zh/plugin/introduction.md?vue&type=template&id=bdbb3722&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/src/zh/plugin/introduction.md","mtime":1541580936763},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["\n<div class=\"content\"><h1 id=\"title1\"><a class=\"header-anchor\" href=\"#title1\" aria-hidden=\"true\">#</a> Title1</h1>\n<p><div class=\"table-of-contents\"><ul><li><a href=\"#title2\">Title2</a><ul><li><a href=\"#title3\">Title3</a></li><li><a href=\"#title3\">Title3</a></li></ul></li><li><a href=\"#title2\">Title2</a><ul><li><a href=\"#title3\">Title3</a></li></ul></li></ul></div></p>\n<h2 id=\"title2\"><a class=\"header-anchor\" href=\"#title2\" aria-hidden=\"true\">#</a> Title2</h2>\n<h3 id=\"title3\"><a class=\"header-anchor\" href=\"#title3\" aria-hidden=\"true\">#</a> Title3</h3>\n<h4 id=\"title4\"><a class=\"header-anchor\" href=\"#title4\" aria-hidden=\"true\">#</a> Title4</h4>\n<h5 id=\"title5\"><a class=\"header-anchor\" href=\"#title5\" aria-hidden=\"true\">#</a> Title5</h5>\n<p>...</p>\n<h5 id=\"title5-2\"><a class=\"header-anchor\" href=\"#title5-2\" aria-hidden=\"true\">#</a> Title5</h5>\n<p>...</p>\n<h4 id=\"title4-2\"><a class=\"header-anchor\" href=\"#title4-2\" aria-hidden=\"true\">#</a> Title4</h4>\n<p>...</p>\n<h3 id=\"title3-2\"><a class=\"header-anchor\" href=\"#title3-2\" aria-hidden=\"true\">#</a> Title3</h3>\n<p>...</p>\n<h2 id=\"title2-2\"><a class=\"header-anchor\" href=\"#title2-2\" aria-hidden=\"true\">#</a> Title2</h2>\n<p>...</p>\n<h3 id=\"title3-3\"><a class=\"header-anchor\" href=\"#title3-3\" aria-hidden=\"true\">#</a> Title3</h3>\n<p>...</p>\n</div>\n",null]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/ffae3fc77c2cb54fe7dd14fa3fd29253.json b/node_modules/vuepress/node_modules/.cache/vuepress/ffae3fc77c2cb54fe7dd14fa3fd29253.json new file mode 100644 index 00000000..4defb5aa --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/ffae3fc77c2cb54fe7dd14fa3fd29253.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js??ref--3-1!/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vuepress/lib/default-theme/SearchBox.vue","mtime":1541484147168},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/babel-loader/lib/index.js","mtime":1541484124240},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/xmake-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571}],"contextDependencies":[],"result":["import \"core-js/modules/es6.object.assign\";\nimport \"core-js/modules/es6.array.index-of\";\nimport \"core-js/modules/es6.string.trim\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nexport default {\n data: function data() {\n return {\n query: '',\n focused: false,\n focusIndex: 0\n };\n },\n computed: {\n showSuggestions: function showSuggestions() {\n return this.focused && this.suggestions && this.suggestions.length;\n },\n suggestions: function suggestions() {\n var query = this.query.trim().toLowerCase();\n\n if (!query) {\n return;\n }\n\n var _this$$site = this.$site,\n pages = _this$$site.pages,\n themeConfig = _this$$site.themeConfig;\n var max = themeConfig.searchMaxSuggestions || 5;\n var localePath = this.$localePath;\n\n var matches = function matches(item) {\n return item.title && item.title.toLowerCase().indexOf(query) > -1;\n };\n\n var res = [];\n\n for (var i = 0; i < pages.length; i++) {\n if (res.length >= max) break;\n var p = pages[i]; // filter out results that do not match current locale\n\n if (this.getPageLocalePath(p) !== localePath) {\n continue;\n }\n\n if (matches(p)) {\n res.push(p);\n } else if (p.headers) {\n for (var j = 0; j < p.headers.length; j++) {\n if (res.length >= max) break;\n var h = p.headers[j];\n\n if (matches(h)) {\n res.push(Object.assign({}, p, {\n path: p.path + '#' + h.slug,\n header: h\n }));\n }\n }\n }\n }\n\n return res;\n },\n // make suggestions align right when there are not enough items\n alignRight: function alignRight() {\n var navCount = (this.$site.themeConfig.nav || []).length;\n var repo = this.$site.repo ? 1 : 0;\n return navCount + repo <= 2;\n }\n },\n methods: {\n getPageLocalePath: function getPageLocalePath(page) {\n for (var localePath in this.$site.locales || {}) {\n if (localePath !== '/' && page.path.indexOf(localePath) === 0) {\n return localePath;\n }\n }\n\n return '/';\n },\n onUp: function onUp() {\n if (this.showSuggestions) {\n if (this.focusIndex > 0) {\n this.focusIndex--;\n } else {\n this.focusIndex = this.suggestions.length - 1;\n }\n }\n },\n onDown: function onDown() {\n if (this.showSuggestions) {\n if (this.focusIndex < this.suggestions.length - 1) {\n this.focusIndex++;\n } else {\n this.focusIndex = 0;\n }\n }\n },\n go: function go(i) {\n if (!this.showSuggestions) {\n return;\n }\n\n this.$router.push(this.suggestions[i].path);\n this.query = '';\n this.focusIndex = 0;\n },\n focus: function focus(i) {\n this.focusIndex = i;\n },\n unfocus: function unfocus() {\n this.focusIndex = -1;\n }\n }\n};",{"version":3,"sources":["SearchBox.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,eAAA;AACA,MADA,kBACA;AACA,WAAA;AACA,aAAA,EADA;AAEA,eAAA,KAFA;AAGA,kBAAA;AAHA,KAAA;AAKA,GAPA;AASA,YAAA;AACA,mBADA,6BACA;AACA,aACA,KAAA,OAAA,IACA,KAAA,WADA,IAEA,KAAA,WAAA,CAAA,MAHA;AAKA,KAPA;AASA,eATA,yBASA;AACA,UAAA,QAAA,KAAA,KAAA,CAAA,IAAA,GAAA,WAAA,EAAA;;AACA,UAAA,CAAA,KAAA,EAAA;AACA;AACA;;AAJA,wBAMA,KAAA,KANA;AAAA,UAMA,KANA,eAMA,KANA;AAAA,UAMA,WANA,eAMA,WANA;AAOA,UAAA,MAAA,YAAA,oBAAA,IAAA,CAAA;AACA,UAAA,aAAA,KAAA,WAAA;;AACA,UAAA,UAAA,SAAA,OAAA;AAAA,eACA,KAAA,KAAA,IACA,KAAA,KAAA,CAAA,WAAA,GAAA,OAAA,CAAA,KAAA,IAAA,CAAA,CAFA;AAAA,OAAA;;AAIA,UAAA,MAAA,EAAA;;AACA,WAAA,IAAA,IAAA,CAAA,EAAA,IAAA,MAAA,MAAA,EAAA,GAAA,EAAA;AACA,YAAA,IAAA,MAAA,IAAA,GAAA,EAAA;AACA,YAAA,IAAA,MAAA,CAAA,CAAA,CAFA,CAGA;;AACA,YAAA,KAAA,iBAAA,CAAA,CAAA,MAAA,UAAA,EAAA;AACA;AACA;;AACA,YAAA,QAAA,CAAA,CAAA,EAAA;AACA,cAAA,IAAA,CAAA,CAAA;AACA,SAFA,MAEA,IAAA,EAAA,OAAA,EAAA;AACA,eAAA,IAAA,IAAA,CAAA,EAAA,IAAA,EAAA,OAAA,CAAA,MAAA,EAAA,GAAA,EAAA;AACA,gBAAA,IAAA,MAAA,IAAA,GAAA,EAAA;AACA,gBAAA,IAAA,EAAA,OAAA,CAAA,CAAA,CAAA;;AACA,gBAAA,QAAA,CAAA,CAAA,EAAA;AACA,kBAAA,IAAA,CAAA,OAAA,MAAA,CAAA,EAAA,EAAA,CAAA,EAAA;AACA,sBAAA,EAAA,IAAA,GAAA,GAAA,GAAA,EAAA,IADA;AAEA,wBAAA;AAFA,eAAA,CAAA;AAIA;AACA;AACA;AACA;;AACA,aAAA,GAAA;AACA,KA9CA;AAgDA;AACA,cAjDA,wBAiDA;AACA,UAAA,WAAA,CAAA,KAAA,KAAA,CAAA,WAAA,CAAA,GAAA,IAAA,EAAA,EAAA,MAAA;AACA,UAAA,OAAA,KAAA,KAAA,CAAA,IAAA,GAAA,CAAA,GAAA,CAAA;AACA,aAAA,WAAA,IAAA,IAAA,CAAA;AACA;AArDA,GATA;AAiEA,WAAA;AACA,qBADA,6BACA,IADA,EACA;AACA,WAAA,IAAA,UAAA,IAAA,KAAA,KAAA,CAAA,OAAA,IAAA,EAAA,EAAA;AACA,YAAA,eAAA,GAAA,IAAA,KAAA,IAAA,CAAA,OAAA,CAAA,UAAA,MAAA,CAAA,EAAA;AACA,iBAAA,UAAA;AACA;AACA;;AACA,aAAA,GAAA;AACA,KARA;AAUA,QAVA,kBAUA;AACA,UAAA,KAAA,eAAA,EAAA;AACA,YAAA,KAAA,UAAA,GAAA,CAAA,EAAA;AACA,eAAA,UAAA;AACA,SAFA,MAEA;AACA,eAAA,UAAA,GAAA,KAAA,WAAA,CAAA,MAAA,GAAA,CAAA;AACA;AACA;AACA,KAlBA;AAoBA,UApBA,oBAoBA;AACA,UAAA,KAAA,eAAA,EAAA;AACA,YAAA,KAAA,UAAA,GAAA,KAAA,WAAA,CAAA,MAAA,GAAA,CAAA,EAAA;AACA,eAAA,UAAA;AACA,SAFA,MAEA;AACA,eAAA,UAAA,GAAA,CAAA;AACA;AACA;AACA,KA5BA;AA8BA,MA9BA,cA8BA,CA9BA,EA8BA;AACA,UAAA,CAAA,KAAA,eAAA,EAAA;AACA;AACA;;AACA,WAAA,OAAA,CAAA,IAAA,CAAA,KAAA,WAAA,CAAA,CAAA,EAAA,IAAA;AACA,WAAA,KAAA,GAAA,EAAA;AACA,WAAA,UAAA,GAAA,CAAA;AACA,KArCA;AAuCA,SAvCA,iBAuCA,CAvCA,EAuCA;AACA,WAAA,UAAA,GAAA,CAAA;AACA,KAzCA;AA2CA,WA3CA,qBA2CA;AACA,WAAA,UAAA,GAAA,CAAA,CAAA;AACA;AA7CA;AAjEA,CAAA","sourcesContent":["<template>\n <div class=\"search-box\">\n <input\n @input=\"query = $event.target.value\"\n aria-label=\"Search\"\n :value=\"query\"\n :class=\"{ 'focused': focused }\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n @focus=\"focused = true\"\n @blur=\"focused = false\"\n @keyup.enter=\"go(focusIndex)\"\n @keyup.up=\"onUp\"\n @keyup.down=\"onDown\"\n >\n <ul\n class=\"suggestions\"\n v-if=\"showSuggestions\"\n :class=\"{ 'align-right': alignRight }\"\n @mouseleave=\"unfocus\"\n >\n <li\n class=\"suggestion\"\n v-for=\"(s, i) in suggestions\"\n :class=\"{ focused: i === focusIndex }\"\n @mousedown=\"go(i)\"\n @mouseenter=\"focus(i)\"\n >\n <a :href=\"s.path\" @click.prevent>\n <span class=\"page-title\">{{ s.title || s.path }}</span>\n <span v-if=\"s.header\" class=\"header\">> {{ s.header.title }}</span>\n </a>\n </li>\n </ul>\n </div>\n</template>\n\n<script>\nexport default {\n data () {\n return {\n query: '',\n focused: false,\n focusIndex: 0\n }\n },\n\n computed: {\n showSuggestions () {\n return (\n this.focused &&\n this.suggestions &&\n this.suggestions.length\n )\n },\n\n suggestions () {\n const query = this.query.trim().toLowerCase()\n if (!query) {\n return\n }\n\n const { pages, themeConfig } = this.$site\n const max = themeConfig.searchMaxSuggestions || 5\n const localePath = this.$localePath\n const matches = item => (\n item.title &&\n item.title.toLowerCase().indexOf(query) > -1\n )\n const res = []\n for (let i = 0; i < pages.length; i++) {\n if (res.length >= max) break\n const p = pages[i]\n // filter out results that do not match current locale\n if (this.getPageLocalePath(p) !== localePath) {\n continue\n }\n if (matches(p)) {\n res.push(p)\n } else if (p.headers) {\n for (let j = 0; j < p.headers.length; j++) {\n if (res.length >= max) break\n const h = p.headers[j]\n if (matches(h)) {\n res.push(Object.assign({}, p, {\n path: p.path + '#' + h.slug,\n header: h\n }))\n }\n }\n }\n }\n return res\n },\n\n // make suggestions align right when there are not enough items\n alignRight () {\n const navCount = (this.$site.themeConfig.nav || []).length\n const repo = this.$site.repo ? 1 : 0\n return navCount + repo <= 2\n }\n },\n\n methods: {\n getPageLocalePath (page) {\n for (const localePath in this.$site.locales || {}) {\n if (localePath !== '/' && page.path.indexOf(localePath) === 0) {\n return localePath\n }\n }\n return '/'\n },\n\n onUp () {\n if (this.showSuggestions) {\n if (this.focusIndex > 0) {\n this.focusIndex--\n } else {\n this.focusIndex = this.suggestions.length - 1\n }\n }\n },\n\n onDown () {\n if (this.showSuggestions) {\n if (this.focusIndex < this.suggestions.length - 1) {\n this.focusIndex++\n } else {\n this.focusIndex = 0\n }\n }\n },\n\n go (i) {\n if (!this.showSuggestions) {\n return\n }\n this.$router.push(this.suggestions[i].path)\n this.query = ''\n this.focusIndex = 0\n },\n\n focus (i) {\n this.focusIndex = i\n },\n\n unfocus () {\n this.focusIndex = -1\n }\n }\n}\n</script>\n\n<style lang=\"stylus\">\n@import './styles/config.styl'\n\n.search-box\n display inline-block\n position relative\n margin-right 1rem\n input\n cursor text\n width 10rem\n color lighten($textColor, 25%)\n display inline-block\n border 1px solid darken($borderColor, 10%)\n border-radius 2rem\n font-size 0.9rem\n line-height 2rem\n padding 0 0.5rem 0 2rem\n outline none\n transition all .2s ease\n background #fff url(./search.svg) 0.6rem 0.5rem no-repeat\n background-size 1rem\n &:focus\n cursor auto\n border-color $accentColor\n .suggestions\n background #fff\n width 20rem\n position absolute\n top 1.5rem\n border 1px solid darken($borderColor, 10%)\n border-radius 6px\n padding 0.4rem\n list-style-type none\n &.align-right\n right 0\n .suggestion\n line-height 1.4\n padding 0.4rem 0.6rem\n border-radius 4px\n cursor pointer\n a\n white-space normal\n color lighten($textColor, 35%)\n .page-title\n font-weight 600\n .header\n font-size 0.9em\n margin-left 0.25em\n &.focused\n background-color #f3f4f5\n a\n color $accentColor\n\n@media (max-width: $MQNarrow)\n .search-box\n input\n cursor pointer\n width 0\n border-color transparent\n position relative\n &:focus\n cursor text\n left 0\n width 10rem\n\n@media (max-width: $MQNarrow) and (min-width: $MQMobile)\n .search-box\n .suggestions\n left 0\n\n@media (max-width: $MQMobile)\n .search-box\n margin-right 0\n input\n left 1rem\n .suggestions\n right 0\n\n@media (max-width: $MQMobileNarrow)\n .search-box\n .suggestions\n width calc(100vw - 4rem)\n input:focus\n width 8rem\n</style>\n"],"sourceRoot":"node_modules/vuepress/lib/default-theme"}]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/.cache/vuepress/ffb99246858db0b429c7c086489e7dda.json b/node_modules/vuepress/node_modules/.cache/vuepress/ffb99246858db0b429c7c086489e7dda.json new file mode 100644 index 00000000..92f38550 --- /dev/null +++ b/node_modules/vuepress/node_modules/.cache/vuepress/ffb99246858db0b429c7c086489e7dda.json @@ -0,0 +1 @@ +{"remainingRequest":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js??ref--1-1!/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js??ref--1-2!/Users/ruki/projects/personal/tbox-docs/docs/guide/introduction.md?vue&type=template&id=6b40630c&","dependencies":[{"path":"/Users/ruki/projects/personal/tbox-docs/docs/guide/introduction.md","mtime":1541488030814},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/cache-loader/dist/cjs.js","mtime":1541484124233},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vue-loader/lib/index.js","mtime":1541484125571},{"path":"/Users/ruki/projects/personal/tbox-docs/node_modules/vuepress/lib/webpack/markdownLoader.js","mtime":1541484147168}],"contextDependencies":[],"result":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"content\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"TBOX is a glib-like cross-platform C library that is simple to use yet powerful in nature.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"The project focuses on making C development easier and provides many modules (.e.g stream, coroutine, regex, container, algorithm ...),\\nso that any developer can quickly pick it up and enjoy the productivity boost when developing in C language.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"It supports the following platforms:\")]),\n _vm._v(\" \"),\n _vm._m(1),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"And it provides many compiling options using \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.xmake.io\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\":\")\n ]),\n _vm._v(\" \"),\n _vm._m(2),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"If you want to know more, please refer to:\")]),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://tboox.org\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"HomePage\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/tbox/wiki/documents\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Documents\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/tbox\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Github\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://gitee.com/tboox/tbox\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"Gitee\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm._m(3),\n _vm._v(\" \"),\n _vm._m(4),\n _vm._v(\" \"),\n _vm._m(5),\n _vm._v(\" \"),\n _vm._m(6),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"Provides high-performance coroutine switch(refer to \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://tboox.org/2016/10/28/benchbox-coroutine/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"reports\"), _c(\"OutboundLink\")],\n 1\n ),\n _vm._v(\")\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports arm, arm64, x86, x86_64 ..\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Provides channel interfaces\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Provides semaphore and lock interfaces\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Supports io socket and stream operation in coroutine\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Provides some io servers (http ..) using coroutine\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Provides stackfull and stackless coroutines\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Support epoll, kqueue, poll, select and IOCP\")])\n ]),\n _vm._v(\" \"),\n _vm._m(7),\n _vm._v(\" \"),\n _vm._m(8),\n _vm._v(\" \"),\n _vm._m(9),\n _vm._v(\" \"),\n _vm._m(10),\n _vm._v(\" \"),\n _vm._m(11),\n _vm._v(\" \"),\n _vm._m(12),\n _vm._v(\" \"),\n _vm._m(13),\n _vm._v(\" \"),\n _vm._m(14),\n _vm._v(\" \"),\n _vm._m(15),\n _vm._v(\" \"),\n _vm._m(16),\n _vm._v(\" \"),\n _vm._m(17),\n _vm._v(\" \"),\n _vm._m(18),\n _vm._v(\" \"),\n _vm._m(19),\n _vm._v(\" \"),\n _vm._m(20),\n _vm._v(\" \"),\n _vm._m(21),\n _vm._v(\" \"),\n _vm._m(22),\n _vm._v(\" \"),\n _vm._m(23),\n _vm._v(\" \"),\n _vm._m(24),\n _vm._v(\" \"),\n _vm._m(25),\n _vm._v(\" \"),\n _vm._m(26),\n _vm._v(\" \"),\n _vm._m(27),\n _vm._v(\" \"),\n _vm._m(28),\n _vm._v(\" \"),\n _vm._m(29),\n _vm._v(\" \"),\n _vm._m(30),\n _vm._v(\" \"),\n _vm._m(31),\n _vm._v(\" \"),\n _vm._m(32),\n _vm._v(\" \"),\n _vm._m(33),\n _vm._v(\" \"),\n _vm._m(34),\n _vm._v(\" \"),\n _vm._m(35),\n _vm._v(\" \"),\n _vm._m(36),\n _vm._v(\" \"),\n _vm._m(37),\n _vm._v(\" \"),\n _vm._m(38),\n _vm._v(\" \"),\n _vm._m(39),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Some projects using tbox:\")]),\n _vm._v(\" \"),\n _c(\"ul\", [\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/gbox\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"gbox\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/vm86\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"vm86\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.xmake.io\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"xmake\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/itrace\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"itrace\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/tboox/tbox/wiki/tbox-projects\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"more\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm._m(40),\n _vm._v(\" \"),\n _c(\"ul\", [\n _vm._m(41),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Homepage:\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://www.tboox.org\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"tboox.org\"), _c(\"OutboundLink\")],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Community:\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://www.reddit.com/r/tboox/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n },\n [_vm._v(\"/r/tboox on reddit\"), _c(\"OutboundLink\")],\n 1\n )\n ])\n ])\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h1\", { attrs: { id: \"introduction\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#introduction\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Introduction\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Windows\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Macosx\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Linux\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Android\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"iOS\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Release: Disable debug information, assertion, memory checking and enable optimization.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Debug: Enable debug information, assertion, memory checking and disable optimization.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Small: Disable all extensional modules and enable space optimization.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Micro: compiling micro library (~64K) for the embed system.\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"features\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#features\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Features\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-stream-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-stream-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The stream library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Supports file, data, http and socket source\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports the stream filter for gzip, charset and...\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements stream transfer\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements the static buffer stream for parsing data\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Supports coroutine and implements asynchronous operation\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-coroutine-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-coroutine-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The coroutine library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-database-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-database-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The database library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Supports mysql and sqlite3 database and enumerates data using the iterator mode\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-xml-parser-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-xml-parser-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The xml parser library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Supports DOM and SAX mode and Supports xpath\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"h4\",\n { attrs: { id: \"the-serialization-and-deserialization-library\" } },\n [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: {\n href: \"#the-serialization-and-deserialization-library\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The serialization and deserialization library\")\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Supports xml, json, bplist, xplist, binary formats\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-memory-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-memory-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The memory library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Implements some memory pools for optimizing memory\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Supports fast memory error detecting. it can detect the following types of bugs for the debug mode:\\n\"\n ),\n _c(\"ul\", [\n _c(\"li\", [_vm._v(\"out-of-bounds accesses to heap and globals\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"use-after-free\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"double-free, invalid free\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"memory leaks\")])\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-container-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-container-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The container library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Implements hash table, single list, double list, vector, stack, queue\\nand min/max heap. Supports iterator mode for algorithm\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-algorithm-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-algorithm-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The algorithm library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Uses the iterator mode\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements find, binary find and reverse find algorithm\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Implements sort, bubble sort, quick sort, heap sort and insert sort algorithm\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Implements count, walk items, reverse walk items, for_all and rfor_all\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-network-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-network-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The network library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Implements dns(cached)\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements ssl(openssl, polarssl, mbedtls)\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements http\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements cookies\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports ipv4, ipv6\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports coroutine\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-platform-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-platform-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The platform library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Implements timer, fast and low precision timer\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements atomic and atomic64 operation\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Implements spinlock, mutex, event, semaphore, thread and thread pool\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements file, socket operation\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements poller using epoll, poll, select, kqueue ...\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements switch context interfaces for coroutine\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-charset-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-charset-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The charset library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Supports utf8, utf16, gbk, gb2312, uc2 and uc4\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports big endian and little endian mode\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-zip-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-zip-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The zip library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Supports gzip, zlibraw, zlib formats using the zlib library if exists\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements lzsw, lz77 and rlc algorithm\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-utils-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-utils-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The utils library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Implements base32, base64 encoder and decoder\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements assert and trace output for the debug mode\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements bits operation for parsing u8, u16, u32, u64 data\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-math-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-math-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The math library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Implements random generator\")]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Implements fast fixed-point calculation, Supports 6-bits, 16-bits, 30-bits fixed-point number\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-libc-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-libc-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The libc library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Implements lightweight libc library interfaces, the interface name contains \"\n ),\n _c(\"code\", [_vm._v(\"tb_xxx\")]),\n _vm._v(\" prefix for avoiding conflict\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements strixxx strrxxx wcsixxx wcsrxxx interface extension\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Optimizes some frequently-used interface, .e.g. memset, memcpy, strcpy ...\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\"Implements \"),\n _c(\"code\", [_vm._v(\"memset_u16\")]),\n _vm._v(\", \"),\n _c(\"code\", [_vm._v(\"memset_u32\")]),\n _vm._v(\", \"),\n _c(\"code\", [_vm._v(\"memset_u64\")]),\n _vm._v(\" extension interfaces\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-libm-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-libm-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The libm library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\n \"Implements lightweight libm library interfaces, the interface name contains \"\n ),\n _c(\"code\", [_vm._v(\"tb_xxx\")]),\n _vm._v(\" prefix for avoiding conflict\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports float and double type\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-regex-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-regex-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The regex library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [_vm._v(\"Supports match and replace\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Supports global/multiline/caseless mode\")]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Uses pcre, pcre2 and posix regex modules\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h4\", { attrs: { id: \"the-hash-library\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#the-hash-library\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" The hash library\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"ul\", [\n _c(\"li\", [\n _vm._v(\"Implements crc32, adler32, md5 and sha1 hash algorithm\")\n ]),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(\n \"Implements some string hash algorithms (.e.g bkdr, fnv32, fnv64, sdbm, djb2, rshash, aphash ...)\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"li\", [_vm._v(\"Implements uuid generator\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"projects\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#projects\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Projects\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", { attrs: { id: \"contacts\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#contacts\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"#\")]\n ),\n _vm._v(\" Contacts\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"li\", [\n _vm._v(\"Email:\"),\n _c(\"a\", { attrs: { href: \"mailto:waruqi@gmail.com\" } }, [\n _vm._v(\"waruqi@gmail.com\")\n ])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }"]}
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/commander/CHANGELOG.md b/node_modules/vuepress/node_modules/commander/CHANGELOG.md new file mode 100644 index 00000000..fd4f69c9 --- /dev/null +++ b/node_modules/vuepress/node_modules/commander/CHANGELOG.md @@ -0,0 +1,396 @@ + +2.19.0 / 2018-10-02 +================== + + * Removed newline after Options and Commands headers (#864) + * Bugfix - Error output (#862) + * Fix to change default value to string (#856) + +2.18.0 / 2018-09-07 +================== + + * Standardize help output (#853) + * chmod 644 travis.yml (#851) + * add support for execute typescript subcommand via ts-node (#849) + +2.17.1 / 2018-08-07 +================== + + * Fix bug in command emit (#844) + +2.17.0 / 2018-08-03 +================== + + * fixed newline output after help information (#833) + * Fix to emit the action even without command (#778) + * npm update (#823) + +2.16.0 / 2018-06-29 +================== + + * Remove Makefile and `test/run` (#821) + * Make 'npm test' run on Windows (#820) + * Add badge to display install size (#807) + * chore: cache node_modules (#814) + * chore: remove Node.js 4 (EOL), add Node.js 10 (#813) + * fixed typo in readme (#812) + * Fix types (#804) + * Update eslint to resolve vulnerabilities in lodash (#799) + * updated readme with custom event listeners. (#791) + * fix tests (#794) + +2.15.0 / 2018-03-07 +================== + + * Update downloads badge to point to graph of downloads over time instead of duplicating link to npm + * Arguments description + +2.14.1 / 2018-02-07 +================== + + * Fix typing of help function + +2.14.0 / 2018-02-05 +================== + + * only register the option:version event once + * Fixes issue #727: Passing empty string for option on command is set to undefined + * enable eqeqeq rule + * resolves #754 add linter configuration to project + * resolves #560 respect custom name for version option + * document how to override the version flag + * document using options per command + +2.13.0 / 2018-01-09 +================== + + * Do not print default for --no- + * remove trailing spaces in command help + * Update CI's Node.js to LTS and latest version + * typedefs: Command and Option types added to commander namespace + +2.12.2 / 2017-11-28 +================== + + * fix: typings are not shipped + +2.12.1 / 2017-11-23 +================== + + * Move @types/node to dev dependency + +2.12.0 / 2017-11-22 +================== + + * add attributeName() method to Option objects + * Documentation updated for options with --no prefix + * typings: `outputHelp` takes a string as the first parameter + * typings: use overloads + * feat(typings): update to match js api + * Print default value in option help + * Fix translation error + * Fail when using same command and alias (#491) + * feat(typings): add help callback + * fix bug when description is add after command with options (#662) + * Format js code + * Rename History.md to CHANGELOG.md (#668) + * feat(typings): add typings to support TypeScript (#646) + * use current node + +2.11.0 / 2017-07-03 +================== + + * Fix help section order and padding (#652) + * feature: support for signals to subcommands (#632) + * Fixed #37, --help should not display first (#447) + * Fix translation errors. (#570) + * Add package-lock.json + * Remove engines + * Upgrade package version + * Prefix events to prevent conflicts between commands and options (#494) + * Removing dependency on graceful-readlink + * Support setting name in #name function and make it chainable + * Add .vscode directory to .gitignore (Visual Studio Code metadata) + * Updated link to ruby commander in readme files + +2.10.0 / 2017-06-19 +================== + + * Update .travis.yml. drop support for older node.js versions. + * Fix require arguments in README.md + * On SemVer you do not start from 0.0.1 + * Add missing semi colon in readme + * Add save param to npm install + * node v6 travis test + * Update Readme_zh-CN.md + * Allow literal '--' to be passed-through as an argument + * Test subcommand alias help + * link build badge to master branch + * Support the alias of Git style sub-command + * added keyword commander for better search result on npm + * Fix Sub-Subcommands + * test node.js stable + * Fixes TypeError when a command has an option called `--description` + * Update README.md to make it beginner friendly and elaborate on the difference between angled and square brackets. + * Add chinese Readme file + +2.9.0 / 2015-10-13 +================== + + * Add option `isDefault` to set default subcommand #415 @Qix- + * Add callback to allow filtering or post-processing of help text #434 @djulien + * Fix `undefined` text in help information close #414 #416 @zhiyelee + +2.8.1 / 2015-04-22 +================== + + * Back out `support multiline description` Close #396 #397 + +2.8.0 / 2015-04-07 +================== + + * Add `process.execArg` support, execution args like `--harmony` will be passed to sub-commands #387 @DigitalIO @zhiyelee + * Fix bug in Git-style sub-commands #372 @zhiyelee + * Allow commands to be hidden from help #383 @tonylukasavage + * When git-style sub-commands are in use, yet none are called, display help #382 @claylo + * Add ability to specify arguments syntax for top-level command #258 @rrthomas + * Support multiline descriptions #208 @zxqfox + +2.7.1 / 2015-03-11 +================== + + * Revert #347 (fix collisions when option and first arg have same name) which causes a bug in #367. + +2.7.0 / 2015-03-09 +================== + + * Fix git-style bug when installed globally. Close #335 #349 @zhiyelee + * Fix collisions when option and first arg have same name. Close #346 #347 @tonylukasavage + * Add support for camelCase on `opts()`. Close #353 @nkzawa + * Add node.js 0.12 and io.js to travis.yml + * Allow RegEx options. #337 @palanik + * Fixes exit code when sub-command failing. Close #260 #332 @pirelenito + * git-style `bin` files in $PATH make sense. Close #196 #327 @zhiyelee + +2.6.0 / 2014-12-30 +================== + + * added `Command#allowUnknownOption` method. Close #138 #318 @doozr @zhiyelee + * Add application description to the help msg. Close #112 @dalssoft + +2.5.1 / 2014-12-15 +================== + + * fixed two bugs incurred by variadic arguments. Close #291 @Quentin01 #302 @zhiyelee + +2.5.0 / 2014-10-24 +================== + + * add support for variadic arguments. Closes #277 @whitlockjc + +2.4.0 / 2014-10-17 +================== + + * fixed a bug on executing the coercion function of subcommands option. Closes #270 + * added `Command.prototype.name` to retrieve command name. Closes #264 #266 @tonylukasavage + * added `Command.prototype.opts` to retrieve all the options as a simple object of key-value pairs. Closes #262 @tonylukasavage + * fixed a bug on subcommand name. Closes #248 @jonathandelgado + * fixed function normalize doesn’t honor option terminator. Closes #216 @abbr + +2.3.0 / 2014-07-16 +================== + + * add command alias'. Closes PR #210 + * fix: Typos. Closes #99 + * fix: Unused fs module. Closes #217 + +2.2.0 / 2014-03-29 +================== + + * add passing of previous option value + * fix: support subcommands on windows. Closes #142 + * Now the defaultValue passed as the second argument of the coercion function. + +2.1.0 / 2013-11-21 +================== + + * add: allow cflag style option params, unit test, fixes #174 + +2.0.0 / 2013-07-18 +================== + + * remove input methods (.prompt, .confirm, etc) + +1.3.2 / 2013-07-18 +================== + + * add support for sub-commands to co-exist with the original command + +1.3.1 / 2013-07-18 +================== + + * add quick .runningCommand hack so you can opt-out of other logic when running a sub command + +1.3.0 / 2013-07-09 +================== + + * add EACCES error handling + * fix sub-command --help + +1.2.0 / 2013-06-13 +================== + + * allow "-" hyphen as an option argument + * support for RegExp coercion + +1.1.1 / 2012-11-20 +================== + + * add more sub-command padding + * fix .usage() when args are present. Closes #106 + +1.1.0 / 2012-11-16 +================== + + * add git-style executable subcommand support. Closes #94 + +1.0.5 / 2012-10-09 +================== + + * fix `--name` clobbering. Closes #92 + * fix examples/help. Closes #89 + +1.0.4 / 2012-09-03 +================== + + * add `outputHelp()` method. + +1.0.3 / 2012-08-30 +================== + + * remove invalid .version() defaulting + +1.0.2 / 2012-08-24 +================== + + * add `--foo=bar` support [arv] + * fix password on node 0.8.8. Make backward compatible with 0.6 [focusaurus] + +1.0.1 / 2012-08-03 +================== + + * fix issue #56 + * fix tty.setRawMode(mode) was moved to tty.ReadStream#setRawMode() (i.e. process.stdin.setRawMode()) + +1.0.0 / 2012-07-05 +================== + + * add support for optional option descriptions + * add defaulting of `.version()` to package.json's version + +0.6.1 / 2012-06-01 +================== + + * Added: append (yes or no) on confirmation + * Added: allow node.js v0.7.x + +0.6.0 / 2012-04-10 +================== + + * Added `.prompt(obj, callback)` support. Closes #49 + * Added default support to .choose(). Closes #41 + * Fixed the choice example + +0.5.1 / 2011-12-20 +================== + + * Fixed `password()` for recent nodes. Closes #36 + +0.5.0 / 2011-12-04 +================== + + * Added sub-command option support [itay] + +0.4.3 / 2011-12-04 +================== + + * Fixed custom help ordering. Closes #32 + +0.4.2 / 2011-11-24 +================== + + * Added travis support + * Fixed: line-buffered input automatically trimmed. Closes #31 + +0.4.1 / 2011-11-18 +================== + + * Removed listening for "close" on --help + +0.4.0 / 2011-11-15 +================== + + * Added support for `--`. Closes #24 + +0.3.3 / 2011-11-14 +================== + + * Fixed: wait for close event when writing help info [Jerry Hamlet] + +0.3.2 / 2011-11-01 +================== + + * Fixed long flag definitions with values [felixge] + +0.3.1 / 2011-10-31 +================== + + * Changed `--version` short flag to `-V` from `-v` + * Changed `.version()` so it's configurable [felixge] + +0.3.0 / 2011-10-31 +================== + + * Added support for long flags only. Closes #18 + +0.2.1 / 2011-10-24 +================== + + * "node": ">= 0.4.x < 0.7.0". Closes #20 + +0.2.0 / 2011-09-26 +================== + + * Allow for defaults that are not just boolean. Default peassignment only occurs for --no-*, optional, and required arguments. [Jim Isaacs] + +0.1.0 / 2011-08-24 +================== + + * Added support for custom `--help` output + +0.0.5 / 2011-08-18 +================== + + * Changed: when the user enters nothing prompt for password again + * Fixed issue with passwords beginning with numbers [NuckChorris] + +0.0.4 / 2011-08-15 +================== + + * Fixed `Commander#args` + +0.0.3 / 2011-08-15 +================== + + * Added default option value support + +0.0.2 / 2011-08-15 +================== + + * Added mask support to `Command#password(str[, mask], fn)` + * Added `Command#password(str, fn)` + +0.0.1 / 2010-01-03 +================== + + * Initial release diff --git a/node_modules/vuepress/node_modules/commander/LICENSE b/node_modules/vuepress/node_modules/commander/LICENSE new file mode 100644 index 00000000..10f997ab --- /dev/null +++ b/node_modules/vuepress/node_modules/commander/LICENSE @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2011 TJ Holowaychuk <tj@vision-media.ca> + +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. diff --git a/node_modules/vuepress/node_modules/commander/Readme.md b/node_modules/vuepress/node_modules/commander/Readme.md new file mode 100644 index 00000000..a2a15473 --- /dev/null +++ b/node_modules/vuepress/node_modules/commander/Readme.md @@ -0,0 +1,417 @@ +# Commander.js + + +[](http://travis-ci.org/tj/commander.js) +[](https://www.npmjs.org/package/commander) +[](https://npmcharts.com/compare/commander?minimal=true) +[](https://packagephobia.now.sh/result?p=commander) +[](https://gitter.im/tj/commander.js?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) + + The complete solution for [node.js](http://nodejs.org) command-line interfaces, inspired by Ruby's [commander](https://github.com/commander-rb/commander). + [API documentation](http://tj.github.com/commander.js/) + + +## Installation + + $ npm install commander --save + +## Option parsing + +Options with commander are defined with the `.option()` method, also serving as documentation for the options. The example below parses args and options from `process.argv`, leaving remaining args as the `program.args` array which were not consumed by options. + +```js +#!/usr/bin/env node + +/** + * Module dependencies. + */ + +var program = require('commander'); + +program + .version('0.1.0') + .option('-p, --peppers', 'Add peppers') + .option('-P, --pineapple', 'Add pineapple') + .option('-b, --bbq-sauce', 'Add bbq sauce') + .option('-c, --cheese [type]', 'Add the specified type of cheese [marble]', 'marble') + .parse(process.argv); + +console.log('you ordered a pizza with:'); +if (program.peppers) console.log(' - peppers'); +if (program.pineapple) console.log(' - pineapple'); +if (program.bbqSauce) console.log(' - bbq'); +console.log(' - %s cheese', program.cheese); +``` + +Short flags may be passed as a single arg, for example `-abc` is equivalent to `-a -b -c`. Multi-word options such as "--template-engine" are camel-cased, becoming `program.templateEngine` etc. + +Note that multi-word options starting with `--no` prefix negate the boolean value of the following word. For example, `--no-sauce` sets the value of `program.sauce` to false. + +```js +#!/usr/bin/env node + +/** + * Module dependencies. + */ + +var program = require('commander'); + +program + .option('--no-sauce', 'Remove sauce') + .parse(process.argv); + +console.log('you ordered a pizza'); +if (program.sauce) console.log(' with sauce'); +else console.log(' without sauce'); +``` + +## Version option + +Calling the `version` implicitly adds the `-V` and `--version` options to the command. +When either of these options is present, the command prints the version number and exits. + + $ ./examples/pizza -V + 0.0.1 + +If you want your program to respond to the `-v` option instead of the `-V` option, simply pass custom flags to the `version` method using the same syntax as the `option` method. + +```js +program + .version('0.0.1', '-v, --version') +``` + +The version flags can be named anything, but the long option is required. + +## Command-specific options + +You can attach options to a command. + +```js +#!/usr/bin/env node + +var program = require('commander'); + +program + .command('rm <dir>') + .option('-r, --recursive', 'Remove recursively') + .action(function (dir, cmd) { + console.log('remove ' + dir + (cmd.recursive ? ' recursively' : '')) + }) + +program.parse(process.argv) +``` + +A command's options are validated when the command is used. Any unknown options will be reported as an error. However, if an action-based command does not define an action, then the options are not validated. + +## Coercion + +```js +function range(val) { + return val.split('..').map(Number); +} + +function list(val) { + return val.split(','); +} + +function collect(val, memo) { + memo.push(val); + return memo; +} + +function increaseVerbosity(v, total) { + return total + 1; +} + +program + .version('0.1.0') + .usage('[options] <file ...>') + .option('-i, --integer <n>', 'An integer argument', parseInt) + .option('-f, --float <n>', 'A float argument', parseFloat) + .option('-r, --range <a>..<b>', 'A range', range) + .option('-l, --list <items>', 'A list', list) + .option('-o, --optional [value]', 'An optional value') + .option('-c, --collect [value]', 'A repeatable value', collect, []) + .option('-v, --verbose', 'A value that can be increased', increaseVerbosity, 0) + .parse(process.argv); + +console.log(' int: %j', program.integer); +console.log(' float: %j', program.float); +console.log(' optional: %j', program.optional); +program.range = program.range || []; +console.log(' range: %j..%j', program.range[0], program.range[1]); +console.log(' list: %j', program.list); +console.log(' collect: %j', program.collect); +console.log(' verbosity: %j', program.verbose); +console.log(' args: %j', program.args); +``` + +## Regular Expression +```js +program + .version('0.1.0') + .option('-s --size <size>', 'Pizza size', /^(large|medium|small)$/i, 'medium') + .option('-d --drink [drink]', 'Drink', /^(coke|pepsi|izze)$/i) + .parse(process.argv); + +console.log(' size: %j', program.size); +console.log(' drink: %j', program.drink); +``` + +## Variadic arguments + + The last argument of a command can be variadic, and only the last argument. To make an argument variadic you have to + append `...` to the argument name. Here is an example: + +```js +#!/usr/bin/env node + +/** + * Module dependencies. + */ + +var program = require('commander'); + +program + .version('0.1.0') + .command('rmdir <dir> [otherDirs...]') + .action(function (dir, otherDirs) { + console.log('rmdir %s', dir); + if (otherDirs) { + otherDirs.forEach(function (oDir) { + console.log('rmdir %s', oDir); + }); + } + }); + +program.parse(process.argv); +``` + + An `Array` is used for the value of a variadic argument. This applies to `program.args` as well as the argument passed + to your action as demonstrated above. + +## Specify the argument syntax + +```js +#!/usr/bin/env node + +var program = require('commander'); + +program + .version('0.1.0') + .arguments('<cmd> [env]') + .action(function (cmd, env) { + cmdValue = cmd; + envValue = env; + }); + +program.parse(process.argv); + +if (typeof cmdValue === 'undefined') { + console.error('no command given!'); + process.exit(1); +} +console.log('command:', cmdValue); +console.log('environment:', envValue || "no environment given"); +``` +Angled brackets (e.g. `<cmd>`) indicate required input. Square brackets (e.g. `[env]`) indicate optional input. + +## Git-style sub-commands + +```js +// file: ./examples/pm +var program = require('commander'); + +program + .version('0.1.0') + .command('install [name]', 'install one or more packages') + .command('search [query]', 'search with optional query') + .command('list', 'list packages installed', {isDefault: true}) + .parse(process.argv); +``` + +When `.command()` is invoked with a description argument, no `.action(callback)` should be called to handle sub-commands, otherwise there will be an error. This tells commander that you're going to use separate executables for sub-commands, much like `git(1)` and other popular tools. +The commander will try to search the executables in the directory of the entry script (like `./examples/pm`) with the name `program-command`, like `pm-install`, `pm-search`. + +Options can be passed with the call to `.command()`. Specifying `true` for `opts.noHelp` will remove the subcommand from the generated help output. Specifying `true` for `opts.isDefault` will run the subcommand if no other subcommand is specified. + +If the program is designed to be installed globally, make sure the executables have proper modes, like `755`. + +### `--harmony` + +You can enable `--harmony` option in two ways: +* Use `#! /usr/bin/env node --harmony` in the sub-commands scripts. Note some os version don’t support this pattern. +* Use the `--harmony` option when call the command, like `node --harmony examples/pm publish`. The `--harmony` option will be preserved when spawning sub-command process. + +## Automated --help + + The help information is auto-generated based on the information commander already knows about your program, so the following `--help` info is for free: + +``` +$ ./examples/pizza --help +Usage: pizza [options] + +An application for pizzas ordering + +Options: + -h, --help output usage information + -V, --version output the version number + -p, --peppers Add peppers + -P, --pineapple Add pineapple + -b, --bbq Add bbq sauce + -c, --cheese <type> Add the specified type of cheese [marble] + -C, --no-cheese You do not want any cheese +``` + +## Custom help + + You can display arbitrary `-h, --help` information + by listening for "--help". Commander will automatically + exit once you are done so that the remainder of your program + does not execute causing undesired behaviors, for example + in the following executable "stuff" will not output when + `--help` is used. + +```js +#!/usr/bin/env node + +/** + * Module dependencies. + */ + +var program = require('commander'); + +program + .version('0.1.0') + .option('-f, --foo', 'enable some foo') + .option('-b, --bar', 'enable some bar') + .option('-B, --baz', 'enable some baz'); + +// must be before .parse() since +// node's emit() is immediate + +program.on('--help', function(){ + console.log('') + console.log('Examples:'); + console.log(' $ custom-help --help'); + console.log(' $ custom-help -h'); +}); + +program.parse(process.argv); + +console.log('stuff'); +``` + +Yields the following help output when `node script-name.js -h` or `node script-name.js --help` are run: + +``` +Usage: custom-help [options] + +Options: + -h, --help output usage information + -V, --version output the version number + -f, --foo enable some foo + -b, --bar enable some bar + -B, --baz enable some baz + +Examples: + $ custom-help --help + $ custom-help -h +``` + +## .outputHelp(cb) + +Output help information without exiting. +Optional callback cb allows post-processing of help text before it is displayed. + +If you want to display help by default (e.g. if no command was provided), you can use something like: + +```js +var program = require('commander'); +var colors = require('colors'); + +program + .version('0.1.0') + .command('getstream [url]', 'get stream URL') + .parse(process.argv); + +if (!process.argv.slice(2).length) { + program.outputHelp(make_red); +} + +function make_red(txt) { + return colors.red(txt); //display the help text in red on the console +} +``` + +## .help(cb) + + Output help information and exit immediately. + Optional callback cb allows post-processing of help text before it is displayed. + + +## Custom event listeners + You can execute custom actions by listening to command and option events. + +```js +program.on('option:verbose', function () { + process.env.VERBOSE = this.verbose; +}); + +// error on unknown commands +program.on('command:*', function () { + console.error('Invalid command: %s\nSee --help for a list of available commands.', program.args.join(' ')); + process.exit(1); +}); +``` + +## Examples + +```js +var program = require('commander'); + +program + .version('0.1.0') + .option('-C, --chdir <path>', 'change the working directory') + .option('-c, --config <path>', 'set config path. defaults to ./deploy.conf') + .option('-T, --no-tests', 'ignore test hook'); + +program + .command('setup [env]') + .description('run setup commands for all envs') + .option("-s, --setup_mode [mode]", "Which setup mode to use") + .action(function(env, options){ + var mode = options.setup_mode || "normal"; + env = env || 'all'; + console.log('setup for %s env(s) with %s mode', env, mode); + }); + +program + .command('exec <cmd>') + .alias('ex') + .description('execute the given remote cmd') + .option("-e, --exec_mode <mode>", "Which exec mode to use") + .action(function(cmd, options){ + console.log('exec "%s" using %s mode', cmd, options.exec_mode); + }).on('--help', function() { + console.log(''); + console.log('Examples:'); + console.log(''); + console.log(' $ deploy exec sequential'); + console.log(' $ deploy exec async'); + }); + +program + .command('*') + .action(function(env){ + console.log('deploying "%s"', env); + }); + +program.parse(process.argv); +``` + +More Demos can be found in the [examples](https://github.com/tj/commander.js/tree/master/examples) directory. + +## License + +MIT diff --git a/node_modules/vuepress/node_modules/commander/index.js b/node_modules/vuepress/node_modules/commander/index.js new file mode 100644 index 00000000..bf039c90 --- /dev/null +++ b/node_modules/vuepress/node_modules/commander/index.js @@ -0,0 +1,1227 @@ +/** + * Module dependencies. + */ + +var EventEmitter = require('events').EventEmitter; +var spawn = require('child_process').spawn; +var path = require('path'); +var dirname = path.dirname; +var basename = path.basename; +var fs = require('fs'); + +/** + * Inherit `Command` from `EventEmitter.prototype`. + */ + +require('util').inherits(Command, EventEmitter); + +/** + * Expose the root command. + */ + +exports = module.exports = new Command(); + +/** + * Expose `Command`. + */ + +exports.Command = Command; + +/** + * Expose `Option`. + */ + +exports.Option = Option; + +/** + * Initialize a new `Option` with the given `flags` and `description`. + * + * @param {String} flags + * @param {String} description + * @api public + */ + +function Option(flags, description) { + this.flags = flags; + this.required = flags.indexOf('<') >= 0; + this.optional = flags.indexOf('[') >= 0; + this.bool = flags.indexOf('-no-') === -1; + flags = flags.split(/[ ,|]+/); + if (flags.length > 1 && !/^[[<]/.test(flags[1])) this.short = flags.shift(); + this.long = flags.shift(); + this.description = description || ''; +} + +/** + * Return option name. + * + * @return {String} + * @api private + */ + +Option.prototype.name = function() { + return this.long + .replace('--', '') + .replace('no-', ''); +}; + +/** + * Return option name, in a camelcase format that can be used + * as a object attribute key. + * + * @return {String} + * @api private + */ + +Option.prototype.attributeName = function() { + return camelcase(this.name()); +}; + +/** + * Check if `arg` matches the short or long flag. + * + * @param {String} arg + * @return {Boolean} + * @api private + */ + +Option.prototype.is = function(arg) { + return this.short === arg || this.long === arg; +}; + +/** + * Initialize a new `Command`. + * + * @param {String} name + * @api public + */ + +function Command(name) { + this.commands = []; + this.options = []; + this._execs = {}; + this._allowUnknownOption = false; + this._args = []; + this._name = name || ''; +} + +/** + * Add command `name`. + * + * The `.action()` callback is invoked when the + * command `name` is specified via __ARGV__, + * and the remaining arguments are applied to the + * function for access. + * + * When the `name` is "*" an un-matched command + * will be passed as the first arg, followed by + * the rest of __ARGV__ remaining. + * + * Examples: + * + * program + * .version('0.0.1') + * .option('-C, --chdir <path>', 'change the working directory') + * .option('-c, --config <path>', 'set config path. defaults to ./deploy.conf') + * .option('-T, --no-tests', 'ignore test hook') + * + * program + * .command('setup') + * .description('run remote setup commands') + * .action(function() { + * console.log('setup'); + * }); + * + * program + * .command('exec <cmd>') + * .description('run the given remote command') + * .action(function(cmd) { + * console.log('exec "%s"', cmd); + * }); + * + * program + * .command('teardown <dir> [otherDirs...]') + * .description('run teardown commands') + * .action(function(dir, otherDirs) { + * console.log('dir "%s"', dir); + * if (otherDirs) { + * otherDirs.forEach(function (oDir) { + * console.log('dir "%s"', oDir); + * }); + * } + * }); + * + * program + * .command('*') + * .description('deploy the given env') + * .action(function(env) { + * console.log('deploying "%s"', env); + * }); + * + * program.parse(process.argv); + * + * @param {String} name + * @param {String} [desc] for git-style sub-commands + * @return {Command} the new command + * @api public + */ + +Command.prototype.command = function(name, desc, opts) { + if (typeof desc === 'object' && desc !== null) { + opts = desc; + desc = null; + } + opts = opts || {}; + var args = name.split(/ +/); + var cmd = new Command(args.shift()); + + if (desc) { + cmd.description(desc); + this.executables = true; + this._execs[cmd._name] = true; + if (opts.isDefault) this.defaultExecutable = cmd._name; + } + cmd._noHelp = !!opts.noHelp; + this.commands.push(cmd); + cmd.parseExpectedArgs(args); + cmd.parent = this; + + if (desc) return this; + return cmd; +}; + +/** + * Define argument syntax for the top-level command. + * + * @api public + */ + +Command.prototype.arguments = function(desc) { + return this.parseExpectedArgs(desc.split(/ +/)); +}; + +/** + * Add an implicit `help [cmd]` subcommand + * which invokes `--help` for the given command. + * + * @api private + */ + +Command.prototype.addImplicitHelpCommand = function() { + this.command('help [cmd]', 'display help for [cmd]'); +}; + +/** + * Parse expected `args`. + * + * For example `["[type]"]` becomes `[{ required: false, name: 'type' }]`. + * + * @param {Array} args + * @return {Command} for chaining + * @api public + */ + +Command.prototype.parseExpectedArgs = function(args) { + if (!args.length) return; + var self = this; + args.forEach(function(arg) { + var argDetails = { + required: false, + name: '', + variadic: false + }; + + switch (arg[0]) { + case '<': + argDetails.required = true; + argDetails.name = arg.slice(1, -1); + break; + case '[': + argDetails.name = arg.slice(1, -1); + break; + } + + if (argDetails.name.length > 3 && argDetails.name.slice(-3) === '...') { + argDetails.variadic = true; + argDetails.name = argDetails.name.slice(0, -3); + } + if (argDetails.name) { + self._args.push(argDetails); + } + }); + return this; +}; + +/** + * Register callback `fn` for the command. + * + * Examples: + * + * program + * .command('help') + * .description('display verbose help') + * .action(function() { + * // output help here + * }); + * + * @param {Function} fn + * @return {Command} for chaining + * @api public + */ + +Command.prototype.action = function(fn) { + var self = this; + var listener = function(args, unknown) { + // Parse any so-far unknown options + args = args || []; + unknown = unknown || []; + + var parsed = self.parseOptions(unknown); + + // Output help if necessary + outputHelpIfNecessary(self, parsed.unknown); + + // If there are still any unknown options, then we simply + // die, unless someone asked for help, in which case we give it + // to them, and then we die. + if (parsed.unknown.length > 0) { + self.unknownOption(parsed.unknown[0]); + } + + // Leftover arguments need to be pushed back. Fixes issue #56 + if (parsed.args.length) args = parsed.args.concat(args); + + self._args.forEach(function(arg, i) { + if (arg.required && args[i] == null) { + self.missingArgument(arg.name); + } else if (arg.variadic) { + if (i !== self._args.length - 1) { + self.variadicArgNotLast(arg.name); + } + + args[i] = args.splice(i); + } + }); + + // Always append ourselves to the end of the arguments, + // to make sure we match the number of arguments the user + // expects + if (self._args.length) { + args[self._args.length] = self; + } else { + args.push(self); + } + + fn.apply(self, args); + }; + var parent = this.parent || this; + var name = parent === this ? '*' : this._name; + parent.on('command:' + name, listener); + if (this._alias) parent.on('command:' + this._alias, listener); + return this; +}; + +/** + * Define option with `flags`, `description` and optional + * coercion `fn`. + * + * The `flags` string should contain both the short and long flags, + * separated by comma, a pipe or space. The following are all valid + * all will output this way when `--help` is used. + * + * "-p, --pepper" + * "-p|--pepper" + * "-p --pepper" + * + * Examples: + * + * // simple boolean defaulting to false + * program.option('-p, --pepper', 'add pepper'); + * + * --pepper + * program.pepper + * // => Boolean + * + * // simple boolean defaulting to true + * program.option('-C, --no-cheese', 'remove cheese'); + * + * program.cheese + * // => true + * + * --no-cheese + * program.cheese + * // => false + * + * // required argument + * program.option('-C, --chdir <path>', 'change the working directory'); + * + * --chdir /tmp + * program.chdir + * // => "/tmp" + * + * // optional argument + * program.option('-c, --cheese [type]', 'add cheese [marble]'); + * + * @param {String} flags + * @param {String} description + * @param {Function|*} [fn] or default + * @param {*} [defaultValue] + * @return {Command} for chaining + * @api public + */ + +Command.prototype.option = function(flags, description, fn, defaultValue) { + var self = this, + option = new Option(flags, description), + oname = option.name(), + name = option.attributeName(); + + // default as 3rd arg + if (typeof fn !== 'function') { + if (fn instanceof RegExp) { + var regex = fn; + fn = function(val, def) { + var m = regex.exec(val); + return m ? m[0] : def; + }; + } else { + defaultValue = fn; + fn = null; + } + } + + // preassign default value only for --no-*, [optional], or <required> + if (!option.bool || option.optional || option.required) { + // when --no-* we make sure default is true + if (!option.bool) defaultValue = true; + // preassign only if we have a default + if (defaultValue !== undefined) { + self[name] = defaultValue; + option.defaultValue = defaultValue; + } + } + + // register the option + this.options.push(option); + + // when it's passed assign the value + // and conditionally invoke the callback + this.on('option:' + oname, function(val) { + // coercion + if (val !== null && fn) { + val = fn(val, self[name] === undefined ? defaultValue : self[name]); + } + + // unassigned or bool + if (typeof self[name] === 'boolean' || typeof self[name] === 'undefined') { + // if no value, bool true, and we have a default, then use it! + if (val == null) { + self[name] = option.bool + ? defaultValue || true + : false; + } else { + self[name] = val; + } + } else if (val !== null) { + // reassign + self[name] = val; + } + }); + + return this; +}; + +/** + * Allow unknown options on the command line. + * + * @param {Boolean} arg if `true` or omitted, no error will be thrown + * for unknown options. + * @api public + */ +Command.prototype.allowUnknownOption = function(arg) { + this._allowUnknownOption = arguments.length === 0 || arg; + return this; +}; + +/** + * Parse `argv`, settings options and invoking commands when defined. + * + * @param {Array} argv + * @return {Command} for chaining + * @api public + */ + +Command.prototype.parse = function(argv) { + // implicit help + if (this.executables) this.addImplicitHelpCommand(); + + // store raw args + this.rawArgs = argv; + + // guess name + this._name = this._name || basename(argv[1], '.js'); + + // github-style sub-commands with no sub-command + if (this.executables && argv.length < 3 && !this.defaultExecutable) { + // this user needs help + argv.push('--help'); + } + + // process argv + var parsed = this.parseOptions(this.normalize(argv.slice(2))); + var args = this.args = parsed.args; + + var result = this.parseArgs(this.args, parsed.unknown); + + // executable sub-commands + var name = result.args[0]; + + var aliasCommand = null; + // check alias of sub commands + if (name) { + aliasCommand = this.commands.filter(function(command) { + return command.alias() === name; + })[0]; + } + + if (this._execs[name] && typeof this._execs[name] !== 'function') { + return this.executeSubCommand(argv, args, parsed.unknown); + } else if (aliasCommand) { + // is alias of a subCommand + args[0] = aliasCommand._name; + return this.executeSubCommand(argv, args, parsed.unknown); + } else if (this.defaultExecutable) { + // use the default subcommand + args.unshift(this.defaultExecutable); + return this.executeSubCommand(argv, args, parsed.unknown); + } + + return result; +}; + +/** + * Execute a sub-command executable. + * + * @param {Array} argv + * @param {Array} args + * @param {Array} unknown + * @api private + */ + +Command.prototype.executeSubCommand = function(argv, args, unknown) { + args = args.concat(unknown); + + if (!args.length) this.help(); + if (args[0] === 'help' && args.length === 1) this.help(); + + // <cmd> --help + if (args[0] === 'help') { + args[0] = args[1]; + args[1] = '--help'; + } + + // executable + var f = argv[1]; + // name of the subcommand, link `pm-install` + var bin = basename(f, path.extname(f)) + '-' + args[0]; + + // In case of globally installed, get the base dir where executable + // subcommand file should be located at + var baseDir, + link = fs.lstatSync(f).isSymbolicLink() ? fs.readlinkSync(f) : f; + + // when symbolink is relative path + if (link !== f && link.charAt(0) !== '/') { + link = path.join(dirname(f), link); + } + baseDir = dirname(link); + + // prefer local `./<bin>` to bin in the $PATH + var localBin = path.join(baseDir, bin); + + // whether bin file is a js script with explicit `.js` or `.ts` extension + var isExplicitJS = false; + if (exists(localBin + '.js')) { + bin = localBin + '.js'; + isExplicitJS = true; + } else if (exists(localBin + '.ts')) { + bin = localBin + '.ts'; + isExplicitJS = true; + } else if (exists(localBin)) { + bin = localBin; + } + + args = args.slice(1); + + var proc; + if (process.platform !== 'win32') { + if (isExplicitJS) { + args.unshift(bin); + // add executable arguments to spawn + args = (process.execArgv || []).concat(args); + + proc = spawn(process.argv[0], args, { stdio: 'inherit', customFds: [0, 1, 2] }); + } else { + proc = spawn(bin, args, { stdio: 'inherit', customFds: [0, 1, 2] }); + } + } else { + args.unshift(bin); + proc = spawn(process.execPath, args, { stdio: 'inherit' }); + } + + var signals = ['SIGUSR1', 'SIGUSR2', 'SIGTERM', 'SIGINT', 'SIGHUP']; + signals.forEach(function(signal) { + process.on(signal, function() { + if (proc.killed === false && proc.exitCode === null) { + proc.kill(signal); + } + }); + }); + proc.on('close', process.exit.bind(process)); + proc.on('error', function(err) { + if (err.code === 'ENOENT') { + console.error('error: %s(1) does not exist, try --help', bin); + } else if (err.code === 'EACCES') { + console.error('error: %s(1) not executable. try chmod or run with root', bin); + } + process.exit(1); + }); + + // Store the reference to the child process + this.runningCommand = proc; +}; + +/** + * Normalize `args`, splitting joined short flags. For example + * the arg "-abc" is equivalent to "-a -b -c". + * This also normalizes equal sign and splits "--abc=def" into "--abc def". + * + * @param {Array} args + * @return {Array} + * @api private + */ + +Command.prototype.normalize = function(args) { + var ret = [], + arg, + lastOpt, + index; + + for (var i = 0, len = args.length; i < len; ++i) { + arg = args[i]; + if (i > 0) { + lastOpt = this.optionFor(args[i - 1]); + } + + if (arg === '--') { + // Honor option terminator + ret = ret.concat(args.slice(i)); + break; + } else if (lastOpt && lastOpt.required) { + ret.push(arg); + } else if (arg.length > 1 && arg[0] === '-' && arg[1] !== '-') { + arg.slice(1).split('').forEach(function(c) { + ret.push('-' + c); + }); + } else if (/^--/.test(arg) && ~(index = arg.indexOf('='))) { + ret.push(arg.slice(0, index), arg.slice(index + 1)); + } else { + ret.push(arg); + } + } + + return ret; +}; + +/** + * Parse command `args`. + * + * When listener(s) are available those + * callbacks are invoked, otherwise the "*" + * event is emitted and those actions are invoked. + * + * @param {Array} args + * @return {Command} for chaining + * @api private + */ + +Command.prototype.parseArgs = function(args, unknown) { + var name; + + if (args.length) { + name = args[0]; + if (this.listeners('command:' + name).length) { + this.emit('command:' + args.shift(), args, unknown); + } else { + this.emit('command:*', args); + } + } else { + outputHelpIfNecessary(this, unknown); + + // If there were no args and we have unknown options, + // then they are extraneous and we need to error. + if (unknown.length > 0) { + this.unknownOption(unknown[0]); + } + if (this.commands.length === 0 && + this._args.filter(function(a) { return a.required }).length === 0) { + this.emit('command:*'); + } + } + + return this; +}; + +/** + * Return an option matching `arg` if any. + * + * @param {String} arg + * @return {Option} + * @api private + */ + +Command.prototype.optionFor = function(arg) { + for (var i = 0, len = this.options.length; i < len; ++i) { + if (this.options[i].is(arg)) { + return this.options[i]; + } + } +}; + +/** + * Parse options from `argv` returning `argv` + * void of these options. + * + * @param {Array} argv + * @return {Array} + * @api public + */ + +Command.prototype.parseOptions = function(argv) { + var args = [], + len = argv.length, + literal, + option, + arg; + + var unknownOptions = []; + + // parse options + for (var i = 0; i < len; ++i) { + arg = argv[i]; + + // literal args after -- + if (literal) { + args.push(arg); + continue; + } + + if (arg === '--') { + literal = true; + continue; + } + + // find matching Option + option = this.optionFor(arg); + + // option is defined + if (option) { + // requires arg + if (option.required) { + arg = argv[++i]; + if (arg == null) return this.optionMissingArgument(option); + this.emit('option:' + option.name(), arg); + // optional arg + } else if (option.optional) { + arg = argv[i + 1]; + if (arg == null || (arg[0] === '-' && arg !== '-')) { + arg = null; + } else { + ++i; + } + this.emit('option:' + option.name(), arg); + // bool + } else { + this.emit('option:' + option.name()); + } + continue; + } + + // looks like an option + if (arg.length > 1 && arg[0] === '-') { + unknownOptions.push(arg); + + // If the next argument looks like it might be + // an argument for this option, we pass it on. + // If it isn't, then it'll simply be ignored + if ((i + 1) < argv.length && argv[i + 1][0] !== '-') { + unknownOptions.push(argv[++i]); + } + continue; + } + + // arg + args.push(arg); + } + + return { args: args, unknown: unknownOptions }; +}; + +/** + * Return an object containing options as key-value pairs + * + * @return {Object} + * @api public + */ +Command.prototype.opts = function() { + var result = {}, + len = this.options.length; + + for (var i = 0; i < len; i++) { + var key = this.options[i].attributeName(); + result[key] = key === this._versionOptionName ? this._version : this[key]; + } + return result; +}; + +/** + * Argument `name` is missing. + * + * @param {String} name + * @api private + */ + +Command.prototype.missingArgument = function(name) { + console.error("error: missing required argument `%s'", name); + process.exit(1); +}; + +/** + * `Option` is missing an argument, but received `flag` or nothing. + * + * @param {String} option + * @param {String} flag + * @api private + */ + +Command.prototype.optionMissingArgument = function(option, flag) { + if (flag) { + console.error("error: option `%s' argument missing, got `%s'", option.flags, flag); + } else { + console.error("error: option `%s' argument missing", option.flags); + } + process.exit(1); +}; + +/** + * Unknown option `flag`. + * + * @param {String} flag + * @api private + */ + +Command.prototype.unknownOption = function(flag) { + if (this._allowUnknownOption) return; + console.error("error: unknown option `%s'", flag); + process.exit(1); +}; + +/** + * Variadic argument with `name` is not the last argument as required. + * + * @param {String} name + * @api private + */ + +Command.prototype.variadicArgNotLast = function(name) { + console.error("error: variadic arguments must be last `%s'", name); + process.exit(1); +}; + +/** + * Set the program version to `str`. + * + * This method auto-registers the "-V, --version" flag + * which will print the version number when passed. + * + * @param {String} str + * @param {String} [flags] + * @return {Command} for chaining + * @api public + */ + +Command.prototype.version = function(str, flags) { + if (arguments.length === 0) return this._version; + this._version = str; + flags = flags || '-V, --version'; + var versionOption = new Option(flags, 'output the version number'); + this._versionOptionName = versionOption.long.substr(2) || 'version'; + this.options.push(versionOption); + this.on('option:' + this._versionOptionName, function() { + process.stdout.write(str + '\n'); + process.exit(0); + }); + return this; +}; + +/** + * Set the description to `str`. + * + * @param {String} str + * @param {Object} argsDescription + * @return {String|Command} + * @api public + */ + +Command.prototype.description = function(str, argsDescription) { + if (arguments.length === 0) return this._description; + this._description = str; + this._argsDescription = argsDescription; + return this; +}; + +/** + * Set an alias for the command + * + * @param {String} alias + * @return {String|Command} + * @api public + */ + +Command.prototype.alias = function(alias) { + var command = this; + if (this.commands.length !== 0) { + command = this.commands[this.commands.length - 1]; + } + + if (arguments.length === 0) return command._alias; + + if (alias === command._name) throw new Error('Command alias can\'t be the same as its name'); + + command._alias = alias; + return this; +}; + +/** + * Set / get the command usage `str`. + * + * @param {String} str + * @return {String|Command} + * @api public + */ + +Command.prototype.usage = function(str) { + var args = this._args.map(function(arg) { + return humanReadableArgName(arg); + }); + + var usage = '[options]' + + (this.commands.length ? ' [command]' : '') + + (this._args.length ? ' ' + args.join(' ') : ''); + + if (arguments.length === 0) return this._usage || usage; + this._usage = str; + + return this; +}; + +/** + * Get or set the name of the command + * + * @param {String} str + * @return {String|Command} + * @api public + */ + +Command.prototype.name = function(str) { + if (arguments.length === 0) return this._name; + this._name = str; + return this; +}; + +/** + * Return prepared commands. + * + * @return {Array} + * @api private + */ + +Command.prototype.prepareCommands = function() { + return this.commands.filter(function(cmd) { + return !cmd._noHelp; + }).map(function(cmd) { + var args = cmd._args.map(function(arg) { + return humanReadableArgName(arg); + }).join(' '); + + return [ + cmd._name + + (cmd._alias ? '|' + cmd._alias : '') + + (cmd.options.length ? ' [options]' : '') + + (args ? ' ' + args : ''), + cmd._description + ]; + }); +}; + +/** + * Return the largest command length. + * + * @return {Number} + * @api private + */ + +Command.prototype.largestCommandLength = function() { + var commands = this.prepareCommands(); + return commands.reduce(function(max, command) { + return Math.max(max, command[0].length); + }, 0); +}; + +/** + * Return the largest option length. + * + * @return {Number} + * @api private + */ + +Command.prototype.largestOptionLength = function() { + var options = [].slice.call(this.options); + options.push({ + flags: '-h, --help' + }); + return options.reduce(function(max, option) { + return Math.max(max, option.flags.length); + }, 0); +}; + +/** + * Return the largest arg length. + * + * @return {Number} + * @api private + */ + +Command.prototype.largestArgLength = function() { + return this._args.reduce(function(max, arg) { + return Math.max(max, arg.name.length); + }, 0); +}; + +/** + * Return the pad width. + * + * @return {Number} + * @api private + */ + +Command.prototype.padWidth = function() { + var width = this.largestOptionLength(); + if (this._argsDescription && this._args.length) { + if (this.largestArgLength() > width) { + width = this.largestArgLength(); + } + } + + if (this.commands && this.commands.length) { + if (this.largestCommandLength() > width) { + width = this.largestCommandLength(); + } + } + + return width; +}; + +/** + * Return help for options. + * + * @return {String} + * @api private + */ + +Command.prototype.optionHelp = function() { + var width = this.padWidth(); + + // Append the help information + return this.options.map(function(option) { + return pad(option.flags, width) + ' ' + option.description + + ((option.bool && option.defaultValue !== undefined) ? ' (default: ' + JSON.stringify(option.defaultValue) + ')' : ''); + }).concat([pad('-h, --help', width) + ' ' + 'output usage information']) + .join('\n'); +}; + +/** + * Return command help documentation. + * + * @return {String} + * @api private + */ + +Command.prototype.commandHelp = function() { + if (!this.commands.length) return ''; + + var commands = this.prepareCommands(); + var width = this.padWidth(); + + return [ + 'Commands:', + commands.map(function(cmd) { + var desc = cmd[1] ? ' ' + cmd[1] : ''; + return (desc ? pad(cmd[0], width) : cmd[0]) + desc; + }).join('\n').replace(/^/gm, ' '), + '' + ].join('\n'); +}; + +/** + * Return program help documentation. + * + * @return {String} + * @api private + */ + +Command.prototype.helpInformation = function() { + var desc = []; + if (this._description) { + desc = [ + this._description, + '' + ]; + + var argsDescription = this._argsDescription; + if (argsDescription && this._args.length) { + var width = this.padWidth(); + desc.push('Arguments:'); + desc.push(''); + this._args.forEach(function(arg) { + desc.push(' ' + pad(arg.name, width) + ' ' + argsDescription[arg.name]); + }); + desc.push(''); + } + } + + var cmdName = this._name; + if (this._alias) { + cmdName = cmdName + '|' + this._alias; + } + var usage = [ + 'Usage: ' + cmdName + ' ' + this.usage(), + '' + ]; + + var cmds = []; + var commandHelp = this.commandHelp(); + if (commandHelp) cmds = [commandHelp]; + + var options = [ + 'Options:', + '' + this.optionHelp().replace(/^/gm, ' '), + '' + ]; + + return usage + .concat(desc) + .concat(options) + .concat(cmds) + .join('\n'); +}; + +/** + * Output help information for this command + * + * @api public + */ + +Command.prototype.outputHelp = function(cb) { + if (!cb) { + cb = function(passthru) { + return passthru; + }; + } + process.stdout.write(cb(this.helpInformation())); + this.emit('--help'); +}; + +/** + * Output help information and exit. + * + * @api public + */ + +Command.prototype.help = function(cb) { + this.outputHelp(cb); + process.exit(); +}; + +/** + * Camel-case the given `flag` + * + * @param {String} flag + * @return {String} + * @api private + */ + +function camelcase(flag) { + return flag.split('-').reduce(function(str, word) { + return str + word[0].toUpperCase() + word.slice(1); + }); +} + +/** + * Pad `str` to `width`. + * + * @param {String} str + * @param {Number} width + * @return {String} + * @api private + */ + +function pad(str, width) { + var len = Math.max(0, width - str.length); + return str + Array(len + 1).join(' '); +} + +/** + * Output help information if necessary + * + * @param {Command} command to output help for + * @param {Array} array of options to search for -h or --help + * @api private + */ + +function outputHelpIfNecessary(cmd, options) { + options = options || []; + for (var i = 0; i < options.length; i++) { + if (options[i] === '--help' || options[i] === '-h') { + cmd.outputHelp(); + process.exit(0); + } + } +} + +/** + * Takes an argument an returns its human readable equivalent for help usage. + * + * @param {Object} arg + * @return {String} + * @api private + */ + +function humanReadableArgName(arg) { + var nameOutput = arg.name + (arg.variadic === true ? '...' : ''); + + return arg.required + ? '<' + nameOutput + '>' + : '[' + nameOutput + ']'; +} + +// for versions before node v0.8 when there weren't `fs.existsSync` +function exists(file) { + try { + if (fs.statSync(file).isFile()) { + return true; + } + } catch (e) { + return false; + } +} diff --git a/node_modules/vuepress/node_modules/commander/package.json b/node_modules/vuepress/node_modules/commander/package.json new file mode 100644 index 00000000..a6838429 --- /dev/null +++ b/node_modules/vuepress/node_modules/commander/package.json @@ -0,0 +1,38 @@ +{ + "name": "commander", + "version": "2.19.0", + "description": "the complete solution for node.js command-line programs", + "keywords": [ + "commander", + "command", + "option", + "parser" + ], + "author": "TJ Holowaychuk <tj@vision-media.ca>", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/tj/commander.js.git" + }, + "scripts": { + "lint": "eslint index.js", + "test": "node test/run.js && npm run test-typings", + "test-typings": "tsc -p tsconfig.json" + }, + "main": "index", + "files": [ + "index.js", + "typings/index.d.ts" + ], + "dependencies": {}, + "devDependencies": { + "@types/node": "^10.11.3", + "eslint": "^5.6.1", + "should": "^13.2.3", + "sinon": "^6.3.4", + "standard": "^12.0.1", + "ts-node": "^7.0.1", + "typescript": "^2.9.2" + }, + "typings": "typings/index.d.ts" +} diff --git a/node_modules/vuepress/node_modules/commander/typings/index.d.ts b/node_modules/vuepress/node_modules/commander/typings/index.d.ts new file mode 100644 index 00000000..312b056d --- /dev/null +++ b/node_modules/vuepress/node_modules/commander/typings/index.d.ts @@ -0,0 +1,309 @@ +// Type definitions for commander 2.11 +// Project: https://github.com/visionmedia/commander.js +// Definitions by: Alan Agius <https://github.com/alan-agius4>, Marcelo Dezem <https://github.com/mdezem>, vvakame <https://github.com/vvakame>, Jules Randolph <https://github.com/sveinburne> +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +declare namespace local { + + class Option { + flags: string; + required: boolean; + optional: boolean; + bool: boolean; + short?: string; + long: string; + description: string; + + /** + * Initialize a new `Option` with the given `flags` and `description`. + * + * @param {string} flags + * @param {string} [description] + */ + constructor(flags: string, description?: string); + } + + class Command extends NodeJS.EventEmitter { + [key: string]: any; + + args: string[]; + + /** + * Initialize a new `Command`. + * + * @param {string} [name] + */ + constructor(name?: string); + + /** + * Set the program version to `str`. + * + * This method auto-registers the "-V, --version" flag + * which will print the version number when passed. + * + * @param {string} str + * @param {string} [flags] + * @returns {Command} for chaining + */ + version(str: string, flags?: string): Command; + + /** + * Add command `name`. + * + * The `.action()` callback is invoked when the + * command `name` is specified via __ARGV__, + * and the remaining arguments are applied to the + * function for access. + * + * When the `name` is "*" an un-matched command + * will be passed as the first arg, followed by + * the rest of __ARGV__ remaining. + * + * @example + * program + * .version('0.0.1') + * .option('-C, --chdir <path>', 'change the working directory') + * .option('-c, --config <path>', 'set config path. defaults to ./deploy.conf') + * .option('-T, --no-tests', 'ignore test hook') + * + * program + * .command('setup') + * .description('run remote setup commands') + * .action(function() { + * console.log('setup'); + * }); + * + * program + * .command('exec <cmd>') + * .description('run the given remote command') + * .action(function(cmd) { + * console.log('exec "%s"', cmd); + * }); + * + * program + * .command('teardown <dir> [otherDirs...]') + * .description('run teardown commands') + * .action(function(dir, otherDirs) { + * console.log('dir "%s"', dir); + * if (otherDirs) { + * otherDirs.forEach(function (oDir) { + * console.log('dir "%s"', oDir); + * }); + * } + * }); + * + * program + * .command('*') + * .description('deploy the given env') + * .action(function(env) { + * console.log('deploying "%s"', env); + * }); + * + * program.parse(process.argv); + * + * @param {string} name + * @param {string} [desc] for git-style sub-commands + * @param {CommandOptions} [opts] command options + * @returns {Command} the new command + */ + command(name: string, desc?: string, opts?: commander.CommandOptions): Command; + + /** + * Define argument syntax for the top-level command. + * + * @param {string} desc + * @returns {Command} for chaining + */ + arguments(desc: string): Command; + + /** + * Parse expected `args`. + * + * For example `["[type]"]` becomes `[{ required: false, name: 'type' }]`. + * + * @param {string[]} args + * @returns {Command} for chaining + */ + parseExpectedArgs(args: string[]): Command; + + /** + * Register callback `fn` for the command. + * + * @example + * program + * .command('help') + * .description('display verbose help') + * .action(function() { + * // output help here + * }); + * + * @param {(...args: any[]) => void} fn + * @returns {Command} for chaining + */ + action(fn: (...args: any[]) => void): Command; + + /** + * Define option with `flags`, `description` and optional + * coercion `fn`. + * + * The `flags` string should contain both the short and long flags, + * separated by comma, a pipe or space. The following are all valid + * all will output this way when `--help` is used. + * + * "-p, --pepper" + * "-p|--pepper" + * "-p --pepper" + * + * @example + * // simple boolean defaulting to false + * program.option('-p, --pepper', 'add pepper'); + * + * --pepper + * program.pepper + * // => Boolean + * + * // simple boolean defaulting to true + * program.option('-C, --no-cheese', 'remove cheese'); + * + * program.cheese + * // => true + * + * --no-cheese + * program.cheese + * // => false + * + * // required argument + * program.option('-C, --chdir <path>', 'change the working directory'); + * + * --chdir /tmp + * program.chdir + * // => "/tmp" + * + * // optional argument + * program.option('-c, --cheese [type]', 'add cheese [marble]'); + * + * @param {string} flags + * @param {string} [description] + * @param {((arg1: any, arg2: any) => void) | RegExp} [fn] function or default + * @param {*} [defaultValue] + * @returns {Command} for chaining + */ + option(flags: string, description?: string, fn?: ((arg1: any, arg2: any) => void) | RegExp, defaultValue?: any): Command; + option(flags: string, description?: string, defaultValue?: any): Command; + + /** + * Allow unknown options on the command line. + * + * @param {boolean} [arg] if `true` or omitted, no error will be thrown for unknown options. + * @returns {Command} for chaining + */ + allowUnknownOption(arg?: boolean): Command; + + /** + * Parse `argv`, settings options and invoking commands when defined. + * + * @param {string[]} argv + * @returns {Command} for chaining + */ + parse(argv: string[]): Command; + + /** + * Parse options from `argv` returning `argv` void of these options. + * + * @param {string[]} argv + * @returns {ParseOptionsResult} + */ + parseOptions(argv: string[]): commander.ParseOptionsResult; + + /** + * Return an object containing options as key-value pairs + * + * @returns {{[key: string]: any}} + */ + opts(): { [key: string]: any }; + + /** + * Set the description to `str`. + * + * @param {string} str + * @return {(Command | string)} + */ + description(str: string): Command; + description(): string; + + /** + * Set an alias for the command. + * + * @param {string} alias + * @return {(Command | string)} + */ + alias(alias: string): Command; + alias(): string; + + /** + * Set or get the command usage. + * + * @param {string} str + * @return {(Command | string)} + */ + usage(str: string): Command; + usage(): string; + + /** + * Set the name of the command. + * + * @param {string} str + * @return {Command} + */ + name(str: string): Command; + + /** + * Get the name of the command. + * + * @return {string} + */ + name(): string; + + /** + * Output help information for this command. + * + * @param {(str: string) => string} [cb] + */ + outputHelp(cb?: (str: string) => string): void; + + /** Output help information and exit. + * + * @param {(str: string) => string} [cb] + */ + help(cb?: (str: string) => string): never; + } + +} + +declare namespace commander { + + type Command = local.Command + + type Option = local.Option + + interface CommandOptions { + noHelp?: boolean; + isDefault?: boolean; + } + + interface ParseOptionsResult { + args: string[]; + unknown: string[]; + } + + interface CommanderStatic extends Command { + Command: typeof local.Command; + Option: typeof local.Option; + CommandOptions: CommandOptions; + ParseOptionsResult: ParseOptionsResult; + } + +} + +declare const commander: commander.CommanderStatic; +export = commander; diff --git a/node_modules/vuepress/node_modules/cross-spawn/CHANGELOG.md b/node_modules/vuepress/node_modules/cross-spawn/CHANGELOG.md new file mode 100644 index 00000000..ded9620b --- /dev/null +++ b/node_modules/vuepress/node_modules/cross-spawn/CHANGELOG.md @@ -0,0 +1,100 @@ +# Change Log + +All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + +<a name="6.0.5"></a> +## [6.0.5](https://github.com/moxystudio/node-cross-spawn/compare/v6.0.4...v6.0.5) (2018-03-02) + + +### Bug Fixes + +* avoid using deprecated Buffer constructor ([#94](https://github.com/moxystudio/node-cross-spawn/issues/94)) ([d5770df](https://github.com/moxystudio/node-cross-spawn/commit/d5770df)), closes [/nodejs.org/api/deprecations.html#deprecations_dep0005](https://github.com//nodejs.org/api/deprecations.html/issues/deprecations_dep0005) + + + +<a name="6.0.4"></a> +## [6.0.4](https://github.com/moxystudio/node-cross-spawn/compare/v6.0.3...v6.0.4) (2018-01-31) + + +### Bug Fixes + +* fix paths being incorrectly normalized on unix ([06ee3c6](https://github.com/moxystudio/node-cross-spawn/commit/06ee3c6)), closes [#90](https://github.com/moxystudio/node-cross-spawn/issues/90) + + + +<a name="6.0.3"></a> +## [6.0.3](https://github.com/moxystudio/node-cross-spawn/compare/v6.0.2...v6.0.3) (2018-01-23) + + + +<a name="6.0.2"></a> +## [6.0.2](https://github.com/moxystudio/node-cross-spawn/compare/v6.0.1...v6.0.2) (2018-01-23) + + + +<a name="6.0.1"></a> +## [6.0.1](https://github.com/moxystudio/node-cross-spawn/compare/v6.0.0...v6.0.1) (2018-01-23) + + + +<a name="6.0.0"></a> +# [6.0.0](https://github.com/moxystudio/node-cross-spawn/compare/5.1.0...6.0.0) (2018-01-23) + + +### Bug Fixes + +* fix certain arguments not being correctly escaped or causing batch syntax error ([900cf10](https://github.com/moxystudio/node-cross-spawn/commit/900cf10)), closes [#82](https://github.com/moxystudio/node-cross-spawn/issues/82) [#51](https://github.com/moxystudio/node-cross-spawn/issues/51) +* fix commands as posix relatixe paths not working correctly, e.g.: `./my-command` ([900cf10](https://github.com/moxystudio/node-cross-spawn/commit/900cf10)) +* fix `options` argument being mutated ([900cf10](https://github.com/moxystudio/node-cross-spawn/commit/900cf10)) +* fix commands resolution when PATH was actually Path ([900cf10](https://github.com/moxystudio/node-cross-spawn/commit/900cf10)) + + +### Features + +* improve compliance with node's ENOENT errors ([900cf10](https://github.com/moxystudio/node-cross-spawn/commit/900cf10)) +* improve detection of node's shell option support ([900cf10](https://github.com/moxystudio/node-cross-spawn/commit/900cf10)) + + +### Chores + +* upgrade tooling +* upgrate project to es6 (node v4) + + +### BREAKING CHANGES + +* remove support for older nodejs versions, only `node >= 4` is supported + + +<a name="5.1.0"></a> +## [5.1.0](https://github.com/moxystudio/node-cross-spawn/compare/5.0.1...5.1.0) (2017-02-26) + + +### Bug Fixes + +* fix `options.shell` support for NodeJS [v4.8](https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V4.md#4.8.0) + + +<a name="5.0.1"></a> +## [5.0.1](https://github.com/moxystudio/node-cross-spawn/compare/5.0.0...5.0.1) (2016-11-04) + + +### Bug Fixes + +* fix `options.shell` support for NodeJS v7 + + +<a name="5.0.0"></a> +# [5.0.0](https://github.com/moxystudio/node-cross-spawn/compare/4.0.2...5.0.0) (2016-10-30) + + +## Features + +* add support for `options.shell` +* improve parsing of shebangs by using [`shebang-command`](https://github.com/kevva/shebang-command) module + + +## Chores + +* refactor some code to make it more clear +* update README caveats diff --git a/node_modules/vuepress/node_modules/cross-spawn/LICENSE b/node_modules/vuepress/node_modules/cross-spawn/LICENSE new file mode 100644 index 00000000..8407b9a3 --- /dev/null +++ b/node_modules/vuepress/node_modules/cross-spawn/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2018 Made With MOXY Lda <hello@moxy.studio> + +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. diff --git a/node_modules/vuepress/node_modules/cross-spawn/README.md b/node_modules/vuepress/node_modules/cross-spawn/README.md new file mode 100644 index 00000000..e895cd7a --- /dev/null +++ b/node_modules/vuepress/node_modules/cross-spawn/README.md @@ -0,0 +1,94 @@ +# cross-spawn + +[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Build status][appveyor-image]][appveyor-url] [![Coverage Status][codecov-image]][codecov-url] [![Dependency status][david-dm-image]][david-dm-url] [![Dev Dependency status][david-dm-dev-image]][david-dm-dev-url] [![Greenkeeper badge][greenkeeper-image]][greenkeeper-url] + +[npm-url]:https://npmjs.org/package/cross-spawn +[downloads-image]:http://img.shields.io/npm/dm/cross-spawn.svg +[npm-image]:http://img.shields.io/npm/v/cross-spawn.svg +[travis-url]:https://travis-ci.org/moxystudio/node-cross-spawn +[travis-image]:http://img.shields.io/travis/moxystudio/node-cross-spawn/master.svg +[appveyor-url]:https://ci.appveyor.com/project/satazor/node-cross-spawn +[appveyor-image]:https://img.shields.io/appveyor/ci/satazor/node-cross-spawn/master.svg +[codecov-url]:https://codecov.io/gh/moxystudio/node-cross-spawn +[codecov-image]:https://img.shields.io/codecov/c/github/moxystudio/node-cross-spawn/master.svg +[david-dm-url]:https://david-dm.org/moxystudio/node-cross-spawn +[david-dm-image]:https://img.shields.io/david/moxystudio/node-cross-spawn.svg +[david-dm-dev-url]:https://david-dm.org/moxystudio/node-cross-spawn?type=dev +[david-dm-dev-image]:https://img.shields.io/david/dev/moxystudio/node-cross-spawn.svg +[greenkeeper-image]:https://badges.greenkeeper.io/moxystudio/node-cross-spawn.svg +[greenkeeper-url]:https://greenkeeper.io/ + +A cross platform solution to node's spawn and spawnSync. + + +## Installation + +`$ npm install cross-spawn` + + +## Why + +Node has issues when using spawn on Windows: + +- It ignores [PATHEXT](https://github.com/joyent/node/issues/2318) +- It does not support [shebangs](https://en.wikipedia.org/wiki/Shebang_(Unix)) +- Has problems running commands with [spaces](https://github.com/nodejs/node/issues/7367) +- Has problems running commands with posix relative paths (e.g.: `./my-folder/my-executable`) +- Has an [issue](https://github.com/moxystudio/node-cross-spawn/issues/82) with command shims (files in `node_modules/.bin/`), where arguments with quotes and parenthesis would result in [invalid syntax error](https://github.com/moxystudio/node-cross-spawn/blob/e77b8f22a416db46b6196767bcd35601d7e11d54/test/index.test.js#L149) +- No `options.shell` support on node `<v4.8` + +All these issues are handled correctly by `cross-spawn`. +There are some known modules, such as [win-spawn](https://github.com/ForbesLindesay/win-spawn), that try to solve this but they are either broken or provide faulty escaping of shell arguments. + + +## Usage + +Exactly the same way as node's [`spawn`](https://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options) or [`spawnSync`](https://nodejs.org/api/child_process.html#child_process_child_process_spawnsync_command_args_options), so it's a drop in replacement. + + +```js +const spawn = require('cross-spawn'); + +// Spawn NPM asynchronously +const child = spawn('npm', ['list', '-g', '-depth', '0'], { stdio: 'inherit' }); + +// Spawn NPM synchronously +const result = spawn.sync('npm', ['list', '-g', '-depth', '0'], { stdio: 'inherit' }); +``` + + +## Caveats + +### Using `options.shell` as an alternative to `cross-spawn` + +Starting from node `v4.8`, `spawn` has a `shell` option that allows you run commands from within a shell. This new option solves +the [PATHEXT](https://github.com/joyent/node/issues/2318) issue but: + +- It's not supported in node `<v4.8` +- You must manually escape the command and arguments which is very error prone, specially when passing user input +- There are a lot of other unresolved issues from the [Why](#why) section that you must take into account + +If you are using the `shell` option to spawn a command in a cross platform way, consider using `cross-spawn` instead. You have been warned. + +### `options.shell` support + +While `cross-spawn` adds support for `options.shell` in node `<v4.8`, all of its enhancements are disabled. + +This mimics the Node.js behavior. More specifically, the command and its arguments will not be automatically escaped nor shebang support will be offered. This is by design because if you are using `options.shell` you are probably targeting a specific platform anyway and you don't want things to get into your way. + +### Shebangs support + +While `cross-spawn` handles shebangs on Windows, its support is limited. More specifically, it just supports `#!/usr/bin/env <program>` where `<program>` must not contain any arguments. +If you would like to have the shebang support improved, feel free to contribute via a pull-request. + +Remember to always test your code on Windows! + + +## Tests + +`$ npm test` +`$ npm test -- --watch` during development + +## License + +Released under the [MIT License](http://www.opensource.org/licenses/mit-license.php). diff --git a/node_modules/vuepress/node_modules/cross-spawn/index.js b/node_modules/vuepress/node_modules/cross-spawn/index.js new file mode 100644 index 00000000..5509742c --- /dev/null +++ b/node_modules/vuepress/node_modules/cross-spawn/index.js @@ -0,0 +1,39 @@ +'use strict'; + +const cp = require('child_process'); +const parse = require('./lib/parse'); +const enoent = require('./lib/enoent'); + +function spawn(command, args, options) { + // Parse the arguments + const parsed = parse(command, args, options); + + // Spawn the child process + const spawned = cp.spawn(parsed.command, parsed.args, parsed.options); + + // Hook into child process "exit" event to emit an error if the command + // does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16 + enoent.hookChildProcess(spawned, parsed); + + return spawned; +} + +function spawnSync(command, args, options) { + // Parse the arguments + const parsed = parse(command, args, options); + + // Spawn the child process + const result = cp.spawnSync(parsed.command, parsed.args, parsed.options); + + // Analyze if the command does not exist, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16 + result.error = result.error || enoent.verifyENOENTSync(result.status, parsed); + + return result; +} + +module.exports = spawn; +module.exports.spawn = spawn; +module.exports.sync = spawnSync; + +module.exports._parse = parse; +module.exports._enoent = enoent; diff --git a/node_modules/vuepress/node_modules/cross-spawn/lib/enoent.js b/node_modules/vuepress/node_modules/cross-spawn/lib/enoent.js new file mode 100644 index 00000000..14df9b62 --- /dev/null +++ b/node_modules/vuepress/node_modules/cross-spawn/lib/enoent.js @@ -0,0 +1,59 @@ +'use strict'; + +const isWin = process.platform === 'win32'; + +function notFoundError(original, syscall) { + return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), { + code: 'ENOENT', + errno: 'ENOENT', + syscall: `${syscall} ${original.command}`, + path: original.command, + spawnargs: original.args, + }); +} + +function hookChildProcess(cp, parsed) { + if (!isWin) { + return; + } + + const originalEmit = cp.emit; + + cp.emit = function (name, arg1) { + // If emitting "exit" event and exit code is 1, we need to check if + // the command exists and emit an "error" instead + // See https://github.com/IndigoUnited/node-cross-spawn/issues/16 + if (name === 'exit') { + const err = verifyENOENT(arg1, parsed, 'spawn'); + + if (err) { + return originalEmit.call(cp, 'error', err); + } + } + + return originalEmit.apply(cp, arguments); // eslint-disable-line prefer-rest-params + }; +} + +function verifyENOENT(status, parsed) { + if (isWin && status === 1 && !parsed.file) { + return notFoundError(parsed.original, 'spawn'); + } + + return null; +} + +function verifyENOENTSync(status, parsed) { + if (isWin && status === 1 && !parsed.file) { + return notFoundError(parsed.original, 'spawnSync'); + } + + return null; +} + +module.exports = { + hookChildProcess, + verifyENOENT, + verifyENOENTSync, + notFoundError, +}; diff --git a/node_modules/vuepress/node_modules/cross-spawn/lib/parse.js b/node_modules/vuepress/node_modules/cross-spawn/lib/parse.js new file mode 100644 index 00000000..962827a9 --- /dev/null +++ b/node_modules/vuepress/node_modules/cross-spawn/lib/parse.js @@ -0,0 +1,125 @@ +'use strict'; + +const path = require('path'); +const niceTry = require('nice-try'); +const resolveCommand = require('./util/resolveCommand'); +const escape = require('./util/escape'); +const readShebang = require('./util/readShebang'); +const semver = require('semver'); + +const isWin = process.platform === 'win32'; +const isExecutableRegExp = /\.(?:com|exe)$/i; +const isCmdShimRegExp = /node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i; + +// `options.shell` is supported in Node ^4.8.0, ^5.7.0 and >= 6.0.0 +const supportsShellOption = niceTry(() => semver.satisfies(process.version, '^4.8.0 || ^5.7.0 || >= 6.0.0', true)) || false; + +function detectShebang(parsed) { + parsed.file = resolveCommand(parsed); + + const shebang = parsed.file && readShebang(parsed.file); + + if (shebang) { + parsed.args.unshift(parsed.file); + parsed.command = shebang; + + return resolveCommand(parsed); + } + + return parsed.file; +} + +function parseNonShell(parsed) { + if (!isWin) { + return parsed; + } + + // Detect & add support for shebangs + const commandFile = detectShebang(parsed); + + // We don't need a shell if the command filename is an executable + const needsShell = !isExecutableRegExp.test(commandFile); + + // If a shell is required, use cmd.exe and take care of escaping everything correctly + // Note that `forceShell` is an hidden option used only in tests + if (parsed.options.forceShell || needsShell) { + // Need to double escape meta chars if the command is a cmd-shim located in `node_modules/.bin/` + // The cmd-shim simply calls execute the package bin file with NodeJS, proxying any argument + // Because the escape of metachars with ^ gets interpreted when the cmd.exe is first called, + // we need to double escape them + const needsDoubleEscapeMetaChars = isCmdShimRegExp.test(commandFile); + + // Normalize posix paths into OS compatible paths (e.g.: foo/bar -> foo\bar) + // This is necessary otherwise it will always fail with ENOENT in those cases + parsed.command = path.normalize(parsed.command); + + // Escape command & arguments + parsed.command = escape.command(parsed.command); + parsed.args = parsed.args.map((arg) => escape.argument(arg, needsDoubleEscapeMetaChars)); + + const shellCommand = [parsed.command].concat(parsed.args).join(' '); + + parsed.args = ['/d', '/s', '/c', `"${shellCommand}"`]; + parsed.command = process.env.comspec || 'cmd.exe'; + parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped + } + + return parsed; +} + +function parseShell(parsed) { + // If node supports the shell option, there's no need to mimic its behavior + if (supportsShellOption) { + return parsed; + } + + // Mimic node shell option + // See https://github.com/nodejs/node/blob/b9f6a2dc059a1062776133f3d4fd848c4da7d150/lib/child_process.js#L335 + const shellCommand = [parsed.command].concat(parsed.args).join(' '); + + if (isWin) { + parsed.command = typeof parsed.options.shell === 'string' ? parsed.options.shell : process.env.comspec || 'cmd.exe'; + parsed.args = ['/d', '/s', '/c', `"${shellCommand}"`]; + parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped + } else { + if (typeof parsed.options.shell === 'string') { + parsed.command = parsed.options.shell; + } else if (process.platform === 'android') { + parsed.command = '/system/bin/sh'; + } else { + parsed.command = '/bin/sh'; + } + + parsed.args = ['-c', shellCommand]; + } + + return parsed; +} + +function parse(command, args, options) { + // Normalize arguments, similar to nodejs + if (args && !Array.isArray(args)) { + options = args; + args = null; + } + + args = args ? args.slice(0) : []; // Clone array to avoid changing the original + options = Object.assign({}, options); // Clone object to avoid changing the original + + // Build our parsed object + const parsed = { + command, + args, + options, + file: undefined, + original: { + command, + args, + }, + }; + + // Delegate further parsing to shell or non-shell + return options.shell ? parseShell(parsed) : parseNonShell(parsed); +} + +module.exports = parse; diff --git a/node_modules/vuepress/node_modules/cross-spawn/lib/util/escape.js b/node_modules/vuepress/node_modules/cross-spawn/lib/util/escape.js new file mode 100644 index 00000000..b0bb84c3 --- /dev/null +++ b/node_modules/vuepress/node_modules/cross-spawn/lib/util/escape.js @@ -0,0 +1,45 @@ +'use strict'; + +// See http://www.robvanderwoude.com/escapechars.php +const metaCharsRegExp = /([()\][%!^"`<>&|;, *?])/g; + +function escapeCommand(arg) { + // Escape meta chars + arg = arg.replace(metaCharsRegExp, '^$1'); + + return arg; +} + +function escapeArgument(arg, doubleEscapeMetaChars) { + // Convert to string + arg = `${arg}`; + + // Algorithm below is based on https://qntm.org/cmd + + // Sequence of backslashes followed by a double quote: + // double up all the backslashes and escape the double quote + arg = arg.replace(/(\\*)"/g, '$1$1\\"'); + + // Sequence of backslashes followed by the end of the string + // (which will become a double quote later): + // double up all the backslashes + arg = arg.replace(/(\\*)$/, '$1$1'); + + // All other backslashes occur literally + + // Quote the whole thing: + arg = `"${arg}"`; + + // Escape meta chars + arg = arg.replace(metaCharsRegExp, '^$1'); + + // Double escape meta chars if necessary + if (doubleEscapeMetaChars) { + arg = arg.replace(metaCharsRegExp, '^$1'); + } + + return arg; +} + +module.exports.command = escapeCommand; +module.exports.argument = escapeArgument; diff --git a/node_modules/vuepress/node_modules/cross-spawn/lib/util/readShebang.js b/node_modules/vuepress/node_modules/cross-spawn/lib/util/readShebang.js new file mode 100644 index 00000000..bd4f1280 --- /dev/null +++ b/node_modules/vuepress/node_modules/cross-spawn/lib/util/readShebang.js @@ -0,0 +1,32 @@ +'use strict'; + +const fs = require('fs'); +const shebangCommand = require('shebang-command'); + +function readShebang(command) { + // Read the first 150 bytes from the file + const size = 150; + let buffer; + + if (Buffer.alloc) { + // Node.js v4.5+ / v5.10+ + buffer = Buffer.alloc(size); + } else { + // Old Node.js API + buffer = new Buffer(size); + buffer.fill(0); // zero-fill + } + + let fd; + + try { + fd = fs.openSync(command, 'r'); + fs.readSync(fd, buffer, 0, size, 0); + fs.closeSync(fd); + } catch (e) { /* Empty */ } + + // Attempt to extract shebang (null is returned if not a shebang) + return shebangCommand(buffer.toString()); +} + +module.exports = readShebang; diff --git a/node_modules/vuepress/node_modules/cross-spawn/lib/util/resolveCommand.js b/node_modules/vuepress/node_modules/cross-spawn/lib/util/resolveCommand.js new file mode 100644 index 00000000..2fd5ad27 --- /dev/null +++ b/node_modules/vuepress/node_modules/cross-spawn/lib/util/resolveCommand.js @@ -0,0 +1,47 @@ +'use strict'; + +const path = require('path'); +const which = require('which'); +const pathKey = require('path-key')(); + +function resolveCommandAttempt(parsed, withoutPathExt) { + const cwd = process.cwd(); + const hasCustomCwd = parsed.options.cwd != null; + + // If a custom `cwd` was specified, we need to change the process cwd + // because `which` will do stat calls but does not support a custom cwd + if (hasCustomCwd) { + try { + process.chdir(parsed.options.cwd); + } catch (err) { + /* Empty */ + } + } + + let resolved; + + try { + resolved = which.sync(parsed.command, { + path: (parsed.options.env || process.env)[pathKey], + pathExt: withoutPathExt ? path.delimiter : undefined, + }); + } catch (e) { + /* Empty */ + } finally { + process.chdir(cwd); + } + + // If we successfully resolved, ensure that an absolute path is returned + // Note that when a custom `cwd` was used, we need to resolve to an absolute path based on it + if (resolved) { + resolved = path.resolve(hasCustomCwd ? parsed.options.cwd : '', resolved); + } + + return resolved; +} + +function resolveCommand(parsed) { + return resolveCommandAttempt(parsed) || resolveCommandAttempt(parsed, true); +} + +module.exports = resolveCommand; diff --git a/node_modules/vuepress/node_modules/cross-spawn/node_modules/.bin/semver b/node_modules/vuepress/node_modules/cross-spawn/node_modules/.bin/semver new file mode 120000 index 00000000..0d2f8fff --- /dev/null +++ b/node_modules/vuepress/node_modules/cross-spawn/node_modules/.bin/semver @@ -0,0 +1 @@ +../../../../../semver/bin/semver
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/cross-spawn/node_modules/.bin/which b/node_modules/vuepress/node_modules/cross-spawn/node_modules/.bin/which new file mode 120000 index 00000000..8bc48ab0 --- /dev/null +++ b/node_modules/vuepress/node_modules/cross-spawn/node_modules/.bin/which @@ -0,0 +1 @@ +../../../../../which/bin/which
\ No newline at end of file diff --git a/node_modules/vuepress/node_modules/cross-spawn/package.json b/node_modules/vuepress/node_modules/cross-spawn/package.json new file mode 100644 index 00000000..1a69be8c --- /dev/null +++ b/node_modules/vuepress/node_modules/cross-spawn/package.json @@ -0,0 +1,76 @@ +{ + "name": "cross-spawn", + "version": "6.0.5", + "description": "Cross platform child_process#spawn and child_process#spawnSync", + "keywords": [ + "spawn", + "spawnSync", + "windows", + "cross-platform", + "path-ext", + "shebang", + "cmd", + "execute" + ], + "author": "André Cruz <andre@moxy.studio>", + "homepage": "https://github.com/moxystudio/node-cross-spawn", + "repository": { + "type": "git", + "url": "git@github.com:moxystudio/node-cross-spawn.git" + }, + "license": "MIT", + "main": "index.js", + "files": [ + "lib" + ], + "scripts": { + "lint": "eslint .", + "test": "jest --env node --coverage", + "prerelease": "npm t && npm run lint", + "release": "standard-version", + "precommit": "lint-staged", + "commitmsg": "commitlint -e $GIT_PARAMS" + }, + "standard-version": { + "scripts": { + "posttag": "git push --follow-tags origin master && npm publish" + } + }, + "lint-staged": { + "*.js": [ + "eslint --fix", + "git add" + ] + }, + "commitlint": { + "extends": [ + "@commitlint/config-conventional" + ] + }, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "devDependencies": { + "@commitlint/cli": "^6.0.0", + "@commitlint/config-conventional": "^6.0.2", + "babel-core": "^6.26.0", + "babel-jest": "^22.1.0", + "babel-preset-moxy": "^2.2.1", + "eslint": "^4.3.0", + "eslint-config-moxy": "^5.0.0", + "husky": "^0.14.3", + "jest": "^22.0.0", + "lint-staged": "^7.0.0", + "mkdirp": "^0.5.1", + "regenerator-runtime": "^0.11.1", + "rimraf": "^2.6.2", + "standard-version": "^4.2.0" + }, + "engines": { + "node": ">=4.8" + } +} diff --git a/node_modules/vuepress/package.json b/node_modules/vuepress/package.json new file mode 100644 index 00000000..afdec215 --- /dev/null +++ b/node_modules/vuepress/package.json @@ -0,0 +1,120 @@ +{ + "name": "vuepress", + "version": "0.14.4", + "description": "Minimalistic doc generator with Vue component based layout system", + "main": "lib/index.js", + "bin": { + "vuepress": "bin/vuepress.js" + }, + "scripts": { + "dev": "node bin/vuepress dev docs", + "build": "node bin/vuepress build docs", + "lint": "eslint --fix --ext .js,.vue bin/ lib/ test/", + "prepublishOnly": "conventional-changelog -p angular -r 2 -i CHANGELOG.md -s", + "release": "/bin/bash scripts/release.sh", + "test": "node test/prepare.js && jest --config test/jest.config.js" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/vuepress.git" + }, + "keywords": [ + "documentation", + "vue", + "generator" + ], + "author": "Evan You", + "license": "MIT", + "bugs": { + "url": "https://github.com/vuejs/vuepress/issues" + }, + "homepage": "https://github.com/vuejs/vuepress#readme", + "gitHooks": { + "pre-commit": "lint-staged" + }, + "lint-staged": { + "*.{js,vue}": [ + "eslint --fix", + "git add" + ] + }, + "dependencies": { + "@babel/core": "7.0.0-beta.47", + "@vue/babel-preset-app": "3.0.0-beta.11", + "autoprefixer": "^8.2.0", + "babel-loader": "8.0.0-beta.3", + "cache-loader": "^1.2.2", + "chalk": "^2.3.2", + "chokidar": "^2.0.3", + "commander": "^2.15.1", + "connect-history-api-fallback": "^1.5.0", + "copy-webpack-plugin": "^4.5.1", + "cross-spawn": "^6.0.5", + "css-loader": "^0.28.11", + "diacritics": "^1.3.0", + "docsearch.js": "^2.5.2", + "escape-html": "^1.0.3", + "file-loader": "^1.1.11", + "fs-extra": "^5.0.0", + "globby": "^8.0.1", + "gray-matter": "^4.0.1", + "js-yaml": "^3.11.0", + "koa-connect": "^2.0.1", + "koa-mount": "^3.0.0", + "koa-range": "^0.3.0", + "koa-static": "^4.0.2", + "loader-utils": "^1.1.0", + "lodash.throttle": "^4.1.1", + "lru-cache": "^4.1.2", + "markdown-it": "^8.4.1", + "markdown-it-anchor": "^5.0.2", + "markdown-it-container": "^2.0.0", + "markdown-it-emoji": "^1.4.0", + "markdown-it-table-of-contents": "^0.4.0", + "mini-css-extract-plugin": "^0.4.1", + "nprogress": "^0.2.0", + "optimize-css-assets-webpack-plugin": "^4.0.0", + "portfinder": "^1.0.13", + "postcss-loader": "^2.1.5", + "prismjs": "^1.13.0", + "register-service-worker": "^1.5.1", + "semver": "^5.5.0", + "stylus": "^0.54.5", + "stylus-loader": "^3.0.2", + "toml": "^2.3.3", + "url-loader": "^1.0.1", + "vue": "^2.5.16", + "vue-loader": "^15.2.4", + "vue-router": "^3.0.1", + "vue-server-renderer": "^2.5.16", + "vue-template-compiler": "^2.5.16", + "vuepress-html-webpack-plugin": "^3.2.0", + "webpack": "^4.8.1", + "webpack-chain": "^4.6.0", + "webpack-merge": "^4.1.2", + "webpack-serve": "^1.0.2", + "webpackbar": "^2.6.1", + "workbox-build": "^3.1.0" + }, + "devDependencies": { + "@vue/test-utils": "^1.0.0-beta.16", + "babel-core": "^7.0.0-0", + "babel-jest": "^23.0.0", + "conventional-changelog-cli": "^1.3.22", + "eslint": "^4.19.1", + "eslint-plugin-jest": "^21.15.1", + "eslint-plugin-vue-libs": "^3.0.0", + "jest": "^23.0.0", + "jest-serializer-vue": "^1.0.0", + "lint-staged": "^7.0.4", + "vue-jest": "^2.6.0", + "vuepress-theme-vue": "^1.1.0", + "yorkie": "^1.0.3" + }, + "engines": { + "node": ">=8" + }, + "browserslist": [ + ">1%" + ] +} |
